tazlito diff tazlito @ rev 61

Add non-free support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Apr 28 16:02:47 2008 +0000 (2008-04-28)
parents 7893a26eaf9b
children fac6736d978e
line diff
     1.1 --- a/tazlito	Tue Apr 22 13:29:59 2008 +0000
     1.2 +++ b/tazlito	Mon Apr 28 16:02:47 2008 +0000
     1.3 @@ -621,7 +621,7 @@
     1.4  			[ -z "$FLAVOR" ] && exit 1
     1.5  		fi
     1.6  		check_rootfs
     1.7 -		FILES="$FLAVOR.pkglist"
     1.8 +		FILES="$FLAVOR.pkglist $FLAVOR.nonfree"
     1.9  		echo -n "Creating file $FLAVOR.flavor..."
    1.10  		for i in rootcd rootfs; do
    1.11  			if [ -d "$ADDFILES/$i" ] ; then
    1.12 @@ -644,7 +644,13 @@
    1.13  		\rm -f $FLAVOR.pkglist 2> /dev/null
    1.14  		for i in $(ls $ROOTFS$INSTALLED); do
    1.15  			eval $(grep ^VERSION= $ROOTFS$INSTALLED/$i/receipt)
    1.16 -			echo "$i-$VERSION" >> $FLAVOR.pkglist
    1.17 +			eval $(grep ^CATEGORY= $ROOTFS$INSTALLED/$i/receipt)
    1.18 +			if [ "$CATEGORY" = "non-free" -a "${i%%-*}" != "get" ]
    1.19 +			then
    1.20 +				echo "$i" >> $FLAVOR.nonfree
    1.21 +			else
    1.22 +				echo "$i-$VERSION" >> $FLAVOR.pkglist
    1.23 +			fi
    1.24  		done
    1.25  		ls $FLAVOR.desc $FILES 2>/dev/null | \
    1.26  			cpio -o -H newc 2>/dev/null | gzip -9 > $FLAVOR.flavor
    1.27 @@ -666,6 +672,7 @@
    1.28  			zcat $FLAVOR.flavor | ( cd $TMP_DIR; cpio -i 2>/dev/null )
    1.29  			echo -n "Create distro-packages.list..."
    1.30  			mv $TMP_DIR/$FLAVOR.pkglist distro-packages.list
    1.31 +			mv $TMP_DIR/$FLAVOR.nonfree non-free.list 2> /dev/null
    1.32  			status
    1.33  			for i in rootcd rootfs; do
    1.34  				if [ -f $TMP_DIR/$FLAVOR.$i ]; then
    1.35 @@ -818,6 +825,21 @@
    1.36  			yes "" | tazpkg install $PACKAGES_REPOSITORY/$pkg.tazpkg --root=$ROOTFS
    1.37  		done
    1.38  		cp $LIST_NAME $ROOTFS/etc/tazlito/distro-packages.list
    1.39 +		if [ -f non-free.list ]; then
    1.40 +			echo "Preparing non-free packages..."
    1.41 +			cp non-free.list $ROOTFS/etc/tazlito/non-free.list
    1.42 +			for pkg in $(cat non-free.list); do
    1.43 +				if [ ! -d $INSTALLED/$pkg ]; then
    1.44 +					if [ ! -d $INSTALLED/get-$pkg ]; then
    1.45 +						tazpkg get-install get-$pkg
    1.46 +					fi
    1.47 +					get-$pkg
    1.48 +				fi
    1.49 +				tazpkg repack $pkg
    1.50 +				yes "" | tazpkg install $pkg*.tazpkg --root=$ROOTFS
    1.51 +				mv $pkg*.tazpkg $PACKAGES_REPOSITORY 
    1.52 +			done
    1.53 +		fi
    1.54  		echo ""
    1.55  		cd $DISTRO
    1.56  		# Copy all files from $ADDFILES/rootfs to the rootfs.