tazpkg rev 588

tazpkg: Add support for new slitaz.conf. Changed md5sum to $CHECKSUM thats in the new slitaz.conf. Add update_kernel_modules function so we can update kernel modules.dep file if /sbin/depmod exist and /lib/modules path is in package.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu Apr 12 17:49:54 2012 +0000 (2012-04-12)
parents e90081a98354
children 59ac27af090d
files tazpkg tazpkg.conf
line diff
     1.1 --- a/tazpkg	Thu Apr 12 22:57:33 2012 +0200
     1.2 +++ b/tazpkg	Thu Apr 12 17:49:54 2012 +0000
     1.3 @@ -22,8 +22,7 @@
     1.4  # TazPKG version
     1.5  VERSION=4.9.2
     1.6  
     1.7 -source /usr/lib/slitaz/libtaz
     1.8 -source_lib commons
     1.9 +. /etc/slitaz/slitaz.conf
    1.10  . /etc/slitaz/tazpkg.conf
    1.11  
    1.12  # Include gettext helper script.
    1.13 @@ -54,11 +53,10 @@
    1.14  SAVE_CACHE_DIR="$CACHE_DIR"
    1.15  
    1.16  # Path to tazpkg used dir and configuration files
    1.17 -INSTALLED=$LOCALSTATE/installed
    1.18  MIRROR=$LOCALSTATE/mirror
    1.19  BLOCKED=$LOCALSTATE/blocked-packages.list
    1.20  UP_LIST=$LOCALSTATE/packages.up
    1.21 -DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/"
    1.22 +DEFAULT_MIRROR="$ONLINE_PKGS"
    1.23  
    1.24  # Need by check_depends
    1.25  TMPLOCALSTATE=
    1.26 @@ -107,7 +105,7 @@
    1.27    extract          `gettext \"Extract a (*.tazpkg) package into a directory.\"`
    1.28    pack             `gettext \"Pack an unpacked or prepared package tree.\"`
    1.29    recharge         `gettext \"Recharge your packages.list from the mirror.\"`
    1.30 -  up|--help-up     `gettext \"Check packages md5sum to list and install latest upgrades.\"`
    1.31 +  up|--help-up     `gettext \"Check packages $CHECKSUM to list and install latest upgrades.\"`
    1.32    repack           `gettext \"Create a package archive from an installed package.\"`
    1.33    repack-config    `gettext \"Create a package archive with configuration files.\"`
    1.34    recompress       `gettext \"Rebuild a package with a better compression ratio.\"`
    1.35 @@ -410,7 +408,7 @@
    1.36  {
    1.37  	local extra
    1.38  	[ "$1" = "Installed" ] && \
    1.39 -	extra=" - $(fgrep $PACKAGE-$VERSION $LOCALSTATE/installed.md5 | awk '{ print $1 }')"
    1.40 +	extra=" - $(fgrep $PACKAGE-$VERSION $LOCALSTATE/installed.$SUM | awk '{ print $1 }')"
    1.41  	[ -e $LOG ] || touch $LOG
    1.42  	DATE=`date +'%F %T'`
    1.43  	[ -w $LOG ] &&
    1.44 @@ -514,9 +512,9 @@
    1.45  		cp $TMP_DIR/files.list $ROOT$INSTALLED/$PACKAGE 2> /dev/null
    1.46  		rm -rf $TMP_DIR 2> /dev/null
    1.47  		sed -i "/ $(basename $PACKAGE_FILE)$/d" \
    1.48 -			$ROOT$LOCALSTATE/installed.md5 2> /dev/null
    1.49 +			$ROOT$LOCALSTATE/installed.$SUM 2> /dev/null
    1.50  		cd $(dirname $PACKAGE_FILE)
    1.51 -		md5sum $(basename $PACKAGE_FILE) >> $ROOT$LOCALSTATE/installed.md5
    1.52 +		$CHECKSUM $(basename $PACKAGE_FILE) >> $ROOT$LOCALSTATE/installed.$SUM
    1.53  	}
    1.54  	# Resolve package deps.
    1.55  	check_for_deps $ROOT
    1.56 @@ -608,8 +606,8 @@
    1.57  		cp description.txt $ROOT$INSTALLED/$PACKAGE
    1.58  	fi
    1.59  	# Copy the md5sum if found.
    1.60 -	if [ -f "md5sum" ]; then
    1.61 -		cp md5sum $ROOT$INSTALLED/$PACKAGE
    1.62 +	if [ -f "$CHECKSUM" ]; then
    1.63 +		cp $CHECKSUM $ROOT$INSTALLED/$PACKAGE
    1.64  	fi
    1.65  	# Pre install commands.
    1.66  	if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then
    1.67 @@ -666,6 +664,10 @@
    1.68  	if [ "$(fgrep /usr/share/glib-2.0/schemas $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then
    1.69  		compile_schemas=yes
    1.70  	fi
    1.71 +	# Update depmod list
    1.72 +	if [ "$(fgrep /lib/modules $ROOT$INSTALLED/$PACKAGE/files.list") ]; then
    1.73 +		updatedepmod=yes
    1.74 +	fi
    1.75  	cd $TOP_DIR
    1.76  	separator
    1.77  	eval_gettext "\$PACKAGE (\$VERSION\$EXTRAVERSION) is installed."; echo
    1.78 @@ -1435,6 +1437,13 @@
    1.79  	fi
    1.80  }
    1.81  
    1.82 +update_kernel_modules()
    1.83 +{
    1.84 +	if [ -f $1/sbin/depmod ] && [ -n "$updatedepmod" ]; then
    1.85 +		chroot "$1/" /sbin/depmod -a
    1.86 +	fi
    1.87 +}
    1.88 +
    1.89  translate_category()
    1.90  {
    1.91  	case $1 in
    1.92 @@ -2002,7 +2011,7 @@
    1.93  			rm -rf $ROOT$INSTALLED/$PACKAGE
    1.94  			status
    1.95  			sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION$/d" \
    1.96 -				$LOCALSTATE/installed.md5 2> /dev/null
    1.97 +				$LOCALSTATE/installed.$SUM 2> /dev/null
    1.98  			# Log this activity
    1.99  			log Removed
   1.100  			if [ "$ALTERED" ]; then
   1.101 @@ -2212,10 +2221,10 @@
   1.102  			. $INSTALLED/$PACKAGE/receipt
   1.103  			repack_cleanup fs
   1.104  		fi
   1.105 -		if [ -f $INSTALLED/$PACKAGE/md5sum ]; then
   1.106 -			sed 's,  ,  fs,' < $INSTALLED/$PACKAGE/md5sum | \
   1.107 -			md5sum -s -c || {
   1.108 -				gettext "Can't repack, md5sum error."; echo
   1.109 +		if [ -f $INSTALLED/$PACKAGE/$CHECKSUM ]; then
   1.110 +			sed 's,  ,  fs,' < $INSTALLED/$PACKAGE/$CHECKSUM | \
   1.111 +			$CHECKSUM -s -c || {
   1.112 +				gettext "Can't repack, $CHECKSUM error."; echo
   1.113  				cd $TOP_DIR
   1.114  				rm -rf $TMP_DIR
   1.115  				exit 1
   1.116 @@ -2246,17 +2255,17 @@
   1.117  			find . -type l -print >> ../files.list
   1.118  			cd .. && sed -i s/'^.'/''/ files.list
   1.119  			status
   1.120 -			gettext "Creating md5sum of files..."
   1.121 +			gettext "Creating $CHECKSUM of files..."
   1.122  			while read file; do
   1.123  				[ -L "fs$file" ] && continue
   1.124  				[ -f "fs$file" ] || continue
   1.125  				case "$file" in
   1.126  				/lib/modules/*/modules.*|*.pyc) continue;;
   1.127  				esac
   1.128 -				md5sum "fs$file" | sed 's/  fs/  /'
   1.129 -			done < files.list > md5sum
   1.130 +				$CHECKSUM "fs$file" | sed 's/  fs/  /'
   1.131 +			done < files.list > $CHECKSUM
   1.132  			status
   1.133 -			UNPACKED_SIZE=$(du -chs fs receipt files.list md5sum \
   1.134 +			UNPACKED_SIZE=$(du -chs fs receipt files.list $CHECKSUM \
   1.135  				description.txt 2> /dev/null | awk \
   1.136  				'{ sz=$1 } END { print sz }')
   1.137  			# Build cpio archives.
   1.138 @@ -2265,7 +2274,7 @@
   1.139  			rm -rf fs
   1.140  			status
   1.141  			PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \
   1.142 -				md5sum description.txt 2> /dev/null | awk \
   1.143 +				$CHECKSUM description.txt 2> /dev/null | awk \
   1.144  				'{ sz=$1 } END { print sz }')
   1.145  			gettext "Updating receipt sizes..."
   1.146  			sed -i s/^PACKED_SIZE.*$// receipt
   1.147 @@ -2342,7 +2351,7 @@
   1.148  
   1.149  			if [ -f "packages.list" ]; then
   1.150  				gettext "Creating backup of the last packages list..."
   1.151 -				for i in packages.desc packages.md5 packages.txt \
   1.152 +				for i in packages.desc packages.$SUM packages.txt \
   1.153  					packages.list packages.equiv files.list.lzma \
   1.154  					mirrors
   1.155  				do
   1.156 @@ -2406,7 +2415,7 @@
   1.157  					install="n" ;;
   1.158  			esac
   1.159  		done
   1.160 -		installed_md5=$LOCALSTATE/installed.md5
   1.161 +		installed_sum=$LOCALSTATE/installed.$SUM
   1.162  		look_for_priority
   1.163  		for repo in $priority; do
   1.164  			pkg_list=$repo/packages.list
   1.165 @@ -2434,13 +2443,13 @@
   1.166  			unset VERSION EXTRAVERSION
   1.167  			. $pkg/receipt
   1.168  			md5=$(fgrep "  $PACKAGE-${VERSION}$EXTRAVERSION.tazpkg" \
   1.169 -				$installed_md5 | awk '{print $1}')
   1.170 +				$installed_sum | awk '{print $1}')
   1.171  			for repo in $priority; do
   1.172  				pkg_desc=$repo/packages.desc
   1.173  				pkg_list=$repo/packages.list
   1.174 -				pkg_md5=$repo/packages.md5
   1.175 +				pkg_sum=$repo/packages.$SUM
   1.176  
   1.177 -				if ! fgrep -q "$md5  $PACKAGE-" $pkg_md5; then
   1.178 +				if ! fgrep -q "$md5  $PACKAGE-" $pkg_sum; then
   1.179  					# Jump to next repository in priority if pkg doesn't exists
   1.180  					# in this one.
   1.181  					grep -q ^$PACKAGE- $pkg_list || continue
   1.182 @@ -2570,7 +2579,7 @@
   1.183  		gettext "Looking for known bugs... "; echo
   1.184  		tazpkg bugs
   1.185  		if [ "$PACKAGE_FILE" = "--full" ]; then
   1.186 -			for file in */md5sum; do
   1.187 +			for file in */$CHECKSUM; do
   1.188  				CONFIG_FILES=""
   1.189  				. $(dirname "$file")/receipt
   1.190  				[ -s "$file" ] || continue
   1.191 @@ -2582,8 +2591,8 @@
   1.192  						esac
   1.193  					done
   1.194  					echo "$md5  $f"
   1.195 -				done < "$file" | md5sum -c - 2> /dev/null | \
   1.196 -				  grep -v OK$ | sed 's/FAILED$/MD5SUM MISMATCH/'
   1.197 +				done < "$file" | $CHECKSUM -c - 2> /dev/null | \
   1.198 +				  grep -v OK$ | sed 's/FAILED$/$CHECKSUM MISMATCH/'
   1.199  			done
   1.200  			FILES=" "
   1.201  			for file in $(cat */files.list); do
   1.202 @@ -2684,7 +2693,7 @@
   1.203  				eval_gettext "Continuing \$PACKAGE download"; echo
   1.204  				download $PACKAGE.tazpkg
   1.205  			}
   1.206 -			if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.md5)" ]; then
   1.207 +			if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
   1.208  				rm -f $PACKAGE.tazpkg
   1.209  				download $PACKAGE.tazpkg
   1.210  			fi
   1.211 @@ -2755,7 +2764,7 @@
   1.212  				eval_gettext "Continuing \$PACKAGE download"; echo
   1.213  				download $PACKAGE.tazpkg
   1.214  			}
   1.215 -			if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.md5)" ]; then
   1.216 +			if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then
   1.217  				rm -f $PACKAGE.tazpkg
   1.218  				download $PACKAGE.tazpkg
   1.219  			fi
     2.1 --- a/tazpkg.conf	Thu Apr 12 22:57:33 2012 +0200
     2.2 +++ b/tazpkg.conf	Thu Apr 12 17:49:54 2012 +0000
     2.3 @@ -5,7 +5,7 @@
     2.4  AUTO_INSTALL_DEPS="yes"
     2.5  
     2.6  # Path to Tazpkg log file.
     2.7 -LOG="/var/log/tazpkg.log"
     2.8 +LOG="$SLITAZ_LOGS/tazpkg.log"
     2.9  
    2.10  # Packages cache directory.
    2.11  CACHE_DIR="/var/cache/tazpkg"