cookutils rev 945
cook, modules/pkgdb: calculate package's "release checksum"; modules/deps: add more xorg-* rules, exclude "fonts.dir" and "fonts.scale" from packaging (should be re-created after package install); lighttpd/index.cgi: exclude "fonts.dir" and "fonts.scale".
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Jul 14 15:58:38 2017 +0300 (2017-07-14) |
parents | 6e892f321f46 |
children | cf98be8bc904 |
files | cook lighttpd/index.cgi modules/deps modules/pkgdb |
line diff
1.1 --- a/cook Mon Jun 26 13:57:14 2017 +0300 1.2 +++ b/cook Fri Jul 14 15:58:38 2017 +0300 1.3 @@ -1346,6 +1346,7 @@ 1.4 /\/share\/man\//d; /\/share\/doc\//d; /\/share\/gtk-doc\//d; /\/share\/info\//d; 1.5 /\/share\/devhelp\//d; /\/share\/locale\//d; 1.6 /\/share\/bash-completion\//d; /\/lib\/systemd\//d; 1.7 + /\/fonts\.scale$/d; /\/fonts\.dir$/d; 1.8 ' $filelist 1.9 ;; 1.10 @dev) 1.11 @@ -1419,13 +1420,33 @@ 1.12 update_packages_db() { 1.13 # packages.info (unsorted, located near to packages) 1.14 local pi="$PKGS/packages.info" 1.15 - sed -i "/^$PACKAGE\t/d" $pi 1.16 unset_receipt; . $pack/receipt 1.17 SIZES=$(echo $PACKED_SIZE $UNPACKED_SIZE | sed 's|\.0||g') 1.18 + 1.19 DEPENDS=$(echo $DEPENDS) # remove newlines, tabs and multiple spaces from variable 1.20 - MD5="$(md5sum "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" | awk '{print $1}')" 1.21 + 1.22 + # Calculate release checksum: usually it not change on "just recook". 1.23 + # Release checksum is md5sum of file contains md5sums of all files, receipt and description.txt. 1.24 + # Md5sum of the package file will change every time because of embedded timestamps; 1.25 + # release checksum based only on files content, and will change only when files change. 1.26 + rsumf=$(mktemp) 1.27 + cp $pack/md5sum $rsumf 1.28 + md5sum $pack/receipt | sed 's| [^ ]*/| |' >> $rsumf 1.29 + [ -e "$pack/description.txt" ] && md5sum $pack/description.txt | sed 's| [^ ]*/| |' >> $rsumf 1.30 + rsum=$(md5sum $rsumf | awk '{print $1}') 1.31 + rm $rsumf 1.32 +# MD5="$(md5sum "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" | awk '{print $1}')" 1.33 + rsumold=$(awk -F$'\t' -vpkg="$PACKAGE" '{if ($1 == pkg) { print $9; exit; }}' $pi) 1.34 + 1.35 + if [ "$rsum" == "$rsumold" ]; then 1.36 + _ 'The release checksum has not changed.\n' 1.37 + else 1.38 + _ 'The release checksum has changed.\n' 1.39 + fi 1.40 + 1.41 + sed -i "/^$PACKAGE\t/d" $pi # remove old entry 1.42 cat >> $pi <<EOT 1.43 -$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS $MD5 $PROVIDE 1.44 +$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS $rsum $PROVIDE 1.45 EOT 1.46 1.47 # files.list (uncompressed, unsorted, located in $cache)
2.1 --- a/lighttpd/index.cgi Mon Jun 26 13:57:14 2017 +0300 2.2 +++ b/lighttpd/index.cgi Fri Jul 14 15:58:38 2017 +0300 2.3 @@ -1208,7 +1208,8 @@ 2.4 printf("<a class=\"c00\" href=\"%s\">%s</a>\n", i $0, $0); 2.5 } 2.6 /\/perllocal.pod$/ || /\/\.packlist$/ || /\/share\/bash-completion\// || 2.7 - /\/lib\/systemd\// || /\.pyc$/ || /\.pyo$/ { tag("---", 0); next } 2.8 + /\/lib\/systemd\// || /\.pyc$/ || /\.pyo$/ || /\/fonts\.scale$/ || /\/fonts\.dir$/ { 2.9 + tag("---", 0); next } 2.10 /\.pod$/ { tag("pod", 5); next } 2.11 /\/share\/man\// { tag("man", 5); next } 2.12 /\/share\/doc\// || /\/share\/gtk-doc\// || /\/share\/info\// ||
3.1 --- a/modules/deps Mon Jun 26 13:57:14 2017 +0300 3.2 +++ b/modules/deps Fri Jul 14 15:58:38 2017 +0300 3.3 @@ -135,6 +135,21 @@ 3.4 s("polkit", "polkit-pam"); 3.5 s("libgudev", "eudev"); # also systemd 3.6 s("xz-dev", "liblzma-dev"); 3.7 + s("xorg-libxcb", "libxcb"); 3.8 + s("xorg-xcb-util-image", "xcb-util-image"); 3.9 + s("xorg-xcb-util-keysyms", "xcb-util-keysyms"); 3.10 + s("xorg-xcb-util-renderutil", "xcb-util-renderutil"); 3.11 + s("xorg-xcb-util-wm", "xcb-util-wm"); 3.12 + s("xorg-xcb-util", "xcb-util"); 3.13 + s("xorg-libxcb", "libxcb"); 3.14 + s("xorg-libxcb-dev", "libxcb-dev"); 3.15 + s("xorg-pixman", "pixman"); 3.16 + s("xorg-pixman-dev", "pixman-dev"); 3.17 + s("xorg-xcb-util-cursor", "xcb-util-cursor"); 3.18 + s("xorg-xcb-util-dev", "xcb-util-dev"); 3.19 + s("xorg-xcb-util-image-dev", "xcb-util-image-dev"); 3.20 + s("xorg-xcb-util-renderutil-dev", "xcb-util-renderutil-dev"); 3.21 + s("eudev-dev", "udev-dev"); 3.22 3.23 if (! index($0, "glibc-base") && 3.24 ! index($0, "gcc-lib-base") &&
4.1 --- a/modules/pkgdb Mon Jun 26 13:57:14 2017 +0300 4.2 +++ b/modules/pkgdb Fri Jul 14 15:58:38 2017 +0300 4.3 @@ -92,13 +92,15 @@ 4.4 4.5 _ 'Creating lists from "%s"' "$WOK" | dblog 4.6 cd $WOK 4.7 +rsumf=$(mktemp) 4.8 for i in *; do 4.9 [ -d "$WOK/$i/taz" ] || continue 4.10 4.11 for j in $(ls $WOK/$i/taz | sort); do 4.12 - [ -f "$WOK/$i/taz/$j/receipt" ] || continue 4.13 + pack="$i/taz/$j" 4.14 + [ -f "$WOK/$pack/receipt" ] || continue 4.15 unset_receipt 4.16 - . $i/taz/$j/receipt 4.17 + . $pack/receipt 4.18 4.19 if [ -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" -o \ 4.20 -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION-$ARCH.tazpkg" ]; then 4.21 @@ -122,9 +124,15 @@ 4.22 # and will substitute them all 4.23 SIZES=$(echo $PACKED_SIZE $UNPACKED_SIZE | sed 's|\.0||g') 4.24 DEPENDS=$(echo $DEPENDS) # remove newlines from some receipts 4.25 - MD5="$(fgrep " $PACKAGE-$VERSION$EXTRAVERSION.tazpkg" $PKGS/packages.md5 | awk '{print $1}')" 4.26 + 4.27 + #MD5="$(fgrep " $PACKAGE-$VERSION$EXTRAVERSION.tazpkg" $PKGS/packages.md5 | awk '{print $1}')" 4.28 + cp $pack/md5sum $rsumf 4.29 + md5sum $pack/receipt | sed 's| [^ ]*/| |' >> $rsumf 4.30 + [ -e "$pack/description.txt" ] && md5sum $pack/description.txt | sed 's| [^ ]*/| |' >> $rsumf 4.31 + rsum=$(md5sum $rsumf | awk '{print $1}') 4.32 + 4.33 cat >> $PKGS/packages.info <<EOT 4.34 -$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS $MD5 $PROVIDE 4.35 +$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS $rsum $PROVIDE 4.36 EOT 4.37 4.38 # packages.equiv is used by tazpkg install to check depends. 4.39 @@ -152,6 +160,8 @@ 4.40 fi 4.41 done 4.42 done 4.43 +rm $rsumf 4.44 + 4.45 4.46 # Display list size. 4.47 _ 'Done: %s (%s)' 'packages.desc' "$(filesize $PKGS/packages.desc)" | dblog