tazlito rev 316

Add: custom_rules function in receipt
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Sat Jun 08 19:25:48 2013 +0200 (2013-06-08)
parents d79156b12816
children 6c238fb48662
files tazlito
line diff
     1.1 --- a/tazlito	Sat Jun 08 12:01:38 2013 +0200
     1.2 +++ b/tazlito	Sat Jun 08 19:25:48 2013 +0200
     1.3 @@ -1535,29 +1535,30 @@
     1.4  			echo -n "Extracting $FLAVOR..."
     1.5  			rm -rf $FLAVORS_REPOSITORY/$FLAVOR 2> /dev/null
     1.6  			mkdir -p $FLAVORS_REPOSITORY/$FLAVOR
     1.7 -			echo "FLAVOR=\"$FLAVOR\"" > $FLAVORS_REPOSITORY/$FLAVOR/receipt
     1.8 -			grep ^Description $TMP_DIR/$FLAVOR.desc | \
     1.9 -				sed 's/.*: \(.*\)$/SHORT_DESC="\1"/' >> \
    1.10 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.11 -			grep ^Version $TMP_DIR/$FLAVOR.desc | \
    1.12 -				sed 's/.*: \(.*\)$/VERSION="\1"/' >> \
    1.13 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.14 -			grep ^Maintainer $TMP_DIR/$FLAVOR.desc | \
    1.15 -				sed 's/.*: \(.*\)$/MAINTAINER="\1"/' >> \
    1.16 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.17 -			grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && \
    1.18 -			grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
    1.19 -				sed 's/.*: \(.*\)$/ROOTFS_SELECTION="\1"/' >> \
    1.20 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.21 -			grep '^Rootfs size' $TMP_DIR/$FLAVOR.desc | \
    1.22 -				sed 's/.*: \(.*\)$/ROOTFS_SIZE="\1"/' >> \
    1.23 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.24 -			grep ^Initramfs $TMP_DIR/$FLAVOR.desc | \
    1.25 -				sed 's/.*: \(.*\)$/INITRAMFS_SIZE="\1"/' >> \
    1.26 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.27 -			grep ^ISO $TMP_DIR/$FLAVOR.desc | \
    1.28 -				sed 's/.*: \(.*\)$/ISO_SIZE="\1"/' >> \
    1.29 -				$FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.30 +			cp $TMP_DIR/$FLAVOR.receipt $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.31 +			#~ echo "FLAVOR=\"$FLAVOR\"" > $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.32 +			#~ grep ^Description $TMP_DIR/$FLAVOR.desc | \
    1.33 +				#~ sed 's/.*: \(.*\)$/SHORT_DESC="\1"/' >> \
    1.34 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.35 +			#~ grep ^Version $TMP_DIR/$FLAVOR.desc | \
    1.36 +				#~ sed 's/.*: \(.*\)$/VERSION="\1"/' >> \
    1.37 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.38 +			#~ grep ^Maintainer $TMP_DIR/$FLAVOR.desc | \
    1.39 +				#~ sed 's/.*: \(.*\)$/MAINTAINER="\1"/' >> \
    1.40 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.41 +			#~ grep -q '^Rootfs list' $TMP_DIR/$FLAVOR.desc && \
    1.42 +			#~ grep '^Rootfs list' $TMP_DIR/$FLAVOR.desc | \
    1.43 +				#~ sed 's/.*: \(.*\)$/ROOTFS_SELECTION="\1"/' >> \
    1.44 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.45 +			#~ grep '^Rootfs size' $TMP_DIR/$FLAVOR.desc | \
    1.46 +				#~ sed 's/.*: \(.*\)$/ROOTFS_SIZE="\1"/' >> \
    1.47 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.48 +			#~ grep ^Initramfs $TMP_DIR/$FLAVOR.desc | \
    1.49 +				#~ sed 's/.*: \(.*\)$/INITRAMFS_SIZE="\1"/' >> \
    1.50 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.51 +			#~ grep ^ISO $TMP_DIR/$FLAVOR.desc | \
    1.52 +				#~ sed 's/.*: \(.*\)$/ISO_SIZE="\1"/' >> \
    1.53 +				#~ $FLAVORS_REPOSITORY/$FLAVOR/receipt
    1.54  			for i in rootcd rootfs; do
    1.55  				[ -f $TMP_DIR/$FLAVOR.$i ] || continue
    1.56  				mkdir $FLAVORS_REPOSITORY/$FLAVOR/$i
    1.57 @@ -1598,10 +1599,16 @@
    1.58  					wget -O - $i/packages.list >> $TMP_DIR/packages.list
    1.59  				done
    1.60  			fi
    1.61 -			#add distro;sh if exist
    1.62 +			#add distro.sh if exist
    1.63  			if [ -s $FLAVORS_REPOSITORY/$FLAVOR/distro.sh ]; then
    1.64  				cp $FLAVORS_REPOSITORY/$FLAVOR/distro.sh $TMP_DIR/$FLAVOR-distro.sh
    1.65  			fi
    1.66 +			
    1.67 +			# Get receipt in .flavor
    1.68 +			if [ -s $FLAVORS_REPOSITORY/$FLAVOR/receipt ]; then
    1.69 +				cp $FLAVORS_REPOSITORY/$FLAVOR/receipt $TMP_DIR/$FLAVOR.receipt
    1.70 +			fi
    1.71 +			
    1.72  			[ -s $FLAVORS_REPOSITORY/$FLAVOR/packages.list ] &&
    1.73  			get_pkglist $FLAVOR > $TMP_DIR/$FLAVOR.pkglist
    1.74  			if grep -q ^ROOTFS_SELECTION \
    1.75 @@ -1711,6 +1718,11 @@
    1.76  				mv $TMP_DIR/$FLAVOR-distro.sh  distro.sh 2> /dev/null
    1.77  				status
    1.78  			fi
    1.79 +			if [ -f "$TMP_DIR/$FLAVOR.receipt" ]; then
    1.80 +				echo -n "Extracting receipt... "
    1.81 +				mv $TMP_DIR/$FLAVOR.receipt  receipt 2> /dev/null
    1.82 +				status
    1.83 +			fi
    1.84  			infos="$FLAVOR.desc"
    1.85  			for i in rootcd rootfs; do
    1.86  				if [ -f $TMP_DIR/$FLAVOR.$i ]; then
    1.87 @@ -2067,6 +2079,17 @@
    1.88  			echo "Executing distro script..."
    1.89  			sh $DISTRO_SCRIPT $DISTRO
    1.90  		fi
    1.91 +		
    1.92 +		# Execute the custom_rules found in receipt.
    1.93 +		# 
    1.94 +		if [ -s $TOP_DIR/receipt ]; then
    1.95 +			if grep -q ^custom_rules $TOP_DIR/receipt; then
    1.96 +				echo -e "Executing: custom_rules\n"
    1.97 +				. $TOP_DIR/receipt
    1.98 +				custom_rules || echo -e "\nERROR: custom_rules failed\n" 
    1.99 +			fi
   1.100 +		fi 
   1.101 +		
   1.102  		if [ -s /etc/tazlito/rootfs.list ]; then
   1.103  			FLAVOR_LIST="$(awk '{ for (i = 2; i <= NF; i+=2) \
   1.104  			  printf("%s ",$i) }' < /etc/tazlito/rootfs.list)"