tazpkg diff tazpkg @ rev 748

tazpkg-find-depends: speedup
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Jan 26 10:36:04 2015 +0100 (2015-01-26)
parents 31829db351f2
children 2e322fe014a2
line diff
     1.1 --- a/tazpkg	Fri Jan 09 17:05:12 2015 +0200
     1.2 +++ b/tazpkg	Mon Jan 26 10:36:04 2015 +0100
     1.3 @@ -2108,53 +2108,61 @@
     1.4  		if [ ! -f "receipt" ]; then
     1.5  			_ 'Receipt is missing. Please read the documentation.'
     1.6  			exit 0
     1.7 -		else
     1.8 -			title 'Packing package "%s"' $PACKAGE
     1.9 -			# Create files.list with redirecting find outpout.
    1.10 -			action "Creating the list of files..."
    1.11 -			cd fs
    1.12 -			find . -type f -print > ../files.list
    1.13 -			find . -type l -print >> ../files.list
    1.14 -			cd .. && sed -i s/'^.'/''/ files.list
    1.15 -			status
    1.16 -			action 'Creating %s of files...' $CHECKSUM
    1.17 -			while read file; do
    1.18 -				[ -L "fs$file" ] && continue
    1.19 -				[ -f "fs$file" ] || continue
    1.20 -				case "$file" in
    1.21 -					/lib/modules/*/modules.*|*.pyc) continue;;
    1.22 -				esac
    1.23 -				$CHECKSUM "fs$file" | sed 's/  fs/  /'
    1.24 -			done < files.list > $CHECKSUM
    1.25 -			status
    1.26 -			UNPACKED_SIZE=$(du -chs fs receipt files.list $CHECKSUM \
    1.27 -				description.txt 2> /dev/null | awk \
    1.28 -				'{ sz=$1 } END { print sz }')
    1.29 -			# Build cpio archives.
    1.30 -			action "Compressing the FS..."
    1.31 -			find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
    1.32 -			rm -rf fs
    1.33 -			status
    1.34 -			PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \
    1.35 -				$CHECKSUM description.txt 2> /dev/null | awk \
    1.36 -				'{ sz=$1 } END { print sz }')
    1.37 -			action "Updating receipt sizes..."
    1.38 -			sed -i s/^PACKED_SIZE.*$// receipt
    1.39 -			sed -i s/^UNPACKED_SIZE.*$// receipt
    1.40 -			sed -i "s/^PACKAGE=/PACKED_SIZE=\"$PACKED_SIZE\"\nUNPACKED_SIZE=\"$UNPACKED_SIZE\"\nPACKAGE=/" receipt
    1.41 -			status
    1.42 -			action "Creating full cpio archive..."
    1.43 -			find . -print | cpio -o -H newc --quiet > ../$PACKAGE.tazpkg
    1.44 -			status
    1.45 -			action "Restoring original package tree..."
    1.46 -			unlzma -c fs.cpio.lzma | cpio -idm --quiet
    1.47 -			status
    1.48 -			rm fs.cpio.lzma && cd ..
    1.49 -			footer "$(_ 'Package "%s" compressed successfully.' $PACKAGE)"
    1.50 -			pkg_size=$(du -sh $PACKAGE.tazpkg)
    1.51 -			_ 'Size: %s' $pkg_size
    1.52 -			newline
    1.53 -		fi ;;
    1.54 +		fi
    1.55 +
    1.56 +		title 'Packing package "%s"' $PACKAGE
    1.57 +		# Create files.list with redirecting find outpout.
    1.58 +
    1.59 +		action "Creating the list of files..."
    1.60 +		cd fs
    1.61 +		find . -type f -print > ../files.list
    1.62 +		find . -type l -print >> ../files.list
    1.63 +		cd .. && sed -i s/'^.'/''/ files.list
    1.64 +		status
    1.65 +
    1.66 +		action 'Creating %s of files...' $CHECKSUM
    1.67 +		while read file; do
    1.68 +			[ -L "fs$file" ] && continue
    1.69 +			[ -f "fs$file" ] || continue
    1.70 +			case "$file" in
    1.71 +				/lib/modules/*/modules.*|*.pyc) continue;;
    1.72 +			esac
    1.73 +			$CHECKSUM "fs$file" | sed 's/  fs/  /'
    1.74 +		done < files.list > $CHECKSUM
    1.75 +		status
    1.76 +
    1.77 +		UNPACKED_SIZE=$(du -chs fs receipt files.list $CHECKSUM \
    1.78 +			description.txt 2> /dev/null | awk \
    1.79 +			'{ sz=$1 } END { print sz }')
    1.80 +		# Build cpio archives.
    1.81 +
    1.82 +		action "Compressing the FS..."
    1.83 +		find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
    1.84 +		rm -rf fs
    1.85 +		status
    1.86 +
    1.87 +		PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \
    1.88 +			$CHECKSUM description.txt 2> /dev/null | awk \
    1.89 +			'{ sz=$1 } END { print sz }')
    1.90 +
    1.91 +		action "Updating receipt sizes..."
    1.92 +		sed -i s/^PACKED_SIZE.*$// receipt
    1.93 +		sed -i s/^UNPACKED_SIZE.*$// receipt
    1.94 +		sed -i "s/^PACKAGE=/PACKED_SIZE=\"$PACKED_SIZE\"\nUNPACKED_SIZE=\"$UNPACKED_SIZE\"\nPACKAGE=/" receipt
    1.95 +		status
    1.96 +
    1.97 +		action "Creating full cpio archive..."
    1.98 +		find . -print | cpio -o -H newc --quiet > ../$PACKAGE.tazpkg
    1.99 +		status
   1.100 +
   1.101 +		action "Restoring original package tree..."
   1.102 +		unlzma -c fs.cpio.lzma | cpio -idm --quiet
   1.103 +		status
   1.104 +
   1.105 +		rm fs.cpio.lzma && cd ..
   1.106 +		footer "$(_ 'Package "%s" compressed successfully.' $PACKAGE)"
   1.107 +		_ 'Size: %s' "$(ls -lh $PACKAGE.tazpkg | awk '{print $5}')"
   1.108 +		;;
   1.109  
   1.110  
   1.111  	recharge)
   1.112 @@ -2197,7 +2205,7 @@
   1.113  					base_path="$(basename $path)"
   1.114  					repository_name="$(_n 'Undigest %s' $base_path)"
   1.115  				fi
   1.116 -				_ 'Repository "%s" is up to date.' $repository_name
   1.117 +				_ 'Repository "%s" is up to date.' "$repository_name"
   1.118  				rm ID.bak
   1.119  				continue
   1.120  			fi
   1.121 @@ -2299,7 +2307,7 @@
   1.122  		emsg "<n>$(_ 'Package')<i 28> $(_ 'Version')<i 48> $(_ 'Status')<->"
   1.123  
   1.124  		cd $INSTALLED
   1.125 -		newline > $UP_LIST
   1.126 +		echo -n > $UP_LIST
   1.127  		blocked_count=0
   1.128  		installed_sum=$PKGS_DB/installed.$SUM
   1.129