3 commits - imgcreate/yuminst.py livecd-tools.spec Makefile tools/livecd-iso-to-disk.sh
by Jeremy Katz
Makefile | 2 +-
imgcreate/yuminst.py | 10 ++++++++--
livecd-tools.spec | 14 +++++++++++++-
tools/livecd-iso-to-disk.sh | 2 +-
4 files changed, 23 insertions(+), 5 deletions(-)
New commits:
commit 0354c22595f761c8046767be816a281c6e288ae8
Author: Jeremy Katz <katzj(a)redhat.com>
Date: Fri Oct 10 10:23:31 2008 -0400
Bump version.
diff --git a/Makefile b/Makefile
index 05993c6..a463fc5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 018
+VERSION = 019
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
diff --git a/livecd-tools.spec b/livecd-tools.spec
index 2df16df..681f6cf 100644
--- a/livecd-tools.spec
+++ b/livecd-tools.spec
@@ -4,7 +4,7 @@
Summary: Tools for building live CD's
Name: livecd-tools
-Version: 018
+Version: 019
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Base
@@ -64,6 +64,18 @@ rm -rf $RPM_BUILD_ROOT
%{python_sitelib}/imgcreate/*.pyc
%changelog
+* Fri Oct 10 2008 Jeremy Katz <katzj(a)redhat.com> - 019-1
+- livecd-iso-to-disk: Various other XO fixes
+- Cleanup rpmdb locks after package installation
+- Fix traceback due to lazy rhpl.keyboard import
+- Fix using groups with options (jkeating)
+- Support persistent /home on XO's internal flash
+- Fix ramdisk load addr in boot/olpc.fth for XO
+- Fix up boot from SD
+- Fix extracting boot parameters for pxe (apevec)
+- Make rpm macro information persist into the image (bkearney)
+- Support %packages --instLangs (bkearney)
+
* Thu Aug 28 2008 Jeremy Katz <katzj(a)redhat.com> - 018-1
- Use logging API for debugging messages (dhuff)
- Some initial support for booting live images on an XO
commit c80a302bda3cc1fc55fac088613bbaa86467fe86
Author: Jeremy Katz <katzj(a)redhat.com>
Date: Fri Oct 10 10:18:19 2008 -0400
Clean up rpmdb locks after installing packages also
With new versions of RPM, people can otherwise run into things they don't
expect inside of their %post scripts. So make things simpler for them
diff --git a/imgcreate/yuminst.py b/imgcreate/yuminst.py
index b89a6ed..04c9b40 100644
--- a/imgcreate/yuminst.py
+++ b/imgcreate/yuminst.py
@@ -69,10 +69,15 @@ class LiveCDYum(yum.YumBase):
os.chmod(confpath, 0644)
- def setup(self, confpath, installroot):
- self._writeConf(confpath, installroot)
+ def _cleanupRpmdbLocks(self, installroot):
+ # cleans up temporary files left by bdb so that differing
+ # versions of rpm don't cause problems
for f in glob.glob(installroot + "/var/lib/rpm/__db*"):
os.unlink(f)
+
+ def setup(self, confpath, installroot):
+ self._writeConf(confpath, installroot)
+ self._cleanupRpmdbLocks(installroot)
self.doConfigSetup(fn = confpath, root = installroot)
self.conf.cache = 0
self.doTsSetup()
@@ -186,4 +191,5 @@ class LiveCDYum(yum.YumBase):
cb.filelog = False
ret = self.runTransaction(cb)
print ""
+ self._cleanupRpmdbLocks(self.conf.installroot)
return ret
commit 742a7c5a1806362a927c70ed4cd79ddfb29ce9c4
Author: Jeremy Katz <katzj(a)redhat.com>
Date: Thu Oct 9 00:11:56 2008 -0400
Fix typo with --extra-kernel-args
diff --git a/tools/livecd-iso-to-disk.sh b/tools/livecd-iso-to-disk.sh
index f385dcb..d48f922 100755
--- a/tools/livecd-iso-to-disk.sh
+++ b/tools/livecd-iso-to-disk.sh
@@ -444,7 +444,7 @@ fi
echo "Updating boot config file"
# adjust label and fstype
sed -i -e "s/CDLABEL=[^ ]*/$USBLABEL/" -e "s/rootfstype=[^ ]*/rootfstype=$USBFS/" $BOOTCONFIG
-if [ -n "$kernelargs" ]; then sed -i -e "s/liveimg/liveimg ${kernelargs}/" $BOOTCONFIG.cfg ; fi
+if [ -n "$kernelargs" ]; then sed -i -e "s/liveimg/liveimg ${kernelargs}/" $BOOTCONFIG ; fi
if [ -n "$overlaysizemb" ]; then
echo "Initializing persistent overlay file"
15 years, 6 months
Changes to 'refs/tags/livecd-tools-019'
by Jeremy Katz
Tag 'livecd-tools-019' created by Jeremy Katz <katzj(a)redhat.com> at 2008-10-10 14:23 +0000
livecd-tools-019
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEABECAAYFAkjvZX4ACgkQbZmr36XllQ2ACACgx/HdLcNqsti/oqqRZxcRMyMZ
0i0An0Buu2GqS+3SbPRiFmq9Wj2ZeFgM
=xXvx
-----END PGP SIGNATURE-----
Changes since livecd-tools-018-17:
---
0 files changed
---
15 years, 6 months
umount: device is busy / cannot unlink ks-script
by Orion Poplawski
I'm trying to build a livecd with a custom ks file and getting:
/sbin/restorecon reset
/root/.gconf/desktop/gnome/url-handlers/%gconf.xml context
unconfined_u:object_r:admin_home_t:s0->system_u:object_r:admin_home_t:s0
umount: /export/data1/tmp/imgcreate-OUBckN/install_root: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
ioctl: LOOP_CLR_FD: Device or resource busy
Traceback (most recent call last):
File "/usr/bin/livecd-creator", line 136, in <module>
sys.exit(main())
File "/usr/bin/livecd-creator", line 120, in main
creator.configure()
File "//usr/lib/python2.5/site-packages/imgcreate/creator.py", line
727, in configure
self.__run_post_scripts()
File "//usr/lib/python2.5/site-packages/imgcreate/creator.py", line
699, in __run_post_scripts
os.unlink(path)
OSError: [Errno 2] No such file or directory:
'/export/data1/tmp/imgcreate-OUBckN/install_root/tmp/ks-script-Gs6hh4'
[root@test data1]# fuser -m /export/data1/tmp/imgcreate-OUBckN/install_root
[root@test data1]# lsof | grep install_root
[root@test data1]# umount /export/data1/tmp/imgcreate-OUBckN/install_root
umount: /export/data1/tmp/imgcreate-OUBckN/install_root: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
?
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane orion(a)cora.nwra.com
Boulder, CO 80301 http://www.cora.nwra.com
15 years, 6 months
Fedora on eeep, from live-cd
by Anne Wilson
Some time back I installed F9 from a kde live-cd onto a pen-drive, for use
with my eeepc. Once in, I created myself as a user, then removed the fedora
user. However, on boot, it still looks for fedora.
It doesn't interfere with my login, but is a nuisance, and not something I
want strangers to see. Is there any way to stop this happening?
Anne
15 years, 6 months
2 commits - imgcreate/kickstart.py livecd-tools.spec
by Jeremy Katz
imgcreate/kickstart.py | 3 ++-
livecd-tools.spec | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit b8087f6e52deb6ff3d2c3d445fc82cdbf9e85c39
Author: Jeremy Katz <katzj(a)redhat.com>
Date: Wed Oct 8 09:17:11 2008 -0400
Don't lazily import rhpl.keyboard
Lazily importing rhpl.keyboard can have some odd chroot impacts, so stop
doing so and also be sure that we explicitly require rhpl
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 278ac72..d911925 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -23,6 +23,8 @@ import subprocess
import time
import logging
+import rhpl.keyboard
+
import pykickstart.commands as kscommands
import pykickstart.constants as ksconstants
import pykickstart.errors as kserrors
@@ -133,7 +135,6 @@ class KeyboardConfig(KickstartConfig):
# should this impact the X keyboard config too?
# or do we want to make X be able to do this mapping?
#
- import rhpl.keyboard
k = rhpl.keyboard.Keyboard()
if kskeyboard.keyboard:
k.set(kskeyboard.keyboard)
diff --git a/livecd-tools.spec b/livecd-tools.spec
index c08e2dd..2df16df 100644
--- a/livecd-tools.spec
+++ b/livecd-tools.spec
@@ -20,6 +20,7 @@ Requires: squashfs-tools
Requires: pykickstart >= 0.96
Requires: dosfstools >= 2.11-8
Requires: isomd5sum
+Requires: rhpl
%ifarch %{ix86} x86_64
Requires: syslinux
%endif
commit 86577e6c20e6ff4347530682955b7c898e6b9545
Author: Jeremy Katz <katzj(a)redhat.com>
Date: Wed Oct 8 09:16:54 2008 -0400
Bump yum version for new API usage
diff --git a/livecd-tools.spec b/livecd-tools.spec
index ab641b8..c08e2dd 100644
--- a/livecd-tools.spec
+++ b/livecd-tools.spec
@@ -14,7 +14,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Requires: util-linux
Requires: coreutils
Requires: e2fsprogs
-Requires: yum >= 3.1.7
+Requires: yum >= 3.2.18
Requires: mkisofs
Requires: squashfs-tools
Requires: pykickstart >= 0.96
15 years, 6 months
imgcreate/yuminst.py
by Jeremy Katz
imgcreate/yuminst.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
New commits:
commit 74a5bc4cb1bb392ce1f8b59e76ffade8f505ae9c
Author: Jesse Keating <jkeating(a)redhat.com>
Date: Tue Oct 7 16:42:44 2008 -0700
Fix a bug with getting groups with options (@foo --optional).
New yum api (in 3.2.x) allows us to pass into selectGroups what set we
want from the group. The default is mandatory and default.
Use that unless we have options from kickstart for either
optional packages (IE everything in the group) or just the
default packages of the group.
This also allows us to just get the right packages the first time
rather than getting packages and then pruning/adding as necessary.
Less trips through the yum stack, which is a good thing.
diff --git a/imgcreate/yuminst.py b/imgcreate/yuminst.py
index a7b04b6..b89a6ed 100644
--- a/imgcreate/yuminst.py
+++ b/imgcreate/yuminst.py
@@ -110,11 +110,14 @@ class LiveCDYum(yum.YumBase):
logging.warn("No such package %s to remove" %(pkg,))
def selectGroup(self, grp, include = pykickstart.parser.GROUP_DEFAULT):
- yum.YumBase.selectGroup(self, grp)
+ # default to getting mandatory and default packages from a group
+ # unless we have specific options from kickstart
+ package_types = ['mandatory', 'default']
if include == pykickstart.parser.GROUP_REQUIRED:
- map(lambda p: self.deselectPackage(p), grp.default_packages.keys())
+ package_types.remove('default')
elif include == pykickstart.parser.GROUP_ALL:
- map(lambda p: self.selectPackage(p), grp.optional_packages.keys())
+ package_types.append('optional')
+ yum.YumBase.selectGroup(self, grp, group_package_types=package_types)
def addRepository(self, name, url = None, mirrorlist = None):
def _varSubstitute(option):
15 years, 6 months
@group --something support is broken
by Jesse Keating
Looking at the code, I don't think this ever worked quite right, and
there is a bit of API confusion.
From yuminst.py:
def selectGroup(self, grp, include = pykickstart.parser.GROUP_DEFAULT):
yum.YumBase.selectGroup(self, grp)
if include == pykickstart.parser.GROUP_REQUIRED:
map(lambda p: self.deselectPackage(p), grp.default_packages.keys())
elif include == pykickstart.parser.GROUP_ALL:
map(lambda p: self.selectPackage(p), grp.optional_packages.keys())
There is a bit of a problem in this function. 'grp' right now is being
passed in (via creator.py) as a string that is the group name, and that
works great for the first line of the function, where yum expects a
string for selectGroup. However if there were options passed to the
group and we have to fetch values, we try to call
'grp.default_packages.keys()' or optional_packages. A string doesn't
have those attributes, but a pykickstart group object does.
Fixing this is easy, just make 'grp' the actual pykickstart group
object. In fact, if we did that, we could do away with the second
argument, include =. That would be the most simple fix, but that would
break API. Even just changing 'grp' to be expected to be a pykickstart
group object could be seen as an API break. I don't really see a way to
fix this without some sort of API change, unless we add yet another
keyword argument to the function that is the pykickstart object, and
declare that unless you pass that third option, you don't get --foo
support for your groups. Not that it ever worked anyway.
Other options are create a new function all together, which adds to the
API, and callers that want groups with options can use the new call, or
we could try to detect what object 'grp' is within the existing function
and operate accordingly (although I don't see how you can pass in a
string and still make --foo options work, at least not without a lot of
extra yum object calls to get the group and get the optional/all
members).
Since this is a sticky fix, I thought I'd post to the list for
discussion before working on a patch. Thoughts?
--
Jesse Keating
Fedora -- Freedom² is a feature!
identi.ca: http://identi.ca/jkeating
15 years, 6 months
Xorg keyboard patch
by Pedro Silva
Hi!
Hinted by Evdev and new gdm options, I tested gnome based kickstart
files from git without the xorg keyboard patch and it works. I can
sucessfully choose a portuguese keyboard in gdm and after entering in a
gnome session, applications correctly detect my keyboard. Also, gdm is
presented in portuguese language.
I committed these changes to pt_PT kickstart files based on gnome. I
also fixed the template/patch for pt_PT language.
Hopefully, I will have the same results on all pt_PT ks files and the
patch is no longer needed. GDM looks great with those new features. :)
Best regards,
Pedro Silva
15 years, 6 months
Re-using cache between i386 and x86_64 composes
by Jesse Keating
Maybe this is just a "me" thing and I should use different caches, but
when I try to use the same cachedir and compose i686 and x86_64 images,
I can run into a situation where the repomd.xml for say the 64bit repo
is newer than the repomd.xml for the 32bit repo. This can lead to a
situation where livecd-creator won't pull down the repodata for the
32bit repo after a 64bit run, which will lead to the compose crashing
horribly.
With pungi, I force re-getting all the repodata, regardless of existing
content. It's a little extra downloading but it ensures we always get
the right repodata. Do people think that's what should be done with
livecd-creator, or should I just set up my scripts so that when
composing i686 I use one cache dir, and when composing x86_64 I use
another?
--
Jesse Keating
Fedora -- Freedom² is a feature!
identi.ca: http://identi.ca/jkeating
15 years, 6 months