#!/bin/sh [ $# != 2 ] && { echo "usage: make_mdkinst_stage2 " ; echo " example: misc/make_mdkinst_stage2 Mandrake/mdkinst Mandrake/base/mdkinst_stage2" exit } STAGE2TMP=/tmp/stage2_tmp MKE2FS="/sbin/mke2fs -q -m 0 -F -s 1" MNTPOINT=/tmp/stage2_img REP4PMS=/usr/bin/perl-install DEST=$1 STAGE2=$2 testandset() { [ -x $1/build_archive ] && BUILD_ARCHIVE=$1/build_archive; } testandset `pwd`/misc testandset `pwd`/. testandset /$DEST/../../misc testandset `pwd`/$DEST/../../misc [ -z "$BUILD_ARCHIVE" ] && { echo "can't find build_archive"; exit 1; } if [ $EUID != "0" ]; then SUDO="sudo" PATH="/sbin:/usr/sbin:$PATH" fi $SUDO rm -rf $STAGE2TMP install -d $STAGE2TMP $SUDO cp -a $DEST/* $STAGE2TMP mkdir -p $MNTPOINT 2>/dev/null for i in $MNTPOINT $STAGE2; do $SUDO umount $i 2>/dev/null ; done dd if=/dev/zero of=$STAGE2 bs=1k count=16000 $MKE2FS -N 1000 $STAGE2 $SUDO mount -t ext2 $STAGE2 $MNTPOINT -o loop # hack to reduce the STAGE2 image (do not edit without modifying in DrakX) rm -f $STAGE2TMP/usr/X11R6/bin/XF86_VGA16 rm -f $STAGE2TMP/$REP4PMS/po/DrakX.pot for i in /usr/share/locale; do \ name=`basename $i` ; \ (cd $STAGE2TMP/$i ; find * | cpio -o 2>/dev/null | bzip2 > ../$name.cpio.bz2 ; cd .. ; rm -rf $name) \ done for i in /usr/share/keymaps /usr/share/xmodmap $REP4PMS/po; do name=`basename $i` (cd $STAGE2TMP/$i ; ls * | $BUILD_ARCHIVE ../$name 400000) rm -rf $STAGE2TMP/$i done $SUDO cp -a $STAGE2TMP/* $MNTPOINT $SUDO rm -rf $STAGE2TMP df $MNTPOINT $SUDO umount $STAGE2 rmdir $MNTPOINT echo gzipping $STAGE2 gzip -f -9 $STAGE2