tazpkg rev 950

Minor bug fixes due to the change in the behavior of the dot command in Busybox-1.27; support "release checksum" in modules/mkdb.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Thu Jul 27 13:38:37 2017 +0300 (2017-07-27)
parents 8d3e8fb0dbf3
children 7502bff88925
files modules/bugs modules/check modules/get modules/info modules/install modules/mkdb modules/pack
line diff
     1.1 --- a/modules/bugs	Thu Jul 20 22:40:46 2017 +0300
     1.2 +++ b/modules/bugs	Thu Jul 27 13:38:37 2017 +0300
     1.3 @@ -24,7 +24,7 @@
     1.4  
     1.5  for pkg in $LIST; do
     1.6  	unset BUGS EXTRAVERSION
     1.7 -	. "$pkg/receipt"
     1.8 +	. ./$pkg/receipt
     1.9  
    1.10  	if [ -n "$BUGS" ]; then
    1.11  		MSG=$(_n 'Bug list completed')
     2.1 --- a/modules/check	Thu Jul 20 22:40:46 2017 +0300
     2.2 +++ b/modules/check	Thu Jul 27 13:38:37 2017 +0300
     2.3 @@ -68,7 +68,7 @@
     2.4  	ALL_DEPS="$ALL_DEPS$list "
     2.5  	for i in $list; do
     2.6  		[ -f "$i/receipt" ] || continue
     2.7 -		deps="$(unset DEPENDS; . "$i/receipt"; echo $DEPENDS)"
     2.8 +		deps="$(unset DEPENDS; . ./$i/receipt; echo $DEPENDS)"
     2.9  		case " $deps " in
    2.10  			*\ $pkg\ *)
    2.11  				print_pkgname
    2.12 @@ -98,7 +98,7 @@
    2.13  	fi
    2.14  
    2.15  	unset DEPENDS EXTRAVERSION
    2.16 -	. "$PACKAGE/receipt"
    2.17 +	. ./$PACKAGE/receipt
    2.18  	if [ -s "$PACKAGE/modifiers" ]; then
    2.19  		print_pkgname
    2.20  		_ 'The package has been modified by:'
    2.21 @@ -143,7 +143,7 @@
    2.22  	for PACKAGE in $PACKAGES; do
    2.23  		file="$PACKAGE/$CHECKSUM"
    2.24  		CONFIG_FILES=''
    2.25 -		. "$PACKAGE/receipt"
    2.26 +		. ./$PACKAGE/receipt
    2.27  		[ -s "$file" ] || continue
    2.28  		while read md5 f; do
    2.29  			[ -f "$f" ] || continue
     3.1 --- a/modules/get	Thu Jul 20 22:40:46 2017 +0300
     3.2 +++ b/modules/get	Thu Jul 27 13:38:37 2017 +0300
     3.3 @@ -254,7 +254,7 @@
     3.4  	fi
     3.5  
     3.6  	# Add dependencies which was found to already defined dependencies
     3.7 -	DEPENDS="$(unset DEPENDS; . "$PACKAGE-$VERSION/receipt"; echo $DEPENDS)"
     3.8 +	DEPENDS="$(unset DEPENDS; . ./$PACKAGE-$VERSION/receipt; echo $DEPENDS)"
     3.9  	TMP_DIR="$tmp_dir"
    3.10  	for i in $(find_depends "$PACKAGE-$VERSION/fs"); do
    3.11  		case " $DEPENDS " in
    3.12 @@ -425,7 +425,7 @@
    3.13  	# ROOT NOT USED
    3.14  
    3.15  	local PKGS='/home/slitaz/packages' found='0'
    3.16 -	[ -e "/etc/slitaz/cook.conf" ] && . "/etc/slitaz/cook.conf"
    3.17 +	[ -e "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf
    3.18  
    3.19  	# Find local package
    3.20  	pkgfile="$(awk -F$'\t' -vpkg="$1" -vbase="$PKGS" '{
     4.1 --- a/modules/info	Thu Jul 20 22:40:46 2017 +0300
     4.2 +++ b/modules/info	Thu Jul 27 13:38:37 2017 +0300
     4.3 @@ -24,7 +24,7 @@
     4.4  	TMP_DIR=$(mktemp -d); cd "$TMP_DIR"
     4.5  	cpio -F "$PKG" -i receipt >/dev/null 2>&1
     4.6  
     4.7 -	. receipt; rm -r "$TMP_DIR"
     4.8 +	. ./receipt; rm -r "$TMP_DIR"
     4.9  	STATE=$(_ 'local package')
    4.10  
    4.11  elif [ -d "$INSTALLED/$1" ]; then
     5.1 --- a/modules/install	Thu Jul 20 22:40:46 2017 +0300
     5.2 +++ b/modules/install	Thu Jul 27 13:38:37 2017 +0300
     5.3 @@ -113,7 +113,7 @@
     5.4  	DEPENDS=$(
     5.5  		TMP_DIR=$(mktemp -d); cd "$TMP_DIR"
     5.6  		cpio --quiet -i receipt >/dev/null 2>&1
     5.7 -		. receipt; echo $DEPENDS
     5.8 +		. ./receipt; echo $DEPENDS
     5.9  		rm -rf "$TMP_DIR"
    5.10  	) < "$1"
    5.11  
    5.12 @@ -200,7 +200,7 @@
    5.13  						[ -e "$pkgfile" ] || continue
    5.14  						# Extract receipt from each matched package
    5.15  						cpio -F "$pkgfile" -i receipt >/dev/null 2>&1
    5.16 -						name=$(. receipt; echo $PACKAGE)
    5.17 +						name=$(. ./receipt; echo $PACKAGE)
    5.18  						[ "$name" == "$pkg" ] && found='1' && break
    5.19  						# Install the first matched package: normally there is only one package
    5.20  						# with the $PACKAGE matched in the receipt
    5.21 @@ -663,7 +663,7 @@
    5.22  PACKAGE=$(
    5.23  	tmp_dir=$(mktemp -d); cd "$tmp_dir"
    5.24  	cpio --quiet -i receipt >/dev/null 2>&1
    5.25 -	. receipt; echo $PACKAGE
    5.26 +	. ./receipt; echo $PACKAGE
    5.27  	rm -rf "$tmp_dir"
    5.28  ) < "$1"
    5.29  
     6.1 --- a/modules/mkdb	Thu Jul 20 22:40:46 2017 +0300
     6.2 +++ b/modules/mkdb	Thu Jul 27 13:38:37 2017 +0300
     6.3 @@ -27,7 +27,8 @@
     6.4  # 6: tags (space-separated)
     6.5  # 7: packed and unpacked sizes (space-separated) in human readable format
     6.6  # 8: depends
     6.7 -# 9: checksum
     6.8 +# 9: "release checksum"
     6.9 +#10: provide
    6.10  
    6.11  # packages.equiv
    6.12  # --------------
    6.13 @@ -60,6 +61,12 @@
    6.14  # First field is package name, second field is file path.
    6.15  # There are DB records for all files installed with the package.
    6.16  
    6.17 +# packages.md5
    6.18 +#-------------
    6.19 +# Record is line; field separator is "  ".
    6.20 +# First field is md5sum of the package file; second field is package file name.
    6.21 +# Actually, the type of checksum defined in variable $SUM and defaults to "md5".
    6.22 +
    6.23  
    6.24  # Connect function libraries
    6.25  . /lib/libtaz.sh
    6.26 @@ -87,6 +94,7 @@
    6.27  # DB file names
    6.28  DBi="$folder/packages.info"
    6.29  DBe="$folder/packages.equiv"
    6.30 +DBm="$folder/packages.$SUM"
    6.31  DBd="$folder/descriptions.txt"
    6.32  DBf="$folder/files.list"
    6.33  
    6.34 @@ -94,6 +102,7 @@
    6.35  if [ -n "$forced" ]; then
    6.36  	[ -e "$DBi" ] && rm "$DBi"
    6.37  	[ -e "$DBe" ] && rm "$DBe"
    6.38 +	[ -e "$DBm" ] && rm "$DBm"
    6.39  	[ -e "$DBd" ] && rm "$DBd"
    6.40  	[ -e "$DBf.lzma" ] && rm "$DBf.lzma"
    6.41  fi
    6.42 @@ -108,7 +117,7 @@
    6.43  
    6.44  # Make temporary list of packages checksum (usually md5sum)
    6.45  _n 'Calculate %s...' "$CHECKSUM"
    6.46 -cd "$folder"; $CHECKSUM *.tazpkg > "$tempd/$SUM"
    6.47 +cd "$folder"; $CHECKSUM *.tazpkg | tee "$tempd/$SUM" > "$DBm"
    6.48  status
    6.49  
    6.50  cd "$tempd"
    6.51 @@ -118,21 +127,30 @@
    6.52  	# Current processed package
    6.53  	echo -n "$pkgfile"
    6.54  
    6.55 -	# Extract receipt from package
    6.56 -	cpio -F "$folder/$pkgfile" -i receipt >/dev/null 2>&1
    6.57 +	# Extract $CHECKSUM, receipt, description.txt from package
    6.58 +	# (description.txt may absent, no error produced)
    6.59 +	cpio -F "$folder/$pkgfile" -i $CHECKSUM receipt description.txt >/dev/null 2>&1
    6.60 +
    6.61 +	# Make "release checksum"
    6.62 +	cp $CHECKSUM rsum_file
    6.63 +	md5sum receipt >> rsum_file
    6.64 +	[ -e "description.txt" ] && md5sum description.txt >> rsum_file
    6.65 +	rsum=$(md5sum rsum_file | awk '{print $1}')
    6.66  
    6.67  	# Unset variables that may absent in the receipt
    6.68  	unset EXTRAVERSION TAGS DEPENDS PROVIDE
    6.69  	# Get values
    6.70 -	. receipt; rm receipt
    6.71 +	. ./receipt
    6.72  
    6.73 +	# Clean
    6.74 +	rm -f $CHECKSUM receipt description.txt rsum_file 2>/dev/null
    6.75  
    6.76  	# Make packages.info
    6.77  	echo -en "$PACKAGE\t$VERSION$EXTRAVERSION\t$CATEGORY\t" >> "$DBi"
    6.78  	echo -en "$SHORT_DESC\t$WEB_SITE\t$TAGS\t" >> "$DBi"
    6.79  	echo -en "$PACKED_SIZE $UNPACKED_SIZE\t" | sed 's|\.0||g' >> "$DBi"
    6.80 -	echo -n $DEPENDS$'\t' >> "$DBi"
    6.81 -	echo $pkgsum >> "$DBi"
    6.82 +	echo -n  $DEPENDS$'\t' >> "$DBi"
    6.83 +	echo -e  "$rsum\t$PROVIDE" >> "$DBi"
    6.84  
    6.85  
    6.86  	# Make packages.equiv
     7.1 --- a/modules/pack	Thu Jul 20 22:40:46 2017 +0300
     7.2 +++ b/modules/pack	Thu Jul 27 13:38:37 2017 +0300
     7.3 @@ -28,7 +28,7 @@
     7.4  # Create files.list with redirecting find output.
     7.5  action 'Creating the list of files...'
     7.6  cd fs
     7.7 -find . -type f -print > ../files.list
     7.8 +find . -type f -print >  ../files.list
     7.9  find . -type l -print >> ../files.list
    7.10  cd ..; sed -i s/'^.'/''/ files.list
    7.11  status