#!/bin/sh CWD=$(pwd) PKG=/tmp/package-mkinitrd VERSION=1.3.2 BB=1.7.2 ARCH=${ARCH:-i486} BUILD=3 rm -rf $PKG mkdir -p $PKG cd /tmp rm -rf busybox-$BB tar xjvf $CWD/busybox-$BB.tar.bz2 || exit 1 cd busybox-$BB zcat $CWD/busybox-${BB}.remove_warning.diff.gz | patch -p1 --verbose || exit 1 zcat $CWD/busybox-${BB}.no-gc-sections.diff.gz | patch -p1 --verbose || exit 1 chown -R root:root . cp $CWD/busybox-dot-config .config make oldconfig make -j4 || exit 1 mkdir -p $PKG/usr/share/mkinitrd cp $CWD/keymaps.tar.gz $PKG/usr/share/mkinitrd mkdir -p $PKG/usr/share/mkinitrd/initrd-tree/bin cp busybox $PKG/usr/share/mkinitrd/initrd-tree/bin ( cd $PKG/usr/share/mkinitrd/initrd-tree tar xzf $CWD/_initrd-tree.tar.gz tar czf ../initrd-tree.tar.gz . ) rm -rf $PKG/usr/share/mkinitrd/initrd-tree # Add busybox docs: mkdir -p $PKG/usr/doc/busybox-$BB cp -a AUTHORS INSTALL LICENSE README \ $PKG/usr/doc/busybox-$BB mkdir -p $PKG/sbin cat $CWD/mkinitrd > $PKG/sbin/mkinitrd chmod 755 $PKG/sbin/mkinitrd mkdir -p $PKG/usr/man/man{5,8} cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz mkdir -p $PKG/etc cat $CWD/mkinitrd.conf.sample > $PKG/etc/mkinitrd.conf.sample mkdir -p $PKG/usr/doc/mkinitrd-$VERSION cp -a $CWD/README.initrd $PKG/usr/doc/mkinitrd-$VERSION ( cd $PKG/usr/doc/mkinitrd-$VERSION DATE="$(date)" KERNEL_VERSION="$(uname -r)" PACKAGE_VERSION="$(uname -r | tr - _)" LILO_KERNEL_NAME="$(echo $(uname -r) | tr -d . | tr -d - )" cat README.initrd | sed -e s/@DATE@/"$DATE"/ > README.initrd1 cat README.initrd1 | sed -e s/@KERNEL_VERSION@/"$KERNEL_VERSION"/ > README.initrd2 cat README.initrd2 | sed -e s/@PACKAGE_VERSION@/"$PACKAGE_VERSION"/ > README.initrd3 cat README.initrd3 | sed -e s/@LILO_KERNEL_NAME@/"$LILO_KERNEL_NAME"/ > README.initrd4 cat README.initrd4 | sed -e s/@MKINITRD_VERSION@/"$VERSION"/ > README.initrd5 cat README.initrd5 | sed -e s/@ARCH@/"$ARCH"/ > README.initrd6 cat README.initrd6 | sed -e s/@BUILD@/"$BUILD"/ > README.initrd rm -f README.initrd{1,2,3,4,5,6} ) chmod 644 $PKG/usr/doc/mkinitrd-$VERSION/* chown root:root $PKG/usr/doc/mkinitrd-$VERSION/* mkdir $PKG/boot ( cd $PKG/boot ln -sf /usr/doc/mkinitrd-$VERSION/README.initrd . ) ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG makepkg -l y -c n ../mkinitrd-$VERSION-$ARCH-$BUILD.tgz