* Thu Mar 05 2009 David Cantrell <dcantrell@redhat.com> - 11.5.0.25-1

- Schedule device destroy actions for partitions last. (dlehman)
- Pass storage.disks, not storage, to createAllowed.... (#488860) (dlehman)
- Nodev filesystems always exist. And the device is arbitrary. (dlehman)
- Include proc, &c filesystems in fstab and FSSet.{mount/umount}Filesystems.
  (dlehman)
- Remove FSSet.writeFSTab. That job is handled elsewhere. (dlehman)
- Add properties to FSSet to provide the nodev entries. (dlehman)
- Fix incomplete format in Storage.deviceImmutable. (dlehman)
- Make sure we use the same disk the free space is on. (#488807) (dlehman)
- Prevent clobbering of name 'mdraid' by qualifying it. (dlehman)
- Handle unformatted disks and cdroms in Storage.exceptionDisks. (dlehman)
- Add resizeArgs property for resizable filesystems. (dcantrell)
- Fill out class NTFS a bit more. (dcantrell)
- Add fsckProg property to class FS. (dcantrell)
- Ext2FS.migratable(self) -> Ext2FS.migratable (dcantrell)
- Fix StorageDevice.minSize() and PartitionDevice.maxSize() (dcantrell)
- Center resize window on the screen. (dcantrell)
- Do not raise DeviceError if not bootable device is found. (dcantrell)
- Do an even more thorough job of ignoring disks libparted doesn't like.
  (clumens)
- Fix a couple problems on the "Change device" bootloader dialog. (clumens)
- Fix a typo when writing out the mdadm config file. (clumens)
- Remove all uses of isys.cdromList, which no longer exists. (clumens)
- Check to see if we're on S390 on the congrats screen (#488747). (clumens)
- Handle non-fatal errors more gracefully in addUdevDevice. (dlehman)
- partRequests no longer exists, so don't try to import it (#488743).
  (clumens)
- When building the exceptionDisks list, skip devices libparted doesn't
  like. (clumens)
- Iterate over devicetree.devices.values, not devicetree. (dlehman)
- Add a get() method to Flags, since it pretends to be a dictionary.
  (clumens)
- Stop with the fsset usage. (dlehman)
- Format message string after translation not before (msivak)
- We need newer python-cryptsetup because of the default values for cipher
  and keysize for luskFormat (msivak)
- If a drive is not initialized, offer reinitialization or ignoring the
  drive to the user (msivak)
- More syntax errors / traceback fixes (hdegoede)
- Fix syntax errors (rvykydal)
- Implement Storage.sanityCheck, mostly from old partitions code. (dlehman)
This commit is contained in:
David Cantrell 2009-03-06 01:44:43 +00:00
parent aaf153c0cd
commit 749860492e
5 changed files with 47 additions and 338 deletions

View File

@ -1,2 +1,2 @@
anaconda-11.5.0.24.tar.bz2
clog
anaconda-11.5.0.25.tar.bz2

View File

@ -1,156 +0,0 @@
diff --git a/scripts/mk-images.efi b/scripts/mk-images.efi
index 687d76c..7c25950 100644
--- a/scripts/mk-images.efi
+++ b/scripts/mk-images.efi
@@ -53,25 +53,25 @@ makeefibootimage() {
MBD_BOOTTREE=${TMPDIR:-/tmp}/makebootdisk.tree.$$
MBD_BOOTTREE_TMP=$MBD_BOOTTREE'_tmp'
while [ x$(echo $1 | cut -c1-2) = x"--" ]; do
- if [ $1 = "--kernel" ]; then
- KERNELFILE=$2
- shift; shift
- continue
- elif [ $1 = "--initrd" ]; then
- INITRDFILE=$2
- shift; shift
- continue
- elif [ $1 = "--imagename" ]; then
- MBD_FILENAME=$IMAGEPATH/$2
- shift; shift
- continue
- elif [ $1 = "--grubpkg" ]; then
- grubpkg=$2
- shift; shift
- continue
- fi
- echo "Unknown option passed to makebootdisk"
- exit 1
+ if [ $1 = "--kernel" ]; then
+ KERNELFILE=$2
+ shift; shift
+ continue
+ elif [ $1 = "--initrd" ]; then
+ INITRDFILE=$2
+ shift; shift
+ continue
+ elif [ $1 = "--imagename" ]; then
+ MBD_FILENAME=$IMAGEPATH/$2
+ shift; shift
+ continue
+ elif [ $1 = "--grubpkg" ]; then
+ grubpkg=$2
+ shift; shift
+ continue
+ fi
+ echo "Unknown option passed to makebootdisk"
+ exit 1
done
if [ -z "$MBD_FILENAME" ]; then
@@ -79,15 +79,6 @@ makeefibootimage() {
exit 1
fi
- if [ -z "$KERNELFILE" ]; then
- echo "No kernel file passed"
- exit 1
- fi
-
- if [ -z "$INITRDFILE" ]; then
- echo "No initrd file passed"
- exit 1
- fi
MBD_FSIMAGE="$INITRDFILE"
mkdir -p $MBD_BOOTTREE
@@ -110,7 +101,7 @@ makeefibootimage() {
mkdir -p `dirname $MBD_FILENAME`
rm -rf $MBD_TMPIMAGE $MBD_MNTPOINT $MBD_BOOTTREE
- if [ -z "$INITRDFILE" ]; then
+ if [ -z "$INITRDFILE" -a -n "$MBD_FSIMAGE" ]; then
rm -f $MBD_FSIMAGE
fi
@@ -137,8 +128,8 @@ prepareEfiTree() {
mkdir -p $MBD_BOOTTREE_TMP/EFI/boot
cp -a $BOOTDISKDIR/* $MBD_BOOTTREE_TMP/EFI/boot/
- cp $INITRDFILE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img
- cp $KERNELFILE $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz
+ [ -n "$INITRDFILE" ] && cp $INITRDFILE $MBD_BOOTTREE_TMP/EFI/boot/initrd.img
+ [ -n "$KERNELFILE" ] && cp $KERNELFILE $MBD_BOOTTREE_TMP/EFI/boot/vmlinuz
sed -i "s/@PRODUCT@/$PRODUCT/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf
sed -i "s/@VERSION@/$VERSION/g" $MBD_BOOTTREE_TMP/EFI/boot/grub.conf
@@ -165,10 +156,18 @@ prepareEfiTree() {
yumdownloader -c ${yumconf} ${artpkg}
rpm2cpio ${artpkg}.rpm | (cd $KERNELROOT; cpio --quiet -iumd)
cp $KERNELROOT/boot/grub/splash.xpm.gz $MBD_BOOTTREE_TMP/EFI/boot/splash.xpm.gz
+
+ # if we don't have a kernel or initrd, we're making a CD image and we need
+ # to mirror EFI/ to the cd.
+ if [ -z "$KERNELFILE" -a -z "$INITRDFILE" ]; then
+ cp -av $MBD_BOOTTREE_TMP/EFI/ $TOPDESTPATH/EFI/
+ rm -f $TOPDESTPATH/EFI/boot/*.efi
+ fi
}
makeEfiImages() {
yumconf="$1"
+ echo "Making EFI images ($PWD)"
if [ "$kernelvers" != "$kernelxen" ]; then
local grubarch=${efiarch}
case ${efiarch} in
@@ -190,10 +189,24 @@ makeEfiImages() {
--initrd $TOPDESTPATH/images/pxeboot/initrd.img \
--grubpkg ${grubpkg}
local ret=$?
- [ $ret -eq 0 ] || return $ret
+ if [ $ret -ne 0 ]; then
+ echo "makeefibootimage (1) failed" >&2
+ return $ret
+ fi
makeefibootdisk $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/images/efidisk.img
- return $?
+ [ $ret -eq 0 ] || return $ret
+ local ret=$?
+
+ # make a boot image with just boot*.efi in it...
+ makeefibootimage \
+ --imagename pxeboot/efiboot.img \
+ --grubpkg ${grubpkg}
+ local ret=$?
+ if [ $ret -ne 0 ]; then
+ echo "makeefibootimage (2) failed" >&2
+ fi
+ return $ret
fi
- return 1
+ return 0
}
diff --git a/scripts/mk-images.x86 b/scripts/mk-images.x86
index 813d941..fe7a978 100644
--- a/scripts/mk-images.x86
+++ b/scripts/mk-images.x86
@@ -158,11 +158,16 @@ __EOT__
doPostImages() {
if [ -n "$BOOTISO" ]; then
EFIARGS=""
- if [ -f isolinux/efiboot.img ]; then
+ EFIGRAFT=""
+ if [ -f $TOPDESTPATH/images/pxeboot/efiboot.img ]; then
+ cp $TOPDESTPATH/images/pxeboot/efiboot.img $TOPDESTPATH/isolinux/efiboot.img
EFIARGS="-eltorito-alt-boot -e isolinux/efiboot.img -no-emul-boot"
+ EFIGRAFT="EFI/boot=$TOPDESTPATH/EFI/boot"
fi
- mkisofs -o $TOPDESTPATH/images/$BOOTISO -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img
- implantisomd5 $TOPDESTPATH/images/$BOOTISO
+ BIOSARGS="-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
+ echo $PWD:\$ mkisofs -o $TOPDESTPATH/images/$BOOTISO $BIOSARGS $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img $EFIGRAFT
+ mkisofs -o $TOPDESTPATH/images/$BOOTISO $BIOSARGS $EFIARGS -R -J -V "$PRODUCT" -T -graft-points isolinux=$TOPDESTPATH/isolinux images/install.img=$TOPDESTPATH/images/install.img $EFIGRAFT
+ implantisomd5 $TOPDESTPATH/images/$BOOTISO
fi
}

View File

@ -2,8 +2,8 @@
Summary: Graphical system installer
Name: anaconda
Version: 11.5.0.24
Release: 3
Version: 11.5.0.25
Release: 1
License: GPLv2+
Group: Applications/System
URL: http://fedoraproject.org/wiki/Anaconda
@ -14,10 +14,6 @@ URL: http://fedoraproject.org/wiki/Anaconda
# make archive-no-tag
Source0: %{name}-%{version}.tar.bz2
# Patch for EFI CDs
Patch0: anaconda-11.5.0.23-efi-cds.patch
Patch1: late.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Versions of required components (done so we make sure the buildrequires
@ -157,8 +153,6 @@ system. These files are of little use on an already installed system.
%prep
%setup -q
%patch0 -p1
%patch1 -p1 -b .late
%build
%{__make} depend
@ -215,6 +209,49 @@ update-desktop-database &> /dev/null || :
%endif
%changelog
* Thu Mar 05 2009 David Cantrell <dcantrell@redhat.com> - 11.5.0.25-1
- Schedule device destroy actions for partitions last. (dlehman)
- Pass storage.disks, not storage, to createAllowed.... (#488860) (dlehman)
- Nodev filesystems always exist. And the device is arbitrary. (dlehman)
- Include proc, &c filesystems in fstab and FSSet.{mount/umount}Filesystems.
(dlehman)
- Remove FSSet.writeFSTab. That job is handled elsewhere. (dlehman)
- Add properties to FSSet to provide the nodev entries. (dlehman)
- Fix incomplete format in Storage.deviceImmutable. (dlehman)
- Make sure we use the same disk the free space is on. (#488807) (dlehman)
- Prevent clobbering of name 'mdraid' by qualifying it. (dlehman)
- Handle unformatted disks and cdroms in Storage.exceptionDisks. (dlehman)
- Add resizeArgs property for resizable filesystems. (dcantrell)
- Fill out class NTFS a bit more. (dcantrell)
- Add fsckProg property to class FS. (dcantrell)
- Ext2FS.migratable(self) -> Ext2FS.migratable (dcantrell)
- Fix StorageDevice.minSize() and PartitionDevice.maxSize() (dcantrell)
- Center resize window on the screen. (dcantrell)
- Do not raise DeviceError if not bootable device is found. (dcantrell)
- Do an even more thorough job of ignoring disks libparted doesn't like.
(clumens)
- Fix a couple problems on the "Change device" bootloader dialog. (clumens)
- Fix a typo when writing out the mdadm config file. (clumens)
- Remove all uses of isys.cdromList, which no longer exists. (clumens)
- Check to see if we're on S390 on the congrats screen (#488747). (clumens)
- Handle non-fatal errors more gracefully in addUdevDevice. (dlehman)
- partRequests no longer exists, so don't try to import it (#488743).
(clumens)
- When building the exceptionDisks list, skip devices libparted doesn't
like. (clumens)
- Iterate over devicetree.devices.values, not devicetree. (dlehman)
- Add a get() method to Flags, since it pretends to be a dictionary.
(clumens)
- Stop with the fsset usage. (dlehman)
- Format message string after translation not before (msivak)
- We need newer python-cryptsetup because of the default values for cipher
and keysize for luskFormat (msivak)
- If a drive is not initialized, offer reinitialization or ignoring the
drive to the user (msivak)
- More syntax errors / traceback fixes (hdegoede)
- Fix syntax errors (rvykydal)
- Implement Storage.sanityCheck, mostly from old partitions code. (dlehman)
* Thu Mar 5 2009 Dave Lehman <dlehman@redhat.com> - 11.5.0.24-3
- Fix booty's desire to import fsset.
- Fix attempt to set read-only attr "removable" in DiskDevice.__init__

View File

@ -1,172 +0,0 @@
diff -uN playpen/booty/alpha.py anaconda/booty/alpha.py
--- playpen/booty/alpha.py 2009-03-04 20:44:42.000000000 -0600
+++ anaconda/booty/alpha.py 2009-03-05 02:00:39.000000000 -0600
@@ -3,11 +3,11 @@
from booty import BootyNoKernelWarning
from bootloaderInfo import *
-import fsset
+from util import getDiskPart
class alphaBootloaderInfo(bootloaderInfo):
def wholeDevice (self, path):
- (device, foo) = fsset.getDiskPart(path)
+ (device, foo) = getDiskPart(path)
return device
def partitionNum (self, path):
diff -uN playpen/booty/bootloaderInfo.py anaconda/booty/bootloaderInfo.py
--- playpen/booty/bootloaderInfo.py 2009-03-04 20:44:42.000000000 -0600
+++ anaconda/booty/bootloaderInfo.py 2009-03-05 02:00:00.000000000 -0600
@@ -29,13 +29,13 @@
from rhpl.translate import _, N_
from flags import flags
-from fsset import getDiskPart
import iutil
import isys
from product import *
import booty
import checkbootloader
+from util import getDiskPart
if rhpl.getArch() not in ("s390", "s390x"):
import block
diff -uN playpen/booty/checkbootloader.py anaconda/booty/checkbootloader.py
--- playpen/booty/checkbootloader.py 2009-03-04 20:44:42.000000000 -0600
+++ anaconda/booty/checkbootloader.py 2009-03-05 02:00:08.000000000 -0600
@@ -19,7 +19,7 @@
import string
import rhpl
-from fsset import getDiskPart
+from util import getDiskPart
import iutil
grubConfigFile = "/etc/grub.conf"
diff -uN playpen/booty/ppc.py anaconda/booty/ppc.py
--- playpen/booty/ppc.py 2009-03-04 20:44:42.000000000 -0600
+++ anaconda/booty/ppc.py 2009-03-05 01:59:34.000000000 -0600
@@ -2,8 +2,8 @@
import os
from booty import BootyNoKernelWarning
+from util import getDiskPart
from bootloaderInfo import *
-import fsset
import iutil
import rhpl
diff -uN playpen/booty/util.py anaconda/booty/util.py
--- playpen/booty/util.py 1969-12-31 18:00:00.000000000 -0600
+++ anaconda/booty/util.py 2009-03-05 02:29:57.000000000 -0600
@@ -0,0 +1,33 @@
+import string
+
+def getDiskPart(dev):
+ cut = len(dev)
+ if (dev.startswith('rd/') or dev.startswith('ida/') or
+ dev.startswith('cciss/') or dev.startswith('sx8/') or
+ dev.startswith('mapper/') or dev.startswith('mmcblk')):
+ if dev[-2] == 'p':
+ cut = -1
+ elif dev[-3] == 'p':
+ cut = -2
+ else:
+ if dev[-2] in string.digits:
+ cut = -2
+ elif dev[-1] in string.digits:
+ cut = -1
+
+ name = dev[:cut]
+
+ # hack off the trailing 'p' from /dev/cciss/*, for example
+ if name[-1] == 'p':
+ for letter in name:
+ if letter not in string.letters and letter != "/":
+ name = name[:-1]
+ break
+
+ if cut < 0:
+ partNum = int(dev[cut:]) - 1
+ else:
+ partNum = None
+
+ return (name, partNum)
+
diff -uN playpen/booty/x86.py anaconda/booty/x86.py
--- playpen/booty/x86.py 2009-03-04 20:44:42.000000000 -0600
+++ anaconda/booty/x86.py 2009-03-05 01:59:24.000000000 -0600
@@ -2,9 +2,9 @@
import string
from booty import BootyNoKernelWarning
+from util import getDiskPart
from bootloaderInfo import *
import checkbootloader
-import fsset
import iutil
import rhpl
@@ -107,7 +107,7 @@
cmds = []
for bootDev in bootDevs:
gtPart = self.getMatchingPart(bootDev, grubTarget)
- gtDisk = self.grubbyPartitionName(fsset.getDiskPart(gtPart)[0])
+ gtDisk = self.grubbyPartitionName(getDiskPart(gtPart)[0])
bPart = self.grubbyPartitionName(bootDev)
cmd = "root %s\n" % (bPart,)
@@ -316,7 +316,7 @@
devs = usedDevs.keys()
usedDevs = {}
for dev in devs:
- drive = fsset.getDiskPart(dev)[0]
+ drive = getDiskPart(dev)[0]
if usedDevs.has_key(drive):
continue
usedDevs[drive] = 1
@@ -356,10 +356,10 @@
return ""
def getMatchingPart(self, bootDev, target):
- bootName, bootPartNum = fsset.getDiskPart(bootDev)
+ bootName, bootPartNum = getDiskPart(bootDev)
devices = self.getPhysicalDevices(target)
for device in devices:
- name, partNum = fsset.getDiskPart(device)
+ name, partNum = getDiskPart(device)
if name == bootName:
return device
return devices[0]
@@ -368,7 +368,7 @@
return "hd%d" % self.drivelist.index(name)
def grubbyPartitionName(self, dev):
- (name, partNum) = fsset.getDiskPart(dev)
+ (name, partNum) = getDiskPart(dev)
if partNum != None:
return "(%s,%d)" % (self.grubbyDiskName(name), partNum)
else:
@@ -478,7 +478,7 @@
grubbyRootPart = self.grubbyPartitionName(rootDevs[0])
for rootDev in rootDevs:
- testGrubbyRootDev = fsset.getDiskPart(rootDev)[0]
+ testGrubbyRootDev = getDiskPart(rootDev)[0]
testGrubbyRootDev = self.grubbyPartitionName(testGrubbyRootDev)
if grubbyStage1Dev == testGrubbyRootDev:
diff --git a/storage/devices.py b/storage/devices.py
index 27d9a1f..14fbb11 100644
--- a/storage/devices.py
+++ b/storage/devices.py
@@ -594,7 +594,6 @@ class DiskDevice(StorageDevice):
self.partedDevice = None
self.partedDisk = None
- self.removable = False
log.debug("looking up parted Device: %s" % self.path)
self.partedDevice = parted.Device(path=self.path)
if not self.partedDevice:

View File

@ -1 +1 @@
678a5343092b3adee1aeaa0369df9b41 anaconda-11.5.0.24.tar.bz2
1b28850bf72438f98f3c3334f9467f7e anaconda-11.5.0.25.tar.bz2