tazpkg diff modules/mkdb @ rev 972
Remove ashism ==
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Feb 26 08:21:22 2019 +0100 (2019-02-26) |
parents | 8a73a58ed3cb |
children | 03544b89ac81 |
line diff
1.1 --- a/modules/mkdb Fri Oct 09 13:14:01 2015 +0300 1.2 +++ b/modules/mkdb Tue Feb 26 08:21:22 2019 +0100 1.3 @@ -27,7 +27,8 @@ 1.4 # 6: tags (space-separated) 1.5 # 7: packed and unpacked sizes (space-separated) in human readable format 1.6 # 8: depends 1.7 -# 9: checksum 1.8 +# 9: "release checksum" 1.9 +#10: provide 1.10 1.11 # packages.equiv 1.12 # -------------- 1.13 @@ -60,6 +61,12 @@ 1.14 # First field is package name, second field is file path. 1.15 # There are DB records for all files installed with the package. 1.16 1.17 +# packages.md5 1.18 +#------------- 1.19 +# Record is line; field separator is " ". 1.20 +# First field is md5sum of the package file; second field is package file name. 1.21 +# Actually, the type of checksum defined in variable $SUM and defaults to "md5". 1.22 + 1.23 1.24 # Connect function libraries 1.25 . /lib/libtaz.sh 1.26 @@ -87,6 +94,7 @@ 1.27 # DB file names 1.28 DBi="$folder/packages.info" 1.29 DBe="$folder/packages.equiv" 1.30 +DBm="$folder/packages.$SUM" 1.31 DBd="$folder/descriptions.txt" 1.32 DBf="$folder/files.list" 1.33 1.34 @@ -94,6 +102,7 @@ 1.35 if [ -n "$forced" ]; then 1.36 [ -e "$DBi" ] && rm "$DBi" 1.37 [ -e "$DBe" ] && rm "$DBe" 1.38 + [ -e "$DBm" ] && rm "$DBm" 1.39 [ -e "$DBd" ] && rm "$DBd" 1.40 [ -e "$DBf.lzma" ] && rm "$DBf.lzma" 1.41 fi 1.42 @@ -108,7 +117,7 @@ 1.43 1.44 # Make temporary list of packages checksum (usually md5sum) 1.45 _n 'Calculate %s...' "$CHECKSUM" 1.46 -cd "$folder"; $CHECKSUM *.tazpkg > "$tempd/$SUM" 1.47 +cd "$folder"; $CHECKSUM *.tazpkg | tee "$tempd/$SUM" > "$DBm" 1.48 status 1.49 1.50 cd "$tempd" 1.51 @@ -118,21 +127,30 @@ 1.52 # Current processed package 1.53 echo -n "$pkgfile" 1.54 1.55 - # Extract receipt from package 1.56 - cpio -F "$folder/$pkgfile" -i receipt >/dev/null 2>&1 1.57 + # Extract $CHECKSUM, receipt, description.txt from package 1.58 + # (description.txt may absent, no error produced) 1.59 + cpio -F "$folder/$pkgfile" -i $CHECKSUM receipt description.txt >/dev/null 2>&1 1.60 + 1.61 + # Make "release checksum" 1.62 + cp $CHECKSUM rsum_file 1.63 + md5sum receipt >> rsum_file 1.64 + [ -e "description.txt" ] && md5sum description.txt >> rsum_file 1.65 + rsum=$(md5sum rsum_file | awk '{print $1}') 1.66 1.67 # Unset variables that may absent in the receipt 1.68 unset EXTRAVERSION TAGS DEPENDS PROVIDE 1.69 # Get values 1.70 - . receipt; rm receipt 1.71 + . ./receipt 1.72 1.73 + # Clean 1.74 + rm -f $CHECKSUM receipt description.txt rsum_file 2>/dev/null 1.75 1.76 # Make packages.info 1.77 echo -en "$PACKAGE\t$VERSION$EXTRAVERSION\t$CATEGORY\t" >> "$DBi" 1.78 echo -en "$SHORT_DESC\t$WEB_SITE\t$TAGS\t" >> "$DBi" 1.79 echo -en "$PACKED_SIZE $UNPACKED_SIZE\t" | sed 's|\.0||g' >> "$DBi" 1.80 - echo -n $DEPENDS$'\t' >> "$DBi" 1.81 - echo $pkgsum >> "$DBi" 1.82 + echo -n $DEPENDS$'\t' >> "$DBi" 1.83 + echo -e "$rsum\t$PROVIDE" >> "$DBi" 1.84 1.85 1.86 # Make packages.equiv