Tuesday 16th September 2008
Local Packages
Updated perl-IO-Multiplex to 1.10
Buildsystem Tweaks for Old Distributions
A recent update to yum in Fedora 9 (version 3.2.17 to 3.2.19) included a change that was quite significant when it comes to building packages for old distributions in mock. Failed RPM scriptlets (typically the %pre and %post scriptlets of packages) now cause yum to exit with a return code of 1 to indicate the error rather than 0, implying success. This is an entirely reasonable thing to do of course, but causes problems with some packages for old distributions that weren't designed to be built and installed in chroot-ed environments like mock, my buildsystem tool of choice. So some of these packages find themselves installed into an unexpected environment and their scripts fail. Now that yum passes that failure back to mock, package builds requiring the affected packages fail too.
The first problem I hit was with the dev package, which is built from the MAKEDEV source package. Affected distributions were Red Hat Linux 7, 8, and 9, Fedora Core 1 and 2, and Red Hat Enterprise Linux/CentOS 3. The %post script for dev checks to see if there is something mounted on /dev, and if there is, it assumes that what's mounted is devfs and that it should bail out.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/redhat-73-i386/root/ install 'libpcap >= 0.6.2' 'pam-devel' DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: libpcap i386 14:0.6.2-17.7.3.6.legacy updates-released 318 k DEBUG util.py:250: pam-devel i386 0.75-46.10.legacy.7x updates-released 72 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: dev i386 3.3-4 core 813 k DEBUG util.py:250: kernel athlon 2.4.20-46.7.legacy updates-released 12 M DEBUG util.py:250: losetup i386 2.11n-12.7.3.2.legacy updates-released 26 k DEBUG util.py:250: mkinitrd i386 3.3.10-1 core 47 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 6 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 14 M DEBUG util.py:250: Cannot install the dev package: mounted devfs detected. DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 2.3 GB/s | 14 MB 00:00 DEBUG util.py:250: error: %pre(dev-3.3-4.i386) scriptlet failed, exit status 1 DEBUG util.py:250: error: install: %pre scriptlet failed (2), skipping dev-3.3-4 DEBUG util.py:250: ls: DEBUG util.py:250: : No such file or directory DEBUG util.py:250: /sbin/mkinitrd: [: : integer expression expected DEBUG util.py:250: Installed: libpcap.i386 14:0.6.2-17.7.3.6.legacy pam-devel.i386 0:0.75-46.10.legacy.7x DEBUG util.py:250: Dependency Installed: dev.i386 0:3.3-4 kernel.athlon 0:2.4.20-46.7.legacy losetup.i386 0:2.11n-12.7.3.2.legacy mkinitrd.i386 0:3.3.10-1 DEBUG util.py:311: Child returncode was: 1
I created a patched version of the dev package that exited with a return code of zero instead of 1 when it detected something mounted on /dev (not running the rest of the failing %pre script is not an issue for package building), and added it to a local repository that my buildsystem uses. That fixed things for Red Hat Linux 7 and Fedora Core 2.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/redhat-73-i386/root/ install 'libpcap >= 0.6.2' 'pam-devel' DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: libpcap i386 14:0.6.2-17.7.3.6.legacy updates-released 318 k DEBUG util.py:250: pam-devel i386 0.75-46.10.legacy.7x updates-released 72 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: dev i386 3.3-4.buildsys_hack.rhl7 epochfix 813 k DEBUG util.py:250: kernel athlon 2.4.20-46.7.legacy updates-released 12 M DEBUG util.py:250: losetup i386 2.11n-12.7.3.2.legacy updates-released 26 k DEBUG util.py:250: mkinitrd i386 3.3.10-1 core 47 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 6 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 14 M DEBUG util.py:250: dev package: mounted devfs detected but installing anyway. DEBUG util.py:250: ls: : No such file or directory DEBUG util.py:250: /sbin/mkinitrd: [: : integer expression expected DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 603 MB/s | 14 MB 00:00 DEBUG util.py:250: Installed: libpcap.i386 14:0.6.2-17.7.3.6.legacy pam-devel.i386 0:0.75-46.10.legacy.7x DEBUG util.py:250: Dependency Installed: dev.i386 0:3.3-4.buildsys_hack.rhl7 kernel.athlon 0:2.4.20-46.7.legacy losetup.i386 0:2.11n-12.7.3.2.legacy mkinitrd.i386 0:3.3.10-1 DEBUG util.py:311: Child returncode was: 0
The next problem I encountered was with the kernel package's %post script, where there was an error message relating to loopback devices. This affected Red Hat Linux 8 and 9, Fedora Core 1 and 3, and Red Hat Enterprise Linux/CentOS 3.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/redhat-8-i386/root/ install 'libpcap >= 0.6.2' 'pam-devel' DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: libpcap i386 14:0.6.2-17.8.0.5.legacy updates-released 380 k DEBUG util.py:250: pam-devel i386 0.75-46.8.0 updates-released 72 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: dev i386 3.3.1-2.buildsys_hack.rhl8 epochfix 1.0 M DEBUG util.py:250: kernel athlon 2.4.20-30.8.legacy updates-released 13 M DEBUG util.py:250: losetup i386 2.11r-10 core 29 k DEBUG util.py:250: lvm i386 1.0.3-9 core 553 k DEBUG util.py:250: mkinitrd i386 3.4.28-1 core 67 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 7 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 15 M DEBUG util.py:250: dev package: mounted devfs detected but installing anyway. DEBUG util.py:250: All of your loopback devices are in use. DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 337 MB/s | 15 MB 00:00 DEBUG util.py:250: error: %post(kernel-2.4.20-30.8.legacy.athlon) scriptlet failed, exit status 1 DEBUG util.py:250: Installed: libpcap.i386 14:0.6.2-17.8.0.5.legacy pam-devel.i386 0:0.75-46.8.0 DEBUG util.py:250: Dependency Installed: dev.i386 0:3.3.1-2.buildsys_hack.rhl8 kernel.athlon 0:2.4.20-30.8.legacy losetup.i386 0:2.11r-10 lvm.i386 0:1.0.3-9 mkinitrd.i386 0:3.4.28-1 DEBUG util.py:311: Child returncode was: 1
I tracked this down to mkinitrd, which was being run in the kernel package's %post script via the new-kernel-pkg script. It doesn't find any loop devices in the chroot with which to create the ramdisk, and bails out. It also spews a few errors as a result of /etc/fstab in the chroot being empty, but these are non-fatal. A patched version of new-kernel-pkg (similar to the dev package hack) in a hacked mkinitrd package resolved this problem.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/redhat-8-i386/root/ install 'libpcap >= 0.6.2' 'pam-devel' DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: libpcap i386 14:0.6.2-17.8.0.5.legacy updates-released 380 k DEBUG util.py:250: pam-devel i386 0.75-46.8.0 updates-released 72 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: dev i386 3.3.1-2.buildsys_hack.rhl8 epochfix 1.0 M DEBUG util.py:250: kernel athlon 2.4.20-30.8.legacy updates-released 13 M DEBUG util.py:250: losetup i386 2.11r-10 core 29 k DEBUG util.py:250: lvm i386 1.0.3-9 core 553 k DEBUG util.py:250: mkinitrd i386 3.4.28-1.buildsys_hack.rhl8 epochfix 68 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 7 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 15 M DEBUG util.py:250: dev package: mounted devfs detected but installing anyway. DEBUG util.py:250: All of your loopback devices are in use. DEBUG util.py:250: mkinitrd failed (code 1) but carrying on regardless DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 2.5 GB/s | 15 MB 00:00 DEBUG util.py:250: Installed: libpcap.i386 14:0.6.2-17.8.0.5.legacy pam-devel.i386 0:0.75-46.8.0 DEBUG util.py:250: Dependency Installed: dev.i386 0:3.3.1-2.buildsys_hack.rhl8 kernel.athlon 0:2.4.20-30.8.legacy losetup.i386 0:2.11r-10 lvm.i386 0:1.0.3-9 mkinitrd.i386 0:3.4.28-1.buildsys_hack.rhl8 DEBUG util.py:311: Child returncode was: 0
The last problem I saw affected procps on Red Hat Enterprise Linux/CentOS 3, and util-linux on Fedora Core 4 and 5. In all of these cases, the packages' %post scripts called utilities that were in /bin but without specifying the full path to them, and got "command not found" errors, causing the scripts to fail. I suspect that this was a package ordering issue but I'm not sure what the exact cause was.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/centos-3-x86_64/root/ install buildsys-build DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: buildsys-build noarch 0.5-3.CF.rhel3 groups 2.5 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: SysVinit x86_64 2.85-4.4 core 99 k DEBUG util.py:250: basesystem noarch 8.0-2.centos.0 core 2.5 k DEBUG util.py:250: bash x86_64 2.05b-41.7.centos.0 core 1.5 M DEBUG util.py:250: beecrypt x86_64 3.0.1-0.20030630 core 72 k DEBUG util.py:250: binutils x86_64 2.14.90.0.4-42 core 2.9 M DEBUG util.py:250: buildsys-macros noarch 1-4.rhel3 groups 2.8 k DEBUG util.py:250: bzip2 x86_64 1.0.2-12.EL3 updates-released 49 k DEBUG util.py:250: bzip2-libs x86_64 1.0.2-12.EL3 updates-released 32 k DEBUG util.py:250: centos-release x86_64 3:3-9.1 core 14 k DEBUG util.py:250: chkconfig x86_64 1.3.13.5.EL3-1 core 124 k DEBUG util.py:250: coreutils x86_64 4.5.3-28.7 core 2.4 M DEBUG util.py:250: cpio x86_64 2.5-4.RHEL3 core 48 k DEBUG util.py:250: cpp x86_64 3.2.3-59 core 260 k DEBUG util.py:250: cracklib x86_64 2.7-22 core 26 k DEBUG util.py:250: cracklib-dicts x86_64 2.7-22 core 409 k DEBUG util.py:250: db4 x86_64 4.1.25-8.1 core 731 k DEBUG util.py:250: dev x86_64 3.3.12.3-1.0.buildsys_hack.rhel3 DEBUG util.py:250: groups 2.8 M DEBUG util.py:250: diffutils x86_64 2.8.1-8 core 209 k DEBUG util.py:250: e2fsprogs x86_64 1.32-15.4 updates-released 565 k DEBUG util.py:250: elfutils x86_64 0.94.1-2 core 135 k DEBUG util.py:250: elfutils-libelf x86_64 0.94.1-2 core 37 k DEBUG util.py:250: ethtool x86_64 1.8-3.3 core 51 k DEBUG util.py:250: expat x86_64 1.95.5-6 core 66 k DEBUG util.py:250: file x86_64 3.39-9.EL3.4 core 170 k DEBUG util.py:250: filesystem x86_64 2.2.1-3.centos.1 core 14 k DEBUG util.py:250: findutils x86_64 1:4.1.7-9.1 core 104 k DEBUG util.py:250: gawk x86_64 3.1.1-9 core 1.5 M DEBUG util.py:250: gcc x86_64 3.2.3-59 core 4.6 M DEBUG util.py:250: gcc-c++ x86_64 3.2.3-59 core 2.2 M DEBUG util.py:250: gdbm x86_64 1.8.0-20 core 26 k DEBUG util.py:250: glib x86_64 1:1.2.10-11.1 core 142 k DEBUG util.py:250: glibc x86_64 2.3.2-95.50 core 4.8 M DEBUG util.py:250: glibc-common x86_64 2.3.2-95.50 core 12 M DEBUG util.py:250: glibc-devel x86_64 2.3.2-95.50 core 2.3 M DEBUG util.py:250: glibc-headers x86_64 2.3.2-95.50 core 522 k DEBUG util.py:250: glibc-kernheaders x86_64 2.4-8.34.5 core 931 k DEBUG util.py:250: gmp x86_64 4.1.2-5 core 176 k DEBUG util.py:250: gpm x86_64 1.19.3-27.2 core 133 k DEBUG util.py:250: grep x86_64 2.5.1-24.6 core 173 k DEBUG util.py:250: gzip x86_64 1.3.3-14.rhel3 core 93 k DEBUG util.py:250: info x86_64 4.5-3.el3.1 core 156 k DEBUG util.py:250: initscripts x86_64 7.31.31.EL-1.centos.1 core 595 k DEBUG util.py:250: iproute x86_64 2.4.7-11.30E.2 updates-released 349 k DEBUG util.py:250: iputils x86_64 20020927-11.30.5 core 103 k DEBUG util.py:250: krb5-libs x86_64 1.2.7-68 updates-released 463 k DEBUG util.py:250: laus-libs x86_64 0.1-76RHEL3 core DEBUG util.py:250: 35 k DEBUG util.py:250: less x86_64 378-12 core 108 k DEBUG util.py:250: libacl x86_64 2.2.3-1 core 13 k DEBUG util.py:250: libattr x86_64 2.2.0-1 core 6.8 k DEBUG util.py:250: libgcc x86_64 3.2.3-59 core 63 k DEBUG util.py:250: libstdc++ x86_64 3.2.3-59 core 260 k DEBUG util.py:250: libstdc++-devel x86_64 3.2.3-59 core 1.2 M DEBUG util.py:250: libtermcap x86_64 2.0.8-35 core 12 k DEBUG util.py:250: make x86_64 1:3.79.1-17.1 core 305 k DEBUG util.py:250: mingetty x86_64 1.06-1 core 18 k DEBUG util.py:250: mktemp x86_64 1.5-18.2 core 13 k DEBUG util.py:250: modutils x86_64 2.4.25-14.EL core 592 k DEBUG util.py:250: mount x86_64 2.11y-31.24 updates-released 116 k DEBUG util.py:250: ncurses x86_64 5.3-9.4 core 1.5 M DEBUG util.py:250: net-tools x86_64 1.60-20E.10 core 317 k DEBUG util.py:250: openssl x86_64 0.9.7a-33.24 updates-released 1.1 M DEBUG util.py:250: pam x86_64 0.75-72 core 841 k DEBUG util.py:250: patch x86_64 2.5.4-16 core 60 k DEBUG util.py:250: pcre x86_64 3.9-10.4 updates-released 46 k DEBUG util.py:250: perl x86_64 2:5.8.0-98.EL3 updates-released 12 M DEBUG util.py:250: perl-Filter x86_64 1.29-3 core 68 k DEBUG util.py:250: popt x86_64 1.8.2-32_nonptl core 64 k DEBUG util.py:250: procps x86_64 2.0.17-13.10 core 165 k DEBUG util.py:250: psmisc x86_64 21.3-2.1 core 39 k DEBUG util.py:250: python x86_64 2.2.3-6.8 updates-released 4.2 M DEBUG util.py:250: readline x86_64 4.3-5.2 core 187 k DEBUG util.py:250: redhat-rpm-config noarch 8.0.28-4.centos.0 core 40 k DEBUG util.py:250: rpm x86_64 4.2.3-32_nonptl core 569 k DEBUG util.py:250: rpm-build x86_64 4.2.3-32_nonptl core 471 k DEBUG util.py:250: rpm-libs x86_64 4.2.3-32_nonptl core 730 k DEBUG util.py:250: sed x86_64 4.0.7-9.el3 core 113 k DEBUG util.py:250: setup noarch 2.5.27-1 core 28 k DEBUG util.py:250: shadow-utils x86_64 2:4.0.3-29.RHEL3 core 604 k DEBUG util.py:250: sysklogd x86_64 1.4.1-26_EL3 core 73 k DEBUG util.py:250: tar x86_64 1.13.25-15.RHEL3 core 357 k DEBUG util.py:250: termcap noarch 11.0.1-17.1 core 237 k DEBUG util.py:250: tzdata noarch 2008e-1.el3 updates-released 454 k DEBUG util.py:250: unzip x86_64 5.50-36.EL3 updates-released 150 k DEBUG util.py:250: util-linux x86_64 2.11y-31.24 updates-released 1.3 M DEBUG util.py:250: which x86_64 2.14-7 core 21 k DEBUG util.py:250: words noarch 2-21 core 136 k DEBUG util.py:250: zlib x86_64 1.1.4-10.EL3 core 34 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 88 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 72 M DEBUG util.py:250: /var/tmp/rpm-tmp.37093: line 6: cat: command not found DEBUG util.py:250: /var/tmp/rpm-tmp.37093: line 7: rm: command not found DEBUG util.py:250: telinit: timeout opening/writing control channel /dev/initctl DEBUG util.py:250: /var/tmp/rpm-tmp.22022: line 4: rm: command not found DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 194 MB/s | 72 MB 00:00 DEBUG util.py:250: error: %post(procps-2.0.17-13.10.x86_64) scriptlet failed, exit status 127 DEBUG util.py:250: dev package: mounted devfs detected but installing anyway. DEBUG util.py:250: Installed: buildsys-build.noarch 0:0.5-3.CF.rhel3 DEBUG util.py:250: Dependency Installed: SysVinit.x86_64 0:2.85-4.4 basesystem.noarch 0:8.0-2.centos.0 bash.x86_64 0:2.05b-41.7.centos.0 beecrypt.x86_64 0:3.0.1-0.20030630 binutils.x86_64 0:2.14.90.0.4-42 buildsys-macros.noarch 0:1-4.rhel3 bzip2.x86_64 0:1.0.2-12.EL3 bzip2-libs.x86_64 0:1.0.2-12.EL3 centos-release.x86_64 3:3-9.1 chkconfig.x86_64 0:1.3.13.5.EL3-1 coreutils.x86_64 0:4.5.3-28.7 cpio.x86_64 0:2.5-4.RHEL3 cpp.x86_64 0:3.2.3-59 cracklib.x86_64 0:2.7-22 cracklib-dicts.x86_64 0:2.7-22 db4.x86_64 0:4.1.25-8.1 dev.x86_64 0:3.3.12.3-1.0.buildsys_hack.rhel3 diffutils.x86_64 0:2.8.1-8 e2fsprogs.x86_64 0:1.32-15.4 elfutils.x86_64 0:0.94.1-2 elfutils-libelf.x86_64 0:0.94.1-2 ethtool.x86_64 0:1.8-3.3 expat.x86_64 0:1.95.5-6 file.x86_64 0:3.39-9.EL3.4 filesystem.x86_64 0:2.2.1-3.centos.1 findutils.x86_64 1:4.1.7-9.1 gawk.x86_64 0:3.1.1-9 gcc.x86_64 0:3.2.3-59 gcc-c++.x86_64 0:3.2.3-59 gdbm.x86_64 0:1.8.0-20 glib.x86_64 1:1.2.10-11.1 glibc.x86_64 0:2.3.2-95.50 glibc-common.x86_64 0:2.3.2-95.50 glibc-devel.x86_64 0:2.3.2-95.50 glibc-headers.x86_64 0:2.3.2-95.50 glibc-kernheaders.x86_64 0:2.4-8.34.5 gmp.x86_64 0:4.1.2-5 gpm.x86_64 0:1.19.3-27.2 grep.x86_64 0:2.5.1-24.6 gzip.x86_64 0:1.3.3-14.rhel3 info.x86_64 0:4.5-3.el3.1 initscripts.x86_64 0:7.31.31.EL-1.centos.1 iproute.x86_64 0:2.4.7-11.30E.2 iputils.x86_64 0:20020927-11.30.5 krb5-libs.x86_64 0:1.2.7-68 laus-libs.x86_64 0:0.1-76RHEL3 less.x86_64 0:378-12 libacl.x86_64 0:2.2.3-1 libattr.x86_64 0:2.2.0-1 libgcc.x86_64 0:3.2.3-59 libstdc++.x86_64 0:3.2.3-59 libstdc++-devel.x86_64 0:3.2.3-59 libtermcap.x86_64 0:2.0.8-35 make.x86_64 1:3.79.1-17.1 mingetty.x86_64 0:1.06-1 mktemp.x86_64 0:1.5-18.2 modutils.x86_64 0:2.4.25-14.EL mount.x86_64 0:2.11y-31.24 ncurses.x86_64 0:5.3-9.4 net-tools.x86_64 0:1.60-20E.10 openssl.x86_64 0:0.9.7a-33.24 pam.x86_64 0:0.75-72 patch.x86_64 0:2.5.4-16 pcre.x86_64 0:3.9-10.4 perl.x86_64 2:5.8.0-98.EL3 perl-Filter.x86_64 0:1.29-3 popt.x86_64 0:1.8.2-32_nonptl procps.x86_64 0:2.0.17-13.10 psmisc.x86_64 0:21.3-2.1 python.x86_64 0:2.2.3-6.8 readline.x86_64 0:4.3-5.2 redhat-rpm-config.noarch 0:8.0.28-4.centos.0 rpm.x86_64 0:4.2.3-32_nonptl rpm-build.x86_64 0:4.2.3-32_nonptl rpm-libs.x86_64 0:4.2.3-32_nonptl sed.x86_64 0:4.0.7-9.el3 setup.noarch 0:2.5.27-1 shadow-utils.x86_64 2:4.0.3-29.RHEL3 sysklogd.x86_64 0:1.4.1-26_EL3 tar.x86_64 0:1.13.25-15.RHEL3 termcap.noarch 0:11.0.1-17.1 tzdata.noarch 0:2008e-1.el3 unzip.x86_64 0:5.50-36.EL3 util-linux.x86_64 0:2.11y-31.24 which.x86_64 0:2.14-7 words.noarch 0:2-21 zlib.x86_64 0:1.1.4-10.EL3 DEBUG util.py:311: Child returncode was: 1
Simply adding an "exit 0" to the end of the scripts was sufficient to fix this, but I also thought it better to specify the full paths to the commands as well, as I normally do in my own packages. Adding in the hacked procps and util-linux packages where needed resolved all of the remaining problems and I was then able to build my test case package (ppp) on all distributions with the new new version of yum.
DEBUG util.py:272: Executing command: /usr/bin/yum --installroot /var/lib/mock/centos-3-x86_64/root/ install buildsys-build DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Package Arch Version Repository Size DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Installing: DEBUG util.py:250: buildsys-build noarch 0.5-3.CF.rhel3 groups 2.5 k DEBUG util.py:250: Installing for dependencies: DEBUG util.py:250: SysVinit x86_64 2.85-4.4 core 99 k DEBUG util.py:250: basesystem noarch 8.0-2.centos.0 core 2.5 k DEBUG util.py:250: bash x86_64 2.05b-41.7.centos.0 core 1.5 M DEBUG util.py:250: beecrypt x86_64 3.0.1-0.20030630 core 72 k DEBUG util.py:250: binutils x86_64 2.14.90.0.4-42 core 2.9 M DEBUG util.py:250: buildsys-macros noarch 1-4.rhel3 groups 2.8 k DEBUG util.py:250: bzip2 x86_64 1.0.2-12.EL3 updates-released 49 k DEBUG util.py:250: bzip2-libs x86_64 1.0.2-12.EL3 updates-released 32 k DEBUG util.py:250: centos-release x86_64 3:3-9.1 core 14 k DEBUG util.py:250: chkconfig x86_64 1.3.13.5.EL3-1 core 124 k DEBUG util.py:250: coreutils x86_64 4.5.3-28.7 core 2.4 M DEBUG util.py:250: cpio x86_64 2.5-4.RHEL3 core 48 k DEBUG util.py:250: cpp x86_64 3.2.3-59 core 260 k DEBUG util.py:250: cracklib x86_64 2.7-22 core 26 k DEBUG util.py:250: cracklib-dicts x86_64 2.7-22 core 409 k DEBUG util.py:250: db4 x86_64 4.1.25-8.1 core 731 k DEBUG util.py:250: dev x86_64 3.3.12.3-1.0.buildsys_hack.rhel3 groups 2.8 M DEBUG util.py:250: diffutils x86_64 2.8.1-8 core 209 k DEBUG util.py:250: e2fsprogs x86_64 1.32-15.4 updates-released 565 k DEBUG util.py:250: elfutils x86_64 0.94.1-2 core 135 k DEBUG util.py:250: elfutils-libelf x86_64 0.94.1-2 core 37 k DEBUG util.py:250: ethtool x86_64 1.8-3.3 core 51 k DEBUG util.py:250: expat x86_64 1.95.5-6 core 66 k DEBUG util.py:250: file x86_64 3.39-9.EL3.4 core 170 k DEBUG util.py:250: filesystem x86_64 2.2.1-3.centos.1 core 14 k DEBUG util.py:250: findutils x86_64 1:4.1.7-9.1 core 104 k DEBUG util.py:250: gawk x86_64 3.1.1-9 core 1.5 M DEBUG util.py:250: gcc x86_64 3.2.3-59 core 4.6 M DEBUG util.py:250: gcc-c++ x86_64 3.2.3-59 core 2.2 M DEBUG util.py:250: gdbm x86_64 1.8.0-20 core 26 k DEBUG util.py:250: glib x86_64 1:1.2.10-11.1 core 142 k DEBUG util.py:250: glibc x86_64 2.3.2-95.50 core 4.8 M DEBUG util.py:250: glibc-common x86_64 2.3.2-95.50 core 12 M DEBUG util.py:250: glibc-devel x86_64 2.3.2-95.50 core 2.3 M DEBUG util.py:250: glibc-headers x86_64 2.3.2-95.50 core 522 k DEBUG util.py:250: glibc-kernheaders DEBUG util.py:250: x86_64 2.4-8.34.5 core 931 k DEBUG util.py:250: gmp x86_64 4.1.2-5 core 176 k DEBUG util.py:250: gpm x86_64 1.19.3-27.2 core 133 k DEBUG util.py:250: grep x86_64 2.5.1-24.6 core 173 k DEBUG util.py:250: gzip x86_64 1.3.3-14.rhel3 core 93 k DEBUG util.py:250: info x86_64 4.5-3.el3.1 core 156 k DEBUG util.py:250: initscripts x86_64 7.31.31.EL-1.centos.1 core 595 k DEBUG util.py:250: iproute x86_64 2.4.7-11.30E.2 updates-released 349 k DEBUG util.py:250: iputils x86_64 20020927-11.30.5 core 103 k DEBUG util.py:250: krb5-libs x86_64 1.2.7-68 updates-released 463 k DEBUG util.py:250: laus-libs x86_64 0.1-76RHEL3 core 35 k DEBUG util.py:250: less x86_64 378-12 DEBUG util.py:250: core 108 k DEBUG util.py:250: libacl x86_64 2.2.3-1 core 13 k DEBUG util.py:250: libattr x86_64 2.2.0-1 core 6.8 k DEBUG util.py:250: libgcc x86_64 3.2.3-59 core 63 k DEBUG util.py:250: libstdc++ x86_64 3.2.3-59 core 260 k DEBUG util.py:250: libstdc++-devel x86_64 3.2.3-59 core 1.2 M DEBUG util.py:250: libtermcap x86_64 2.0.8-35 core 12 k DEBUG util.py:250: make x86_64 1:3.79.1-17.1 core 305 k DEBUG util.py:250: mingetty x86_64 1.06-1 core 18 k DEBUG util.py:250: mktemp x86_64 1.5-18.2 core 13 k DEBUG util.py:250: modutils x86_64 2.4.25-14.EL core 592 k DEBUG util.py:250: mount x86_64 2.11y-31.24 updates-released 116 k DEBUG util.py:250: ncurses x86_64 5.3-9.4 core 1.5 M DEBUG util.py:250: net-tools x86_64 1.60-20E.10 core 317 k DEBUG util.py:250: openssl x86_64 0.9.7a-33.24 updates-released 1.1 M DEBUG util.py:250: pam x86_64 0.75-72 core 841 k DEBUG util.py:250: patch x86_64 2.5.4-16 core 60 k DEBUG util.py:250: pcre x86_64 3.9-10.4 updates-released 46 k DEBUG util.py:250: perl x86_64 2:5.8.0-98.EL3 updates-released 12 M DEBUG util.py:250: perl-Filter x86_64 1.29-3 core 68 k DEBUG util.py:250: popt x86_64 1.8.2-32_nonptl core 64 k DEBUG util.py:250: procps x86_64 2.0.17-13.10.buildsys_hack.rhel3 groups 165 k DEBUG util.py:250: psmisc x86_64 21.3-2.1 core 39 k DEBUG util.py:250: python x86_64 2.2.3-6.8 updates-released 4.2 M DEBUG util.py:250: readline x86_64 4.3-5.2 core 187 k DEBUG util.py:250: redhat-rpm-config DEBUG util.py:250: noarch 8.0.28-4.centos.0 core 40 k DEBUG util.py:250: rpm x86_64 4.2.3-32_nonptl core 569 k DEBUG util.py:250: rpm-build x86_64 4.2.3-32_nonptl core 471 k DEBUG util.py:250: rpm-libs x86_64 4.2.3-32_nonptl core 730 k DEBUG util.py:250: sed x86_64 4.0.7-9.el3 core 113 k DEBUG util.py:250: setup noarch 2.5.27-1 core 28 k DEBUG util.py:250: shadow-utils x86_64 2:4.0.3-29.RHEL3 core 604 k DEBUG util.py:250: sysklogd x86_64 1.4.1-26_EL3 core 73 k DEBUG util.py:250: tar x86_64 1.13.25-15.RHEL3 core 357 k DEBUG util.py:250: termcap noarch 11.0.1-17.1 core 237 k DEBUG util.py:250: tzdata noarch 2008e-1.el3 updates-released 454 k DEBUG util.py:250: unzip x86_64 5.50-36.EL3 updates-released 150 k DEBUG util.py:250: util-linux x86_64 2.11y-31.24 updates-released 1.3 M DEBUG util.py:250: which x86_64 2.14-7 core 21 k DEBUG util.py:250: words noarch 2-21 core 136 k DEBUG util.py:250: zlib x86_64 1.1.4-10.EL3 core 34 k DEBUG util.py:250: Transaction Summary DEBUG util.py:250: ================================================================================ DEBUG util.py:250: Install 88 Package(s) DEBUG util.py:250: Update 0 Package(s) DEBUG util.py:250: Remove 0 Package(s) DEBUG util.py:250: Total download size: 72 M DEBUG util.py:250: /var/tmp/rpm-tmp.88940: line 6: cat: command not found DEBUG util.py:250: /var/tmp/rpm-tmp.88940: line 7: rm: command not found DEBUG util.py:250: telinit: timeout opening/writing control channel /dev/initctl DEBUG util.py:250: dev package: mounted devfs detected but installing anyway. DEBUG util.py:250: -------------------------------------------------------------------------------- DEBUG util.py:250: Total 901 MB/s | 72 MB 00:00 DEBUG util.py:250: Installed: buildsys-build.noarch 0:0.5-3.CF.rhel3 DEBUG util.py:250: Dependency Installed: SysVinit.x86_64 0:2.85-4.4 basesystem.noarch 0:8.0-2.centos.0 bash.x86_64 0:2.05b-41.7.centos.0 beecrypt.x86_64 0:3.0.1-0.20030630 binutils.x86_64 0:2.14.90.0.4-42 buildsys-macros.noarch 0:1-4.rhel3 bzip2.x86_64 0:1.0.2-12.EL3 bzip2-libs.x86_64 0:1.0.2-12.EL3 centos-release.x86_64 3:3-9.1 chkconfig.x86_64 0:1.3.13.5.EL3-1 coreutils.x86_64 0:4.5.3-28.7 cpio.x86_64 0:2.5-4.RHEL3 cpp.x86_64 0:3.2.3-59 cracklib.x86_64 0:2.7-22 cracklib-dicts.x86_64 0:2.7-22 db4.x86_64 0:4.1.25-8.1 dev.x86_64 0:3.3.12.3-1.0.buildsys_hack.rhel3 diffutils.x86_64 0:2.8.1-8 e2fsprogs.x86_64 0:1.32-15.4 elfutils.x86_64 0:0.94.1-2 elfutils-libelf.x86_64 0:0.94.1-2 ethtool.x86_64 0:1.8-3.3 expat.x86_64 0:1.95.5-6 file.x86_64 0:3.39-9.EL3.4 filesystem.x86_64 0:2.2.1-3.centos.1 findutils.x86_64 1:4.1.7-9.1 gawk.x86_64 0:3.1.1-9 gcc.x86_64 0:3.2.3-59 gcc-c++.x86_64 0:3.2.3-59 gdbm.x86_64 0:1.8.0-20 glib.x86_64 1:1.2.10-11.1 glibc.x86_64 0:2.3.2-95.50 glibc-common.x86_64 0:2.3.2-95.50 glibc-devel.x86_64 0:2.3.2-95.50 glibc-headers.x86_64 0:2.3.2-95.50 glibc-kernheaders.x86_64 0:2.4-8.34.5 gmp.x86_64 0:4.1.2-5 gpm.x86_64 0:1.19.3-27.2 grep.x86_64 0:2.5.1-24.6 gzip.x86_64 0:1.3.3-14.rhel3 info.x86_64 0:4.5-3.el3.1 initscripts.x86_64 0:7.31.31.EL-1.centos.1 iproute.x86_64 0:2.4.7-11.30E.2 iputils.x86_64 0:20020927-11.30.5 krb5-libs.x86_64 0:1.2.7-68 laus-libs.x86_64 0:0.1-76RHEL3 less.x86_64 0:378-12 libacl.x86_64 0:2.2.3-1 libattr.x86_64 0:2.2.0-1 libgcc.x86_64 0:3.2.3-59 libstdc++.x86_64 0:3.2.3-59 libstdc++-devel.x86_64 0:3.2.3-59 libtermcap.x86_64 0:2.0.8-35 make.x86_64 1:3.79.1-17.1 mingetty.x86_64 0:1.06-1 mktemp.x86_64 0:1.5-18.2 modutils.x86_64 0:2.4.25-14.EL mount.x86_64 0:2.11y-31.24 ncurses.x86_64 0:5.3-9.4 net-tools.x86_64 0:1.60-20E.10 openssl.x86_64 0:0.9.7a-33.24 pam.x86_64 0:0.75-72 patch.x86_64 0:2.5.4-16 pcre.x86_64 0:3.9-10.4 perl.x86_64 2:5.8.0-98.EL3 perl-Filter.x86_64 0:1.29-3 popt.x86_64 0:1.8.2-32_nonptl procps.x86_64 0:2.0.17-13.10.buildsys_hack.rhel3 psmisc.x86_64 0:21.3-2.1 python.x86_64 0:2.2.3-6.8 readline.x86_64 0:4.3-5.2 redhat-rpm-config.noarch 0:8.0.28-4.centos.0 rpm.x86_64 0:4.2.3-32_nonptl rpm-build.x86_64 0:4.2.3-32_nonptl rpm-libs.x86_64 0:4.2.3-32_nonptl sed.x86_64 0:4.0.7-9.el3 setup.noarch 0:2.5.27-1 shadow-utils.x86_64 2:4.0.3-29.RHEL3 sysklogd.x86_64 0:1.4.1-26_EL3 tar.x86_64 0:1.13.25-15.RHEL3 termcap.noarch 0:11.0.1-17.1 tzdata.noarch 0:2008e-1.el3 unzip.x86_64 0:5.50-36.EL3 util-linux.x86_64 0:2.11y-31.24 which.x86_64 0:2.14-7 words.noarch 0:2-21 zlib.x86_64 0:1.1.4-10.EL3 DEBUG util.py:311: Child returncode was: 0
If anyone else has come across the same issues and would like the hacked packages, you can find them here.