slitaz-modular rev 67

Fixed slitaz-modular script to make source dvd again.
author Christopher Rogers <slaxemulator@gmail.com>
date Wed Apr 13 12:51:41 2011 +0000 (2011-04-13)
parents b4d15139088e
children 7ec9eb5f3ffe
files initramfs/usr/bin/slitaz-modular
line diff
     1.1 --- a/initramfs/usr/bin/slitaz-modular	Tue Apr 12 22:05:58 2011 +0000
     1.2 +++ b/initramfs/usr/bin/slitaz-modular	Wed Apr 13 12:51:41 2011 +0000
     1.3 @@ -199,14 +199,6 @@
     1.4  	fi
     1.5  }
     1.6  
     1.7 -backup_all()
     1.8 -{
     1.9 -	if [ "${BACKUP_ALL}" = "yes" ]; then
    1.10 -		[ -d $SRCISO_DIR ] || ln -sf $SOURCES_REPOSITORY $SRCISO_DIR
    1.11 -		[ -d $PKGISO_DIR ] || ln -sf $PACKAGES_REPOSITORY $PKGISO_DIR
    1.12 -	fi
    1.13 -}
    1.14 -
    1.15  create_module()
    1.16  {
    1.17     if [ ! -d "$1" ]; then
    1.18 @@ -229,7 +221,7 @@
    1.19  	#		fi
    1.20  	#	fi
    1.21  	#fi
    1.22 -	rm -f "$2" # overwrite, never append to existing file
    1.23 +	[ -f "$2" ] && rm -f "$2" # overwrite, never append to existing file
    1.24  	mksquashfs "$1" "$2" -b 256K -comp $COMPRESSION >/dev/null
    1.25  	if [ $? -ne 0 ]; then return 1; fi
    1.26  	chmod a-wx "$2" # remove execute and write attrib
    1.27 @@ -241,7 +233,8 @@
    1.28  		mkdir -p "$ISODIR/$CDNAME/modules/hg"
    1.29  	fi
    1.30  	if [ -d ${HG_DIR}/${1}/ ]; then
    1.31 -		create_module ${HG_DIR}/${1} "$ISODIR/$CDNAME/modules/hg/" /${HG_PATH}/${1}
    1.32 +		info "Making $ISODIR/$CDNAME/modules/hg/${1}.$EXT module"
    1.33 +		create_module ${HG_DIR}/${1} $ISODIR/$CDNAME/modules/hg/${1}.$EXT
    1.34  	fi
    1.35  }
    1.36  
    1.37 @@ -328,6 +321,106 @@
    1.38  
    1.39  }
    1.40  
    1.41 +backup_pkg() {
    1.42 +	if [ "${BACKUP_PACKAGES}" = "yes" ]; then
    1.43 +		[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR
    1.44 +		mkdir -p $PKGISO_DIR
    1.45 +		WOK=${HG_DIR}/wok/home/slitaz/repos/wok
    1.46 +		info "Making cooking list based installed packages in union"
    1.47 +		# this is to filter out packages build by get- 
    1.48 +		# packages that don't exist in repo or wok
    1.49 +		cat $ISODIR/packages-order.txt | while read pkg; do
    1.50 +			if [ ! -f $WOK/$pkg/receipt ]; then
    1.51 +				sed -i "s|$pkg||g" $ISODIR/packages-order.txt
    1.52 +			fi
    1.53 +		done
    1.54 +		tazwok gen-cooklist $ISODIR/packages-order.txt > $ISODIR/cookorder.list
    1.55 +		[ -f $INCOMING_REPOSITORY/wok-wanted.txt ] || tazwok gen-wok-db
    1.56 +		
    1.57 +		CACHE_REPOSITORY="$CACHE_DIR/$(cat /etc/slitaz-release)/packages"
    1.58 +
    1.59 +		cat $ISODIR/cookorder.list | grep -v "^#" | while read pkg; do
    1.60 +			rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
    1.61 +			pkg_VERSION="$(grep -m1 -A1 ^$pkg$ $PACKAGES_REPOSITORY/packages.txt | \
    1.62 +				tail -1 | sed 's/ *//')"
    1.63 +			incoming_pkg_VERSION="$(grep -m1 -A1 ^$pkg$ $INCOMING_REPOSITORY/packages.txt | \
    1.64 +				tail -1 | sed 's/ *//')"
    1.65 +			for wanted in $rwanted; do
    1.66 +				if [ -f $INCOMING_REPOSITORY/$wanted-$incoming_pkg_VERSION.tazpkg ]; then
    1.67 +					ln -sf $INCOMING_REPOSITORY/$wanted-$incoming_pkg_VERSION.tazpkg $PKGISO_DIR/$wanted-$incoming_pkg_VERSION.tazpkg
    1.68 +				elif [ -f $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg ]; then
    1.69 +					ln -sf $PACKAGES_REPOSITORY/$wanted-$pkg_VERSION.tazpkg $PKGISO_DIR/$wanted-$pkg_VERSION.tazpkg
    1.70 +				elif [ -f $CACHE_REPOSITORY/$Wanted-$pkg_VERSION.tazpkg ]; then
    1.71 +					ln -sf $CACHE_REPOSITORY/$wanted-$pkg_VERSION.tazpkg $PKGISO_DIR/$wanted-$pkg_VERSION.tazpkg
    1.72 +				fi
    1.73 +			done
    1.74 +		
    1.75 +			for i in $(ls $WOK/$pkg/receipt); do
    1.76 +				unset SOURCE TARBALL WANTED PACKAGE VERSION pkg_VERSION COOK_OPT
    1.77 +				source $i
    1.78 +				pkg_VERSION="$(grep -m1 -A1 ^$PACKAGE$ $PACKAGES_REPOSITORY/packages.txt | \
    1.79 +					tail -1 | sed 's/ *//')"
    1.80 +				incoming_pkg_VERSION="$(grep -m1 -A1 ^$pkg$ $INCOMING_REPOSITORY/packages.txt | \
    1.81 +					tail -1 | sed 's/ *//')"
    1.82 +				[ "$WGET_URL" ] || continue
    1.83 +				if [ -f $INCOMING_REPOSITORY/$PACKAGE-$incoming_pkg_VERSION.tazpkg ]; then
    1.84 +					ln -sf $INCOMING_REPOSITORY/$PACKAGE-$incoming_pkg_VERSION.tazpkg $PKGISO_DIR/$PACKAGE-$incoming_pkg_VERSION.tazpkg
    1.85 +				elif [ -f $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg ]; then
    1.86 +					ln -sf $PACKAGES_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg $PKGISO_DIR/$PACKAGE-$pkg_VERSION.tazpkg
    1.87 +				elif [ -f $CACHE_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg ]; then
    1.88 +					ln -sf $CACHE_REPOSITORY/$PACKAGE-$pkg_VERSION.tazpkg $PKGISO_DIR/$PACKAGE-$pkg_VERSION.tazpkg
    1.89 +				fi
    1.90 +			done
    1.91 +		done
    1.92 +		
    1.93 +		[ -d $PKGISO_DIR ] && tazwok gen-list $PKGISO_DIR
    1.94 +	fi
    1.95 +	
    1.96 +}
    1.97 +
    1.98 +backup_src() {
    1.99 +
   1.100 +	if [ "${BACKUP_PACKAGES}" = "yes" -a "${BACKUP_SOURCES}" = "yes" ]; then
   1.101 +			[ -d $SOURCES_REPOSITORY ] || mkdir -p $SOURCES_REPOSITORY
   1.102 +			[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
   1.103 +			mkdir -p $SRCISO_DIR
   1.104 +			WOK=${HG_DIR}/wok/home/slitaz/repos/wok
   1.105 +			cat $ISODIR/cookorder.list | grep -v "^#"| while read pkg; do
   1.106 +				#rwanted=$(grep $'\t'$pkg$ $INCOMING_REPOSITORY/wok-wanted.txt | cut -f 1)
   1.107 +				for i in $(ls $WOK/$pkg/receipt); do
   1.108 +					unset SOURCE TARBALL WANTED PACKAGE VERSION COOK_OPT
   1.109 +					source $i
   1.110 +					{ [ ! "$TARBALL" ] || [ ! "$WGET_URL" ] ; } && continue
   1.111 +					if [ ! -f "$SOURCES_REPOSITORY/$TARBALL" ] && \
   1.112 +						[ ! -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
   1.113 +						tazwok get-src $PACKAGE --nounpack
   1.114 +						if [ -f "$SOURCES_REPOSITORY/$TARBALL" ]; then
   1.115 +							ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
   1.116 +						elif [ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
   1.117 +							ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   1.118 +						fi
   1.119 +					else
   1.120 +						[ -f "$SOURCES_REPOSITORY/$TARBALL" ] && ln -sf $SOURCES_REPOSITORY/$TARBALL $SRCISO_DIR/$TARBALL
   1.121 +						[ -f "$SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ] && ln -sf $SOURCES_REPOSITORY/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma $SRCISO_DIR/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   1.122 +					fi
   1.123 +				done
   1.124 +			done
   1.125 +			cd $SRCISO_DIR
   1.126 +			info "Make md5sum file for sources"
   1.127 +			find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
   1.128 +			cd $WORKING
   1.129 +	fi
   1.130 +	
   1.131 +}
   1.132 +
   1.133 +backup_all()
   1.134 +{
   1.135 +	if [ "${BACKUP_ALL}" = "yes" ]; then
   1.136 +		[ -d $SRCISO_DIR ] || ln -sf $SOURCES_REPOSITORY $SRCISO_DIR
   1.137 +		[ -d $PKGISO_DIR ] || ln -sf $PACKAGES_REPOSITORY $PKGISO_DIR
   1.138 +	fi
   1.139 +}
   1.140 +
   1.141  imgcommon () {
   1.142  	
   1.143  	build_modules
   1.144 @@ -340,14 +433,6 @@
   1.145  			done
   1.146  		fi
   1.147  	fi
   1.148 -
   1.149 -	if [ "${HG_LIST}" != "" ]; then
   1.150 -		for hg in ${HG_LIST}; do
   1.151 -			if [ -d "${MODULES_DIR}/${hg}" ]; then
   1.152 -				squashfs_hg $hg
   1.153 -			fi
   1.154 -		done
   1.155 -	fi
   1.156  	
   1.157  	[ -d $SRCISO_DIR ] && rm -r $SRCISO_DIR
   1.158  	[ -d $PKGISO_DIR ] && rm -r $PKGISO_DIR