diff options
Diffstat (limited to 'testing')
-rw-r--r-- | testing/freetype2/PKGBUILD | 28 | ||||
-rw-r--r-- | testing/freetype2/freetype-2.2.1-enable-valid.patch | 20 | ||||
-rw-r--r-- | testing/freetype2/freetype-2.3.0-enable-spr.patch | 11 | ||||
-rw-r--r-- | testing/lvm2/PKGBUILD | 14 | ||||
-rw-r--r-- | testing/mesa/PKGBUILD | 12 | ||||
-rw-r--r-- | testing/python/PKGBUILD | 74 | ||||
-rw-r--r-- | testing/udev/81-arch.rules | 71 | ||||
-rw-r--r-- | testing/udev/PKGBUILD | 97 | ||||
-rw-r--r-- | testing/udev/static-node-permission.patch | 26 | ||||
-rw-r--r-- | testing/udev/udev.install | 70 |
10 files changed, 409 insertions, 14 deletions
diff --git a/testing/freetype2/PKGBUILD b/testing/freetype2/PKGBUILD new file mode 100644 index 000000000..a23428db0 --- /dev/null +++ b/testing/freetype2/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 131135 2011-07-11 07:14:19Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=freetype2 +pkgver=2.4.5 +pkgrel=1 +pkgdesc="TrueType font rendering library" +arch=(i686 x86_64) +license=('GPL') +url="http://freetype.sourceforge.net" +depends=('zlib') +options=('!libtool') +source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2 + freetype-2.3.0-enable-spr.patch + freetype-2.2.1-enable-valid.patch) +md5sums=('90428a6d8ec4876cd1eb94858c2a59b0' + '816dc8619a6904a7385769433c0a8653' + '214119610444c9b02766ccee5e220680') + +build() { + cd "${srcdir}/freetype-${pkgver}" + patch -Np1 -i "${srcdir}/freetype-2.3.0-enable-spr.patch" + patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch" + + ./configure --prefix=/usr + make + make DESTDIR="${pkgdir}" install +} diff --git a/testing/freetype2/freetype-2.2.1-enable-valid.patch b/testing/freetype2/freetype-2.2.1-enable-valid.patch new file mode 100644 index 000000000..c78b6b70f --- /dev/null +++ b/testing/freetype2/freetype-2.2.1-enable-valid.patch @@ -0,0 +1,20 @@ +--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400 ++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400 +@@ -110,7 +110,7 @@ + AUX_MODULES += cache + + # TrueType GX/AAT table validation. Needs ftgxval.c below. +-# AUX_MODULES += gxvalid ++AUX_MODULES += gxvalid + + # Support for streams compressed with gzip (files with suffix .gz). + # +@@ -124,7 +124,7 @@ + + # OpenType table validation. Needs ftotval.c below. + # +-# AUX_MODULES += otvalid ++AUX_MODULES += otvalid + + # Auxiliary PostScript driver component to share common code. + # diff --git a/testing/freetype2/freetype-2.3.0-enable-spr.patch b/testing/freetype2/freetype-2.3.0-enable-spr.patch new file mode 100644 index 000000000..8432e28a4 --- /dev/null +++ b/testing/freetype2/freetype-2.3.0-enable-spr.patch @@ -0,0 +1,11 @@ +--- freetype-2.3.0/include/freetype/config/ftoption.h.spf 2007-01-18 14:27:34.000000000 -0500 ++++ freetype-2.3.0/include/freetype/config/ftoption.h 2007-01-18 14:27:48.000000000 -0500 +@@ -92,7 +92,7 @@ + /* This is done to allow FreeType clients to run unmodified, forcing */ + /* them to display normal gray-level anti-aliased glyphs. */ + /* */ +-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ ++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + + /*************************************************************************/ diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD index 0e13adba9..a2f1e5010 100644 --- a/testing/lvm2/PKGBUILD +++ b/testing/lvm2/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 129975 2011-06-30 17:54:05Z thomas $ +# $Id: PKGBUILD 131232 2011-07-12 03:27:34Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.85 +pkgver=2.02.86 _pkgverlvm=${pkgver} -pkgrel=3 +pkgrel=1 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') @@ -14,23 +14,19 @@ groups=('base') source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz lvm2_install lvm2_hook - Be-quiet-on-removing-cache-on-read-only-fs.diff 11-dm-initramfs.rules) -md5sums=('91785ca438e5ce679dd3a386b183d552' +md5sums=('3b42dec4d15ad106302a35149082a20e' 'dcb82506d732cc7b10159a89b579dba8' '8d613b84a175cd85f752a75198e40e15' - '6db89da27928d2415a8e26cd0a842712' '69e40679cd8b3658bfc619e48baae125') -sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7' +sha1sums=('f435b389cc11c8f415244fe382f3839d1676770c' '7f108b2f2056eb050fc898bf5190ecf9145aed8a' 'a0e0513c2efb183006e57e595d93ce18be297928' - '6d7dd04be291d7537235704c816a701fd5beacc0' 'f6a554eea9557c3c236df2943bb6e7e723945c41') build() { cd "${srcdir}/LVM2.${_pkgverlvm}" sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh - patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff unset LDFLAGS ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ --includedir=/usr/include --with-usrlibdir=/usr/lib \ diff --git a/testing/mesa/PKGBUILD b/testing/mesa/PKGBUILD index 07cc07301..2da496b53 100644 --- a/testing/mesa/PKGBUILD +++ b/testing/mesa/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 131079 2011-07-10 09:28:29Z andyrtr $ +# $Id: PKGBUILD 131188 2011-07-11 16:27:41Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Maintainer: Andreas Radke <andyrtr@archlinux.org> @@ -14,7 +14,7 @@ if [ "${_git}" = "true" ]; then else pkgver=7.11rc1 fi -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') makedepends=('glproto>=1.4.14' 'libdrm>=2.4.26' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.3' 'libxt>=1.1.1' 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm') @@ -34,8 +34,10 @@ md5sums=('5c65a0fe315dd347e09b1f2826a1df5a' '2246d97eb0cfb1f6d2bf8a54b533d07f') build() { - cd ${srcdir}/?esa-* - + cd ${srcdir}/?esa-* + # fix link errors: https://bugs.archlinux.org/task/25093 + export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} + if [ "${_git}" = "true" ]; then patch -Np1 -i ${srcdir}/git_fixes.patch autoreconf -vfi @@ -43,7 +45,7 @@ if [ "${_git}" = "true" ]; then --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,nouveau,swrast \ --enable-gallium-llvm \ - --enable-gallium-egl \ + --enable-gallium-egl --enable-shared-glapi\ --enable-glx-tls \ --with-driver=dri \ --enable-xcb \ diff --git a/testing/python/PKGBUILD b/testing/python/PKGBUILD new file mode 100644 index 000000000..c971f7337 --- /dev/null +++ b/testing/python/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 131166 2011-07-11 13:06:25Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> + +pkgname=python +pkgver=3.2.1 +pkgrel=1 +_pybasever=3.2 +pkgdesc="Next generation of the python high-level scripting language" +arch=('i686' 'x86_64') +license=('custom') +url="http://www.python.org/" +depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib') +makedepends=('tk' 'sqlite3' 'valgrind') +optdepends=('tk: for tkinter' 'sqlite3') +provides=('python3') +replaces=('python3') +options=('!makeflags') +source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz) +sha1sums=('ab5cf4a4c21abe590dea87473a1dee6820699d79') + +build() { + cd "${srcdir}/Python-${pkgver}" + + # FS#23997 + sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py + + # Ensure that we are using the system copy of various libraries (expat, zlib and libffi), + # rather than copies shipped in the tarball + rm -r Modules/expat + rm -r Modules/zlib + rm -r Modules/_ctypes/{darwin,libffi}* + + ./configure --prefix=/usr \ + --enable-shared \ + --with-threads \ + --with-computed-gotos \ + --enable-ipv6 \ + --with-valgrind \ + --with-wide-unicode \ + --with-system-expat \ + --with-system-ffi + + make +} + +check() { + cd "${srcdir}/Python-${pkgver}" + LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \ + "${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_distutils test_site +} + +package() { + cd "${srcdir}/Python-${pkgver}" + make DESTDIR="${pkgdir}" install maninstall + + # Why are these not done by default... + ln -sf python3 "${pkgdir}/usr/bin/python" + ln -sf python3-config "${pkgdir}/usr/bin/python-config" + ln -sf idle3 "${pkgdir}/usr/bin/idle" + ln -sf pydoc3 "${pkgdir}/usr/bin/pydoc" + ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python3.1" + + # Fix FS#22552 + ln -sf ../../libpython${_pybasever}mu.so \ + "${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so" + + # Clean-up reference to build directory + sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile" + + # License + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/udev/81-arch.rules b/testing/udev/81-arch.rules new file mode 100644 index 000000000..71f1a883b --- /dev/null +++ b/testing/udev/81-arch.rules @@ -0,0 +1,71 @@ +# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org> +# do not edit this file, it will be overwritten on update +# +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %k the kernel name for the device. +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute. +# %% the '%' char itself. +# +# There are a number of modifiers that are allowed to be used in some of the +# fields. See the udev man page for a full description of them. +# global stuff +# + +# permission for sg devices +KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660" + +# permissions for IDE CD devices +SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical" + +# permissions for SCSI CD devices +SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical" + +# permissions for removable devices like cardreaders or sticks +KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage" + +# permissions for firewire external drives +KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage" + +# permissions for usb to scsi external adapters +KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage" + +# permissions for ide storage like pcmcia card readers +ACTION!="add", GOTO="pcmcia_end" +SUBSYSTEM!="block", GOTO="pcmcia_end" +KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode" +KERNEL=="hd*", IMPORT{parent}=="ID_*" +KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage" +LABEL="pcmcia_end" + +# permissions for SCSI scanners +SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner" + +# mem +KERNEL=="ram0", SYMLINK+="ramdisk" +KERNEL=="ram1", SYMLINK+="ram" + +# video4linux + +KERNEL=="vbi0", SYMLINK+="vbi" +KERNEL=="radio0", SYMLINK+="radio" +KERNEL=="radio[0-9]*", GROUP="video" +KERNEL=="video0", SYMLINK+="video" +KERNEL=="vtx0", SYMLINK+="vtx" + +# misc +KERNEL=="sgi_fetchop", MODE="0666" +KERNEL=="sonypi", MODE="0666" + +# USB devices +KERNEL=="legousbtower*", MODE="0666" +####################################### +# Permissions and Symlinks - end +####################################### diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD new file mode 100644 index 000000000..59b827015 --- /dev/null +++ b/testing/udev/PKGBUILD @@ -0,0 +1,97 @@ +# $Id: PKGBUILD 131208 2011-07-11 21:32:31Z tomegun $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> +# Maintainer: Tom Gundersen <teg@jklm.no> + +pkgbase="udev" +pkgname=('udev' 'udev-compat') +pkgver=172 +pkgrel=2 +arch=(i686 x86_64) +url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +license=('GPL') +groups=('base') +# older initscripts versions required start_udev +options=(!makeflags !libtool) +makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection') +source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2 + static-node-permission.patch + 81-arch.rules) + +build() { + cd $srcdir/$pkgbase-$pkgver + # permissions on static /dev/fuse node (will be in udev-173) + patch -Np1 -i ../static-node-permission.patch + ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\ + --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system\ + --disable-rule-generator + make +} + +package_udev() { + pkgdesc="The userspace dev tools (udev)" + depends=('glibc' 'coreutils' 'util-linux' 'libusb-compat' 'glib2' + 'module-init-tools>=3.11' 'pciutils') + install=udev.install + backup=(etc/udev/udev.conf) + conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07') + replaces=('devfsd') + + cd $srcdir/$pkgbase-$pkgver + make DESTDIR=${pkgdir} install + # Install our rule for permissions and symlinks + install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules + + # create framebuffer blacklist + mkdir -p $pkgdir/lib/modprobe.d/ + for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do + echo "blacklist $mod" + done | sort -u > $pkgdir/lib/modprobe.d/framebuffer_blacklist.conf + + # these static devices are created for convenience, to autoload the modules if necessary + # /dev/loop0 + mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0 + chgrp disk ${pkgdir}/lib/udev/devices/loop0 + + # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group + for i in $pkgdir/lib/udev/rules.d/*.rules; do + sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g; + s#GROUP="tape"#GROUP="storage"#g; + s#GROUP="cdrom"#GROUP="optical"#g' $i + done +} + +package_udev-compat() { + pkgdesc="The userspace dev tools (udev) - additional rules for older kernels" + depends=('udev') + groups=('') + cd $srcdir/$pkgbase-$pkgver + install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d + install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules + # create static devices in /lib/udev/devices/ + mkdir -p ${pkgdir}/lib/udev/devices/{pts,shm} + + mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1 + mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3 + mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5 + mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11 + + ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd + ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin + ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout + ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr + ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core + + # these static devices are created for convenience, to autoload the modules if necessary + # /dev/net/tun + mkdir ${pkgdir}/lib/udev/devices/net + mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200 + # /dev/fuse + mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229 + # /dev/ppp + mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0 +} +md5sums=('bd122d04cf758441f498aad0169a454f' + '07e5b965d7e90988ea2f7ffb19a08ef7' + 'ec529eb1ddaabb70c61b38f80bb8462a') diff --git a/testing/udev/static-node-permission.patch b/testing/udev/static-node-permission.patch new file mode 100644 index 000000000..3d9a8722c --- /dev/null +++ b/testing/udev/static-node-permission.patch @@ -0,0 +1,26 @@ +From 36acdbcc776822624103eff7c80a9468317918ac Mon Sep 17 00:00:00 2001 +From: Kay Sievers <kay.sievers@vrfy.org> +Date: Mon, 11 Jul 2011 22:56:37 +0200 +Subject: [PATCH] udevd: fix (recently) broken static node permission setting + +Many thanks to Tom Gundersen for identifying the issue. +--- + udev/udev-rules.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/udev/udev-rules.c b/udev/udev-rules.c +index d16c1f9..7db0767 100644 +--- a/udev/udev-rules.c ++++ b/udev/udev-rules.c +@@ -2721,7 +2721,7 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules) + struct stat stats; + + /* we assure, that the permissions tokens are sorted before the static token */ +- if (uid == 0 && gid == 0) ++ if (mode == 0 && uid == 0 && gid == 0) + goto next; + util_strscpyl(filename, sizeof(filename), udev_get_dev_path(rules->udev), "/", + &rules->buf[cur->key.value_off], NULL); +-- +1.7.6 + diff --git a/testing/udev/udev.install b/testing/udev/udev.install new file mode 100644 index 000000000..c3970fedd --- /dev/null +++ b/testing/udev/udev.install @@ -0,0 +1,70 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 172)" -lt 0 ]; then + echo "ATTENTION UDEV:" + echo "----------" + if [ "$(vercmp $2 168)" -lt 0 ]; then + echo "Kernel 2.6.32 or newer is now required." + echo " --" + echo "OSS emulation modules are not loaded by default, add to rc.conf if needed." + echo " --" + echo "Arch specific cd symlinks are now no longer created." + echo " --" + echo "cd and net persistent rules will no longer be autogenerated," + echo "see <https://wiki.archlinux.org/index.php/Udev> for details." + echo " --" + echo "Errors are now logged (possibly to the console) by default." + echo " --" + fi + if [ "$(vercmp $2 171)" -lt 0 ]; then + echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and" + echo "blacklisting in MODULES no longer works." + echo "See 'man modprobe.conf' for a replacement to blacklisting." + echo "To disable a module mod1 on the kernel command line, use" + echo "mod1.disable=1" + echo "or" + echo "modprobe.blacklist=mod1" + echo " --" + echo "The following modules are no longer unconditionally loaded:" + echo " pcspkr irtty-sir analog lp ppdev ide-generic" + echo "Add them to MODULES in rc.conf if you need them." + echo " --" + fi + echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat." + echo " --" + echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to /lib/modprobe.d" + echo "Any customizations shoud be done to the file in /etc, as it takes precedence." + echo " --" + echo "kbd and rtc devices are no longer world readable." + echo " --" + echo "rtc is no longer in the audio group and fb devices are no longer in the video group" + echo "(permissions and ownership of fb devices are controlled by X)." + echo "---------------" + fi +} + +post_install() { + # If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist + # The Archlinux installer bind-mounts /dev to /mnt/dev, thus making the real /dev invisible + ROOTDIR="" + [ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX) + [ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR} + if [ ! -c ${ROOTDIR}/dev/console ]; then + rm -f ${ROOTDIR}/dev/console + mknod -m600 ${ROOTDIR}/dev/console c 5 1 + fi + if [ ! -c ${ROOTDIR}/dev/null ]; then + rm -f ${ROOTDIR}/dev/null + mknod -m644 ${ROOTDIR}/dev/null c 1 3 + fi + if [ ! -c ${ROOTDIR}/dev/zero ]; then + rm -f ${ROOTDIR}/dev/zero + mknod -m644 ${ROOTDIR}/dev/zero c 1 5 + fi + if [ -n "${ROOTDIR}" ]; then + umount ${ROOTDIR} + rmdir ${ROOTDIR} + fi +} |