diff options
author | Jeremy Katz <katzj@redhat.com> | 2003-07-16 03:23:20 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2003-07-16 03:23:20 +0000 |
commit | a51764f258d46a2e2f0ae39f25144c6ffabb8804 (patch) | |
tree | 18980a7ca91a86f6432dd19e172608ed7c12e8f1 | |
parent | 1b2f9fe18937b9f187b7fd77a50c2c7d0f369654 (diff) | |
download | anaconda-a51764f258d46a2e2f0ae39f25144c6ffabb8804.tar.gz anaconda-a51764f258d46a2e2f0ae39f25144c6ffabb8804.tar.xz anaconda-a51764f258d46a2e2f0ae39f25144c6ffabb8804.zip |
merge from taroon branch. product.img stuff, md can be modular, lots of
little things across the board
-rwxr-xr-x | anaconda | 10 | ||||
-rw-r--r-- | dispatch.py | 2 | ||||
-rwxr-xr-x | gui.py | 10 | ||||
-rw-r--r-- | installclass.py | 2 | ||||
-rw-r--r-- | isys/lang.c | 4 | ||||
-rw-r--r-- | iutil.py | 3 | ||||
-rw-r--r-- | iw/congrats_gui.py | 4 | ||||
-rw-r--r-- | loader2/linuxrc.s390 | 4 | ||||
-rw-r--r-- | loader2/loader.c | 7 | ||||
-rw-r--r-- | loader2/method.c | 5 | ||||
-rw-r--r-- | loader2/net.c | 31 | ||||
-rw-r--r-- | loader2/nfsinstall.c | 5 | ||||
-rw-r--r-- | loader2/urlinstall.c | 2 | ||||
-rw-r--r-- | network.py | 8 | ||||
-rw-r--r-- | packages.py | 7 | ||||
-rw-r--r-- | partedUtils.py | 5 | ||||
-rwxr-xr-x | readConfigFile.py | 4 | ||||
-rw-r--r-- | rescue.py | 35 | ||||
-rwxr-xr-x | scripts/mk-images | 13 | ||||
-rw-r--r-- | scripts/mk-images.alpha | 2 | ||||
-rw-r--r-- | scripts/mk-images.i386 | 2 | ||||
-rw-r--r-- | scripts/mk-images.ia64 | 2 | ||||
-rw-r--r-- | scripts/mk-images.ppc | 2 | ||||
-rw-r--r-- | scripts/mk-images.s390 | 2 | ||||
-rw-r--r-- | scripts/mk-images.sparc64 | 2 | ||||
-rw-r--r-- | scripts/mk-images.x86_64 | 2 | ||||
-rw-r--r-- | textw/complete_text.py | 11 | ||||
-rw-r--r-- | utils/Makefile | 1 | ||||
-rw-r--r-- | utils/trimmodmap | 43 | ||||
-rw-r--r-- | whiteout.py | 2 |
30 files changed, 184 insertions, 48 deletions
@@ -679,9 +679,15 @@ if customClass: # if no instClass declared by user figure it out based on other cmdline args # if not instClass: - from installclass import DefaultInstall + from installclass import DefaultInstall, availableClasses instClass = DefaultInstall(flags.expert) + if len(availableClasses()) < 2: + (cname, cobject, clogo) = availableClasses()[0] + log("%s is only installclass, using it" %(cname,)) + instClass = cobject(flags.expert) + + # this lets install classes force text mode instlls if instClass.forceTextMode: dup_log(_("Install class forcing text mode installation")) @@ -976,7 +982,7 @@ if xcfg is not None: if kbd: id.setKeyboard(kbd) - + instClass.setInstallData(id) dispatch = dispatch.Dispatcher(intf, id, methodobj, rootPath) diff --git a/dispatch.py b/dispatch.py index 97b5aac60..9ce6c5db3 100644 --- a/dispatch.py +++ b/dispatch.py @@ -110,7 +110,7 @@ installSteps = [ "instPath", "dir")), ("selectlangpackages", selectLanguageSupportGroups, ("id.grpset","id.langSupport")), ("package-selection", ("id.grpset", "id.langSupport", "id.instClass", "dispatch")), - ("indivpackage", ("id.grpset")), + ("indivpackage", ("id.grpset",)), ("handleX11pkgs", handleX11Packages, ("dir", "intf", "dispatch", "id", "instPath")), ("checkdeps", checkDependencies, ("dir", "intf", "dispatch", @@ -430,7 +430,13 @@ class ProgressWindow: rootPushBusyCursor() def set (self, amount): - self.progress.set_fraction (float (amount) / self.total) + # only update widget if we've changed by 5% + curval = self.progress.get_fraction() + newval = float (amount) / self.total + if newval < 0.998: + if (newval - curval) < 0.05 and newval > curval: + return + self.progress.set_fraction (newval) processEvents () def pop(self): @@ -1464,7 +1470,7 @@ class InstallControlState: for path in ("/mnt/source/RHupdates/pixmaps/", "/mnt/source/RHupdates/", "/tmp/updates/pixmaps/", "/tmp/updates/", - "/tmp/product/pixmaps/", + "/tmp/product/pixmaps/", "/tmp/product/", "/usr/share/anaconda/pixmaps/", "pixmaps/", "/usr/share/pixmaps/", "/usr/share/anaconda/", ""): diff --git a/installclass.py b/installclass.py index 59a4b3c4f..8844a7dd3 100644 --- a/installclass.py +++ b/installclass.py @@ -182,7 +182,7 @@ class BaseInstallClass: # if there's only one install class, it doesn't make much sense # to show it - if availableClasses() < 2: + if len(availableClasses()) < 2: dispatch.skipStep("installtype") # called from anaconda so that we can skip steps in the headless case diff --git a/isys/lang.c b/isys/lang.c index e1c12587b..177e02126 100644 --- a/isys/lang.c +++ b/isys/lang.c @@ -12,6 +12,7 @@ #include "linux/kd.h" #include "cpio.h" +#include "isys.h" #include "lang.h" #include "stubs.h" @@ -85,6 +86,9 @@ int loadKeymap(gzFile stream) { #if defined (__s390__) || defined (__s390x__) return 0; #endif + if (isVioConsole()) + return 0; + if (gunzip_read(stream, &magic, sizeof(magic)) != sizeof(magic)) return -EIO; @@ -605,8 +605,9 @@ def writeRpmPlatform(root="/"): if os.access("%s/etc/rpm/macros" %(root,), os.R_OK): return if not (rhpl.arch.canonArch.startswith("ppc64") or - rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64")): + rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64", "ia64")): return f = open("%s/etc/rpm/macros" %(root,), 'w+') f.write("%_transaction_color 3\n") f.close() + diff --git a/iw/congrats_gui.py b/iw/congrats_gui.py index a77c7853a..cbea4e748 100644 --- a/iw/congrats_gui.py +++ b/iw/congrats_gui.py @@ -79,8 +79,8 @@ class CongratulationWindow (InstallWindow): "\thttp://www.redhat.com/docs/\n" "\thttp://www.redhat.com/apps/support/\n\n" "To register the product for support, visit:\n" - "\thttp://www.redhat.com/apps/activate/\n\n" - "Click 'Exit' to reboot the system.") % (floppystr, bootstr,)) + "\thttp://www.redhat.com/apps/activate/\n\n") % (floppystr, + bootstr,)) hbox.pack_start (label, gtk.TRUE, gtk.TRUE) return hbox diff --git a/loader2/linuxrc.s390 b/loader2/linuxrc.s390 index 239a58842..3e0b01891 100644 --- a/loader2/linuxrc.s390 +++ b/loader2/linuxrc.s390 @@ -91,8 +91,8 @@ mount /dev/root / -o remount,rw mount -t proc none /proc mount -t devpts /dev/pts /dev/pts -# limit output on x3270 console -echo "1 4 1 1" > /proc/sys/kernel/printk +# limit output on x3270 console (well, not really -- need debugging now) +echo "8 4 1 1" > /proc/sys/kernel/printk # make /tmp/ramfs mount -t ramfs none /tmp diff --git a/loader2/loader.c b/loader2/loader.c index 37931a959..cd569d497 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -840,7 +840,10 @@ static char *doLoaderMain(char * location, /* fall through to ip config */ case STEP_IP: - if (!needsNetwork) step = STEP_METHOD; /* only hit going back */ + if (!needsNetwork) { + step = STEP_METHOD; /* only hit going back */ + break; + } logMessage("going to do getNetConfig"); /* populate netDev based on any kickstart data */ @@ -1206,7 +1209,7 @@ int main(int argc, char ** argv) { /* look for cards which require the agpgart module */ agpgartInitialize(modLoaded, modDeps, modInfo, flags); - mlLoadModuleSetLocation("raid0:raid1:raid5:msdos:ext3:reiserfs:jfs:xfs:lvm-mod", + mlLoadModuleSetLocation("md:raid0:raid1:raid5:msdos:ext3:reiserfs:jfs:xfs:lvm-mod", modLoaded, modDeps, modInfo, flags, secondStageModuleLocation); diff --git a/loader2/method.c b/loader2/method.c index 1a8c633af..37b95886c 100644 --- a/loader2/method.c +++ b/loader2/method.c @@ -445,7 +445,8 @@ int copyDirectory(char * from, char * to) { errno = 0; while ((ent = readdir(dir))) { - if (ent->d_name[0] == '.') continue; + /* we could lose .a this way, but at least, we lose less */ + if ((ent->d_name[0] == '.') && (strlen(ent->d_name) <= 2)) continue; sprintf(filespec, "%s/%s", from, ent->d_name); sprintf(filespec2, "%s/%s", to, ent->d_name); @@ -498,6 +499,7 @@ void copyUpdatesImg(char * path) { if (!mountLoopback(path, "/tmp/update-disk", "loop7")) { copyDirectory("/tmp/update-disk", "/tmp/updates"); umountLoopback("/tmp/update-disk", "loop7"); + unlink("/tmp/update-disk"); } } } @@ -507,6 +509,7 @@ void copyProductImg(char * path) { if (!mountLoopback(path, "/tmp/product-disk", "loop7")) { copyDirectory("/tmp/product-disk", "/tmp/product"); umountLoopback("/tmp/product-disk", "loop7"); + unlink("/tmp/product-disk"); } } } diff --git a/loader2/net.c b/loader2/net.c index b874204f5..9f6adad2b 100644 --- a/loader2/net.c +++ b/loader2/net.c @@ -221,10 +221,15 @@ void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, * be broken out into a function too */ logMessage("sending dhcp request through device %s", loaderData->netDev); - startNewt(flags); - winStatus(50, 3, _("Dynamic IP"), - _("Sending request for IP information for %s..."), - loaderData->netDev, 0); + if (!FL_CMDLINE(flags)) { + startNewt(flags); + winStatus(55, 3, _("Dynamic IP"), + _("Sending request for IP information for %s..."), + loaderData->netDev, 0); + } else { + printf(_("Sending request for IP information for %s..."), + loaderData->netDev); + } if (!FL_TESTING(flags)) { waitForLink(loaderData->netDev); @@ -233,7 +238,9 @@ void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, chptr = NULL; } - newtPopWindow(); + if (!FL_CMDLINE(flags)) + newtPopWindow(); + if (chptr) { logMessage("pump told us: %s", chptr); return; @@ -468,7 +475,7 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, int flags) { newCfg.isDynamic = 0; } else { if (!FL_TESTING(flags)) { - winStatus(50, 3, _("Dynamic IP"), + winStatus(55, 3, _("Dynamic IP"), _("Sending request for IP information for %s..."), device, 0); waitForLink(device); @@ -624,10 +631,16 @@ int findHostAndDomain(struct networkDeviceConfig * dev, int flags) { } if (!(dev->dev.set & PUMP_NETINFO_HAS_HOSTNAME)) { - winStatus(40, 3, _("Hostname"), - _("Determining host name and domain...")); + if (!FL_CMDLINE(flags)) + winStatus(40, 3, _("Hostname"), + _("Determining host name and domain...")); + else + printf(_("Determining host name and domain...")); + name = mygethostbyaddr(inet_ntoa(dev->dev.ip)); - newtPopWindow(); + + if (!FL_CMDLINE(flags)) + newtPopWindow(); if (!name) { logMessage("reverse name lookup failed"); diff --git a/loader2/nfsinstall.c b/loader2/nfsinstall.c index 1a29a9239..41a26ec5a 100644 --- a/loader2/nfsinstall.c +++ b/loader2/nfsinstall.c @@ -162,6 +162,11 @@ char * mountNfsImage(struct installMethod * method, if (rc == -1) foundinvalid = 1; } else { + /* JKFIXME: hack because /mnt/source is hard-coded + * in mountStage2() */ + copyUpdatesImg("/mnt/source2/RedHat/base/updates.img"); + copyUpdatesImg("/mnt/source2/RedHat/base/product.img"); + queryIsoMediaCheck(path, flags); stage = NFS_STAGE_DONE; diff --git a/loader2/urlinstall.c b/loader2/urlinstall.c index e372e3377..0a95782e7 100644 --- a/loader2/urlinstall.c +++ b/loader2/urlinstall.c @@ -97,6 +97,7 @@ static int loadUrlImages(struct iurlinfo * ui, int flags) { copyDirectory("/tmp/update-disk", "/tmp/updates"); umountLoopback("/tmp/update-disk", "loop7"); unlink("/tmp/ramfs/updates-disk.img"); + unlink("/tmp/update-disk"); } /* grab the product.img before netstg1.img so that we minimize our @@ -107,6 +108,7 @@ static int loadUrlImages(struct iurlinfo * ui, int flags) { copyDirectory("/tmp/product-disk", "/tmp/product"); umountLoopback("/tmp/product-disk", "loop7"); unlink("/tmp/ramfs/product-disk.img"); + unlink("/tmp/product-disk"); } /* require 128MB for use of graphical stage 2 due to size of image */ diff --git a/network.py b/network.py index 049461503..32733ea8e 100644 --- a/network.py +++ b/network.py @@ -223,10 +223,10 @@ class Network: if desc is not None and len(desc) > 0: self.netdevices[device].set(("desc", desc)) - # add hwaddr - self.netdevices[device].set(("hwaddr", isys.getMacAddress(device))) - - + hwaddr = isys.getMacAddress(device) + if hwaddr and hwaddr != "00:00:00:00:00:00": + self.netdevices[device].set(("hwaddr", hwaddr)) + def getDevice(self, device): return self.netdevices[device] diff --git a/packages.py b/packages.py index 614597bbf..52d056af6 100644 --- a/packages.py +++ b/packages.py @@ -238,7 +238,7 @@ def getAnacondaTS(instPath = None): # set color if needed. FIXME: why isn't this the default :/ if (rhpl.arch.canonArch.startswith("ppc64") or - rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64")): + rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64", "ia64")): ts.setColor(3) return ts @@ -1190,6 +1190,11 @@ def copyExtraModules(instPath, grpset, extraModules): pattern = "" names = "" for (n, tag) in kernelVersions: + if tag == "up": + pkg = "kernel" + else: + pkg = "kernel-%s" %(tag,) + arch = grpset.hdrlist[pkg][rpm.RPMTAG_ARCH] # version 1 path pattern = pattern + " %s/%s/%s.o " % (n, arch, name) # version 0 path diff --git a/partedUtils.py b/partedUtils.py index 5495d792f..f5c20c1c7 100644 --- a/partedUtils.py +++ b/partedUtils.py @@ -238,16 +238,15 @@ def getDefaultDiskType(): elif iutil.getArch() == "ppc": return parted.disk_type_get("msdos") else: - # XXX fix me for alpha at least return parted.disk_type_get("msdos") archLabels = {'i386': ['msdos'], - 'alpha': ['bsd'], 's390': ['dasd'], 'alpha': ['bsd', 'msdos'], 'sparc': ['sun'], 'ia64': ['msdos', 'gpt'], - 'ppc': ['msdos', 'mac']} + 'ppc': ['msdos', 'mac'], + 'x86_64': ['msdos']} def checkDiskLabel(disk, intf): """Check that the disk label on disk is valid for this machine type.""" diff --git a/readConfigFile.py b/readConfigFile.py index 12bd3641e..fc46dafa4 100755 --- a/readConfigFile.py +++ b/readConfigFile.py @@ -7,6 +7,10 @@ def getConfigFile(): if os.access("custom/anaconda.conf", os.O_RDONLY): f = open("custom/anaconda.conf", "r") + elif os.access("/tmp/product/anaconda.conf", os.O_RDONLY): + f = open("/tmp/product/anaconda.conf", "r") + elif os.access("/tmp/updates/anaconda.conf", os.O_RDONLY): + f = open("/tmp/updates/anaconda.conf", "r") elif os.access("/usr/share/anaconda/custom/anaconda.conf", os.O_RDONLY): f = open("/usr/share/anaconda/custom/anaconda.conf", "r") elif os.access("anaconda.conf", os.O_RDONLY): @@ -13,7 +13,6 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # -import kudzu import upgrade from snack import * from constants_text import * @@ -23,6 +22,7 @@ import os import isys import iutil import fsset +import shutil from rhpl.log import log from rhpl.translate import _ @@ -64,6 +64,36 @@ def makeMtab(instPath, theFsset): f.close() sys.exit(0) +# make sure they have a resolv.conf in the chroot +def makeResolvConf(instPath): + if not os.access("/etc/resolv.conf", os.R_OK): + return + + if os.access("%s/etc/resolv.conf" %(instPath,), os.R_OK): + f = open("%s/etc/resolv.conf" %(instPath,), "r") + buf = f.read() + f.close() + else: + buf = "" + + # already have a nameserver line, don't worry about it + if buf.find("nameserver") != -1: + return + + f = open("/etc/resolv.conf", "r") + buf = f.read() + f.close() + + # no nameserver, we can't do much about it + if buf.find("nameserver") == -1: + return + + shutil.copyfile("%s/etc/resolv.conf" %(instPath,), + "%s/etc/resolv.conf.bak" %(instPath,)) + f = open("%s/etc/resolv.conf" %(instPath,), "w+") + f.write(buf) + f.close() + # XXX # probably belongs somewhere else # @@ -186,7 +216,7 @@ def runRescue(instPath, mountroot, id): lastrc = rc if step == -1: - ButtonChoiceWindow(self.screen, _("Cancelled"), + ButtonChoiceWindow(screen, _("Cancelled"), _("I can't go to the previous step " "from here. You will have to try " "again."), @@ -388,6 +418,7 @@ def runRescue(instPath, mountroot, id): print if rootmounted and not readOnly: makeMtab(instPath, fs) + makeResolvConf(instPath) print _("Your system is mounted under the %s directory.") % (instPath,) print diff --git a/scripts/mk-images b/scripts/mk-images index 68d9a9195..251ab96dc 100755 --- a/scripts/mk-images +++ b/scripts/mk-images @@ -36,6 +36,7 @@ TOPDIR=$(cd $TOPDIR; pwd) IMGPATH=$4 KERNELBASE=/tmp/updboot.kernel.$$ MODDEPS=$KERNELBASE/moddeps + MODMAPS=$KERNELBASE/modules.pcimap BUILDARCH=$5 if [ "$BUILDARCH" = "ppc" -o "$BUILDARCH" = "ppc64" ]; then @@ -84,6 +85,7 @@ TOPDIR=$(cd $TOPDIR; pwd) # Stuff that we need TRIMPCITABLE=$IMGPATH/usr/lib/anaconda-runtime/trimpcitable + TRIMMODMAP=$IMGPATH/usr/lib/anaconda-runtime/trimmodmap GETKEYMAPS=$IMGPATH/usr/lib/anaconda-runtime/getkeymaps KEYMAPS=/tmp/keymaps-$BUILDARCH.$$ SCREENFONT=$IMGPATH/usr/lib/anaconda-runtime/screenfont-${BASEARCH}.gz @@ -100,7 +102,7 @@ TOPDIR=$(cd $TOPDIR; pwd) touch $MODULESUSED - REQUIREMENTS="$TRIMPCITABLE $PCITABLE $GETMODDEPS $MODINFO + REQUIREMENTS="$TRIMPCITABLE $TRIMMODMAP $PCITABLE $GETMODDEPS $MODINFO $FILTERMODDEPS $LANGTABLE $GETKEYMAPS" dieLater= @@ -170,6 +172,9 @@ rundepmod () { $FAKEARCH /sbin/depmod -e -F $KERNELROOT/boot/System.map-$version \ $what > $final.foo 2>&1 | egrep -v "modprobe: (${exclpattern}) multiply defined" + $FAKEARCH /sbin/depmod -a -F $KERNELROOT/boot/System.map-$version \ + -b $KERNELROOT $version + mv $KERNELROOT/lib/modules/$version/modules.pcimap $MODMAPS # For paride we need to change this: # aten: paride @@ -313,7 +318,7 @@ makemoduleball() { MMB_MODULESET=$(resdeps $2) rm -rf $MMB_DIR/modules $MMB_DIR/$MMB_NAME $MMB_DIR/modules.dep \ - $MMB_DIR/pcitable $MMB_DIR/$MMB_MODINFO + $MMB_DIR/modules.pcimap $MMB_DIR/pcitable $MMB_DIR/$MMB_MODINFO mkdir -p $MMB_DIR/modules MMB_MODULESET=$(intcopymodules "$MMB_MODULESET" $MMB_DIR/modules) @@ -332,6 +337,9 @@ makemoduleball() { # create the pcitable $TRIMPCITABLE $(find . -name *.o -exec basename {} \;) < $PCITABLE > ../pcitable + + # create the modules.pcimap + $TRIMMODMAP $PCITABLE $(find . -name *.o -exec basename {} \;) < $MODMAPS > ../modules.pcimap if [ -n "$MMB_DD" ]; then echo $MMB_DD > $MMB_DIR/rhdd @@ -561,6 +569,7 @@ EOF $MBD_DIR urandom c 1 9 644 root:root $MBD_DIR nvram c 10 144 644 root:root $MBD_DIR adb c 56 0 644 root:root + $MBD_DIR rtc c 10 135 644 root:root EOF ln -s fb0 $MBD_DIR/dev/fb diff --git a/scripts/mk-images.alpha b/scripts/mk-images.alpha index ea8569c0e..7adc5f8fb 100644 --- a/scripts/mk-images.alpha +++ b/scripts/mk-images.alpha @@ -3,7 +3,7 @@ SCSIMODULES="sd_mod isp_mod ide-cd aic7xxx" EXTRASCSI="DAC960 cpqfc BusLogic 3w-xxxx dmx3191d dpt_i2o megaraid ncr53c8xx sym53c8xx qlogicisp qlogicfc qla2x00 qla1280 cciss cpqarray" EXTRANET="3c509 3c59x 8139too dl2k eepro epic100 ewrk3 hamachi natsemi ne2k-pci ns83820 starfire yellowfin" -SECSTAGE="sd_mod raid0 raid1 raid5 ext3 $NETMODULES $SCSIMODULES $EXTRASCSI $EXTRANET" +SECSTAGE="sd_mod md raid0 raid1 raid5 ext3 $NETMODULES $SCSIMODULES $EXTRASCSI $EXTRANET" prepareBootImage() { dd if=/dev/zero of=$MBD_TMPIMAGE bs=1k count=$BOOTDISKSIZE 2>/dev/null diff --git a/scripts/mk-images.i386 b/scripts/mk-images.i386 index d7aa49433..dd4f53e60 100644 --- a/scripts/mk-images.i386 +++ b/scripts/mk-images.i386 @@ -92,7 +92,7 @@ IDEMODS="" SCSIMODS="sd_mod sg sr_mod st" FSMODS="msdos vfat ext3 reiserfs jfs" -SECSTAGE="agpgart raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS st parport_pc parport" +SECSTAGE="agpgart md raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS st parport_pc parport" BTERMMODULES="vga16fb" COMMONMODULES="vfat nfs floppy $USBMODS $BTERMMODULES" diff --git a/scripts/mk-images.ia64 b/scripts/mk-images.ia64 index 7ce27aab1..7ba193f59 100644 --- a/scripts/mk-images.ia64 +++ b/scripts/mk-images.ia64 @@ -4,7 +4,7 @@ LATEUSBMODS="mousedev" BTERMMODULES="vga16fb" COMMONMODULES="nfs fat vfat cramfs loop floppy $BTERMMODULES" -SECSTAGE="nfs fat vfat raid0 raid1 raid5 lvm-mod ext3 $LATEUSBMODS" +SECSTAGE="nfs fat vfat md raid0 raid1 raid5 lvm-mod ext3 $LATEUSBMODS" NETMODULES="3c59x acenic bcm5700 e100 e1000 eepro100 hamachi sk98lin starfire sunhme tulip yellowfin tg3" SCSIMODULES="sd_mod sg sr_mod st scsi_mod DAC960 cciss cpqarray aic7xxx aic7xxx_mod megaraid qla1280 qla2200 qla2300 sym53c8xx sym53c8xx_2 mptscsih mptbase ips" IDEMODULES="ide-mod ide-probe-mod ide-disk ide-cd" diff --git a/scripts/mk-images.ppc b/scripts/mk-images.ppc index 25edfaba4..3a7edb6ed 100644 --- a/scripts/mk-images.ppc +++ b/scripts/mk-images.ppc @@ -3,7 +3,7 @@ FSMODS="msdos vfat ext3 reiserfs jfs" IDEMODS="ide-cd" SCSIMODS="sd_mod sg sr_mod st" LATEUSBMODS="mousedev usb-storage" -SECSTAGE="raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS" +SECSTAGE="md raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS" NETMODULES="sungem tg3 ne2k-pci 3c59x 8139too olympic de4x5 acenic pcnet32 tulip natsemi e100 e1000 airport" diff --git a/scripts/mk-images.s390 b/scripts/mk-images.s390 index 47a07b0e5..98e0c66ce 100644 --- a/scripts/mk-images.s390 +++ b/scripts/mk-images.s390 @@ -433,7 +433,7 @@ fi IDEMODS="" SCSIMODS="" -SECSTAGE="$IDEMODS $SCSIMODS raid0 raid1 raid5 lvm-mod" +SECSTAGE="$IDEMODS $SCSIMODS md raid0 raid1 raid5 lvm-mod" COMMONMODULES="loop cramfs dasd_diag_mod dasd_eckd_mod dasd_fba_mod dasd_mod tape390 isofs ext3" LOCALMODULES="$COMMONMODULES tape390 $IDEMODS $SCSIMODS" diff --git a/scripts/mk-images.sparc64 b/scripts/mk-images.sparc64 index cb2f57a0e..980fc2824 100644 --- a/scripts/mk-images.sparc64 +++ b/scripts/mk-images.sparc64 @@ -1,4 +1,4 @@ -SECSTAGE="vfat raid0 raid1 raid5" +SECSTAGE="vfat md raid0 raid1 raid5" TILO=$IMGPATH/usr/bin/tilo SILO=$IMGPATH/usr/sbin/silo FAKEARCH=sparc64 diff --git a/scripts/mk-images.x86_64 b/scripts/mk-images.x86_64 index 9ab0f9acf..03387bc7f 100644 --- a/scripts/mk-images.x86_64 +++ b/scripts/mk-images.x86_64 @@ -37,7 +37,7 @@ IDEMODS="ide-cd" SCSIMODS="sd_mod sg sr_mod st" FSMODS="msdos vfat ext3 reiserfs" -SECSTAGE="agpgart raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS st parport_pc parport" +SECSTAGE="agpgart md raid0 raid1 raid5 lvm-mod $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS st parport_pc parport" BTERMMODULES="vga16fb" COMMONMODULES="vfat loop cramfs floppy $USBMODS $BTERMMODULES" diff --git a/textw/complete_text.py b/textw/complete_text.py index f0ac5dc19..d9d245632 100644 --- a/textw/complete_text.py +++ b/textw/complete_text.py @@ -21,9 +21,6 @@ import iutil class FinishedWindow: def __call__ (self, screen): - screen.pushHelpLine (string.center(_("<Enter> to reboot"), - screen.width)) - if iutil.getArch() == "i386": bootstr = _("If you created a boot diskette during this " "installation as your primary means of " @@ -33,13 +30,17 @@ class FinishedWindow: bootstr = "" if iutil.getArch() == "s390": - floppystr = _("Press <Enter> to reboot your system.\n\n") + floppystr = _("Press <Enter> to end the installation process.\n\n") + bottomstr = _("<Enter> to exit") else: floppystr = _("Remove any installation media (diskettes or " "CD-ROMs) used during the installation process " "and press <Enter> to reboot your system." "\n\n") - + bottomstr = _("<Enter> to reboot") + + screen.pushHelpLine (string.center(bottomstr, screen.width)) + rc = ButtonChoiceWindow (screen, _("Complete"), _("Congratulations, your %s installation is " diff --git a/utils/Makefile b/utils/Makefile index 384c32571..bf81bd2b2 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -52,6 +52,7 @@ install: all mkdir -p $(DESTDIR)/$(RUNTIMEDIR) install -m755 genhdlist $(DESTDIR)/$(RUNTIMEDIR) install -m755 trimpcitable $(DESTDIR)/$(RUNTIMEDIR) + install -m755 trimmodmap $(DESTDIR)/$(RUNTIMEDIR) install -m755 moddeps $(DESTDIR)/$(RUNTIMEDIR) install -m755 filtermoddeps $(DESTDIR)/$(RUNTIMEDIR) install -m755 modlist $(DESTDIR)/$(RUNTIMEDIR) diff --git a/utils/trimmodmap b/utils/trimmodmap new file mode 100644 index 000000000..c33e60dd9 --- /dev/null +++ b/utils/trimmodmap @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +open (F, $ARGV[0]); +@ents = (<F>); +close (F); + +shift @ARGV; + +foreach $n (@ARGV) { + $n =~ s/\.o$//; + $mods{"$n"} = $n; +} + + +while (<STDIN>) { + chop; + $line = $_; + s/0x0000/0x/g; + @a = split; + if ($mods{$a[0]}) { + if ($a[1] ne "0xffffffff" && $a[2] ne "0xffffffff") { + if ($a[3] eq "0xffffffff" && $a[4] eq "0xffffffff") { + @res = grep (/^$a[1]\t$a[2]\t"$a[0]"/, @ents); + if (length(@res) != 0 && ! $res[0]) { + print $line."\n"; + } + } else { + @res = grep (/^$a[1]\t$a[2]\t"$a[0]"/, @ents); + if ($res[0]) { + @b = split "\t",$res[0]; + if ($b[2] ne "\"$a[0]\"") { + print $line."\n"; + } + } else { + @res = grep (/^$a[1]\t$a[2]\t$a[3]\t$a[4]\t"$a[0]"/, @ents); + if (!$res[0]) { + print $line."\n"; + } + } + } + } + } +} diff --git a/whiteout.py b/whiteout.py index fb2b9fd15..5888a063e 100644 --- a/whiteout.py +++ b/whiteout.py @@ -57,5 +57,5 @@ rpm.addMacro("_dependency_whiteout", whiteout) # ts coloring, more hacks to workaround #92285 if (rhpl.arch.canonArch.startswith("ppc64") or - rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64")): + rhpl.arch.canonArch in ("s390x", "sparc64", "x86_64", "ia64")): rpm.addMacro("_transaction_color", "3") |