From d2e4d3fb467b332fe0f972ccab2c5c37ccdd5fd5 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Wed, 30 Aug 2017 02:49:10 -0400 Subject: deboostrap.sh: new commands: unpackaged, unpackaged-du --- debootstrap.sh | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/debootstrap.sh b/debootstrap.sh index d76db93..0b62694 100755 --- a/debootstrap.sh +++ b/debootstrap.sh @@ -13,6 +13,8 @@ Usage: $0 clone $0 chroot $0 list + $0 show unpackaged + $0 show unpackaged-du EOF list @@ -103,6 +105,27 @@ suite_name_to_imagename() printf '%s/%s-%s-%s.%s.btrfs\n' "$imgdir" "$suite" "$variant" "$arch" "$name" } +show_unpackaged() +{ + suite=$1 + name=$2 + imagename=$(suite_name_to_imagename "$suite" "$name") + + 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 +} + +show_unpackaged_du() +{ + 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 + else + show_unpackaged "$@" | sh_image "$1" "$2" xargs du -csh + fi +} + sh_image() { suite=$1 @@ -216,8 +239,17 @@ debootstrap_efficiently() debootstrap "$@" || die "debootstrap failed" } +show() +{ + case "$1" in + unpackaged) shift; show_unpackaged "$@" ;; + unpackaged-du) shift; show_unpackaged_du "$@" ;; + *) usage ;; + esac +} + case "$1" in - init|new|clone|list) cmd=$1; shift; $cmd "$@" ;; + init|new|clone|list|show) cmd=$1; shift; $cmd "$@" ;; chroot|sh) cmd=${1}_image; shift; $cmd "$@" ;; *) usage ;; esac -- cgit v1.2.3