# HG changeset patch # User Aleksej Bobylev # Date 1434964490 -10800 # Node ID 5a795aafa52db603c00851597ed5f907bd38be49 # Parent d15a44a622f65a2c86fff4d31f6e331fddbce63e cook pkgdb: report absent pkgs, remove duplicates from lists (also use --rmpkg to remove duplicate .tazpkg files or remove them by hands) diff -r d15a44a622f6 -r 5a795aafa52d cook --- a/cook Sun Jun 07 11:22:35 2015 +0300 +++ b/cook Mon Jun 22 12:14:50 2015 +0300 @@ -1438,7 +1438,7 @@ rm $LOGS/pkgdb.log 2>/dev/null case "$2" in - --flavors) ;; + --flavors|--rmpkg) ;; *) [ -n "$2" ] && PKGS="$2" if [ ! -d "$PKGS" ]; then @@ -1468,6 +1468,7 @@ _n 'Creating file "%s"' 'packages.md5' | dblog md5sum *.tazpkg > $PKGS/packages.md5 echo " ($(filesize $PKGS/packages.md5))" | dblog + cp $PKGS/packages.md5 $PKGS/packages.toremove # list of duplicates md5sum packages.md5 | cut -d' ' -f1 > ID ( cat ./ID | tr $'\n' ' '; date -ur ./ID +%s ) > IDs # md5 and timestamp @@ -1534,6 +1535,11 @@ # files.list provides a list of all packages files. cat $pkg/taz/*/files.list | sed s/^/"$pkg: \0"/ >> \ $PKGS/files.list + + # list of duplicates + sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION.tazpkg/d" $PKGS/packages.toremove + else + _ ' - absent: %s (%s)' "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" "$ARCH" | dblog fi done @@ -1545,6 +1551,22 @@ cd $PKGS + + # Check package duplicates + if [ -s "$PKGS/packages.toremove" ]; then + newline | dblog + _ 'Removing duplicates:' | dblog + while read pkgsum pkgfile; do + echo " - $pkgfile" | dblog + sed -i "/${pkgfile%.tazpkg}/d" $PKGS/packages.list + sed -i "/ $pkgfile/d" $PKGS/packages.md5 + [ -n "$rmpkg" ] && rm $PKGS/$pkgfile # remove packages only with --rmpkg + done < $PKGS/packages.toremove + [ -n "$rmpkg" ] && rm $PKGS/packages.toremove + newline | dblog + fi + + # files.list.lzma _n 'Creating file "%s"' 'files.list.lzma' | dblog touch files.list