--- anaconda-11.0.5/scripts/splittree.py 2005-05-16 19:11:52.000000000 +0300 +++ /usr/lib/anaconda-runtime/splittree.py 2006-05-18 00:47:56.275877225 +0300 @@ -36,7 +36,11 @@ _ts = rpm.TransactionSet() _ts.setVSFlags(-1) fd = os.open(pkgfile, os.O_RDONLY) - h = _ts.hdrFromFdno(fd) + try: + h = _ts.hdrFromFdno(fd) + except: + raise RuntimeError, 'rpm: %s %s' % (pkgfile, sys.exc_info()[1]) + os.close(fd) return "%s-%s-%s.%s.rpm" %(h['name'], h['version'], h['release'], h['arch']) @@ -217,7 +221,10 @@ # now create the dirs for disc1 for j in range(0, len(dirlist)): - os.makedirs("%s-disc%d/%s" % (self.dist_dir, i, dirlist[j])) + try: + os.makedirs("%s-disc%d/%s" % (self.dist_dir, i, dirlist[j])) + except: + pass for j in range(0, len(filelist)): filelist[j] = string.replace(filelist[j], self.dist_dir, '') @@ -228,7 +235,10 @@ pass # now create the product/RPMS dir - os.makedirs("%s-disc%d/%s/RPMS" % (self.dist_dir, i, self.product_path)) + try: + os.makedirs("%s-disc%d/%s/RPMS" % (self.dist_dir, i, self.product_path)) + except: + pass else: os.makedirs("%s-disc%d/%s/RPMS" % (self.dist_dir, i, self.product_path)) --- anaconda-11.0.5/fsset.py~ 2006-05-24 22:08:46.490080945 +0300 +++ anaconda-11.0.5/fsset.py 2006-05-24 22:17:32.421824167 +0300 @@ -1284,6 +1284,8 @@ isys.makeDevInode(root.device.getDevice(), dev) rdev = os.stat(dev).st_rdev + if os.path.exists(instPath + "/dev/root"): + os.unlink(instPath + "/dev/root") os.mknod("%s/dev/root" % (instPath,), stat.S_IFBLK | 0600, rdev) # return the "boot" device --- anaconda-11.0.5/anaconda 2006-06-05 23:04:26.382957338 +0300 +++ anaconda-11.0.5/anaconda 2006-06-05 23:04:04.572468297 +0300 @@ -952,7 +952,8 @@ logfile = xlogfile, xStartedCB = doStartupX11Actions, xQuitCB = doShutdownX11Actions, useFB = useFBX) - except RuntimeError: + except RuntimeError, msg: + log.warning("xserver.startX: %s", msg) xsetup_failed = True if xsetup_failed: --- anaconda-11.0.5/iutil.py~ 2006-09-28 14:47:23.119103876 +0300 +++ anaconda-11.0.5/iutil.py 2006-09-28 18:12:24.254179111 +0300 @@ -405,6 +405,10 @@ # make the device-mapper control node def makeDMNode(root="/"): + # skip the mknod if path already exists -- created by udev + if os.path.exists(root + "/dev/mapper/control"): + return + major = minor = None for (fn, devname, val) in ( ("/proc/devices", "misc", "major"),