Merge branch 'maint'
This commit is contained in:
commit
2a4df070c3
1
contrib/.gitignore
vendored
1
contrib/.gitignore
vendored
@ -6,5 +6,6 @@ paclist
|
||||
paclog-pkglist
|
||||
pacscripts
|
||||
pacsearch
|
||||
pacsysclean
|
||||
wget-xdelta.sh
|
||||
zsh_completion
|
||||
|
@ -5,7 +5,8 @@ OURSCRIPTS = \
|
||||
paclist \
|
||||
paclog-pkglist \
|
||||
pacscripts \
|
||||
pacsearch
|
||||
pacsearch \
|
||||
pacsysclean
|
||||
|
||||
OURFILES = \
|
||||
bash_completion \
|
||||
@ -21,6 +22,7 @@ EXTRA_DIST = \
|
||||
paclist.in \
|
||||
pacscripts.in \
|
||||
pacsearch.in \
|
||||
pacsysclean.in \
|
||||
vimprojects \
|
||||
zsh_completion.in \
|
||||
README
|
||||
@ -56,6 +58,7 @@ paclist: $(srcdir)/paclist.in
|
||||
paclog-pkglist: $(srcdir)/paclog-pkglist.in
|
||||
pacscripts: $(srcdir)/pacscripts.in
|
||||
pacsearch: $(srcdir)/pacsearch.in
|
||||
pacsysclean: $(srcdir)/pacsysclean.in
|
||||
pactree: $(srcdir)/pactree.in
|
||||
zsh_completion: $(srcdir)/zsh_completion.in
|
||||
|
||||
|
@ -263,7 +263,7 @@ if (( move || delete )); then
|
||||
fi
|
||||
|
||||
# unlikely that this will fail, but better make sure
|
||||
cd "$cachedir" || die "failed to chdir to \`%s'" "$cachedir"
|
||||
cd "$cachedir" >/dev/null || die "failed to chdir to \`%s'" "$cachedir"
|
||||
|
||||
# note that these results are returned in an arbitrary order from awk, but
|
||||
# they'll be resorted (in summarize) iff we have a verbosity level set.
|
||||
|
50
contrib/pacsysclean.in
Executable file
50
contrib/pacsysclean.in
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# pacsysclean - Sort installed packages by decreasing installed size. Useful for system clean-up.
|
||||
|
||||
PACMAN_OPTS=
|
||||
|
||||
usage() {
|
||||
echo "pacsysclean - Sort installed packages by decreasing installed size."
|
||||
echo
|
||||
echo "Usage: pacsysclean [options]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " -o <options> Specify custom pacman query options (e.g., dt)"
|
||||
echo " -h, --help Show this help message and exit"
|
||||
}
|
||||
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
case "$1" in
|
||||
-o) PACMAN_OPTS="${2}" ;;
|
||||
-h|--help) usage; exit 0 ;;
|
||||
*) usage; exit 1 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
IFS=$'\n'
|
||||
name="^Name.*: (.*)$"
|
||||
size="^Installed Size.*: (.*) KiB$"
|
||||
for line in $(LANG=C pacman -Qi $PACMAN_OPTS); do
|
||||
if [[ $line =~ $name ]]; then
|
||||
printf "%s\t" ${BASH_REMATCH[1]}
|
||||
elif [[ $line =~ $size ]]; then
|
||||
printf "%s\n" ${BASH_REMATCH[1]}
|
||||
fi
|
||||
done | sort -g -k2 | awk '
|
||||
BEGIN {
|
||||
split("KiB MiB GiB TiB PiB EiB ZiB YiB", suffix)
|
||||
}
|
||||
function format_size(size) {
|
||||
count = 1
|
||||
while (size + 0 > 1024) {
|
||||
size /= 1024
|
||||
count++
|
||||
}
|
||||
sizestr = sprintf("%.2f %s", size, suffix[count])
|
||||
return sizestr
|
||||
}
|
||||
{
|
||||
printf("%s\t%s\n", format_size($2), $1);
|
||||
}'
|
Loading…
Reference in New Issue
Block a user