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