From da3dc476af372e0ff02a6f8bdc4147e549268388 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 12 Jun 2018 11:30:01 -0400 Subject: cache the list of unpackaged files, instead of rescanning also show the 'filtered' option in the usage output. --- debootstrap.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'debootstrap.sh') diff --git a/debootstrap.sh b/debootstrap.sh index 28b0c31..c0554ad 100755 --- a/debootstrap.sh +++ b/debootstrap.sh @@ -14,7 +14,7 @@ Usage: $0 chroot $0 list $0 show unpackaged - $0 show unpackaged-du + $0 show unpackaged-du ["filtered"] EOF printf "Currently running suite:\n %s\n" "$(lsb_release -cs)" @@ -106,7 +106,7 @@ suite_name_to_imagename() printf '%s/%s-%s-%s.%s.btrfs\n' "$imgdir" "$suite" "$variant" "$arch" "$name" } -show_unpackaged() +show_unpackaged_helper() { suite=$1 name=$2 @@ -114,16 +114,23 @@ show_unpackaged() sh_image "$suite" "$name" find -type f | sed 's?^\./??' | sort > ${imagename}.find.txt sh_image "$suite" "$name" sh -c 'sort -u var/lib/dpkg/info/*.list' | sed -e 's?^/??' -e 's?^\.$/??' > ${imagename}.dpkg-list.txt - comm -23 ${imagename}.find.txt ${imagename}.dpkg-list.txt | tee ${imagename}.unpackaged.txt + comm -23 ${imagename}.find.txt ${imagename}.dpkg-list.txt > ${imagename}.unpackaged.txt +} + +show_unpackaged() +{ + show_unpackaged_helper "$@" + cat "${imagename}.unpackaged.txt" } show_unpackaged_du() { + show_unpackaged_helper "$@" if [ "$3" = filtered ]; then - filter='var/lib/dpkg/|var/lib/apt/|var/log/' - show_unpackaged "$@" | egrep -v "^($filter)" | sh_image "$1" "$2" xargs du -csh + filter='var/lib/dpkg/|var/lib/apt/|var/log/|var/cache/apt/archives' + cat "${imagename}.unpackaged.txt" | egrep -v "^($filter)" | sh_image "$1" "$2" xargs du -csh else - show_unpackaged "$@" | sh_image "$1" "$2" xargs du -csh + cat "${imagename}.unpackaged.txt" | sh_image "$1" "$2" xargs du -csh fi } -- cgit v1.2.3