blob: 5ea20d55650b0b0b274193075157efc1ebfcd09e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/bin/sh
#
# this script is for cleanup old packages and sources
#
# usage:
# apkg-clean | xargs rm
#
scan_pkgs() {
[ "$APKG_PACKAGE_DIR" ] && allpkg=$(echo $APKG_PACKAGE_DIR/*.spm 2>/dev/null)
for i in $(apkg -s); do
. $(apkg -p $i)/abuild 2>/dev/null
if [ ! "$APKG_PACKAGE_DIR" ]; then
for p in $(apkg -p $i)/*.spm; do
[ -f $p ] || continue
[ "${p##*/}" = "$name#$version-$release.spm" ] && continue
echo $p
done
else
allpkg=$(echo $allpkg | sed "s|$APKG_PACKAGE_DIR/$name#$version-$release.spm||")
fi
done
[ "$APKG_PACKAGE_DIR" ] && echo $allpkg | tr ' ' '\n'
}
scan_srcs() {
[ "$APKG_SOURCE_DIR" ] && allsrc=$(echo $APKG_SOURCE_DIR/* 2>/dev/null)
for i in $(apkg -s); do
. $(apkg -p $i)/abuild 2>/dev/null
unset keep
for s in $source; do
s=${s%::noextract}
case $s in
*::*) keep="$keep ${s%::*}";;
*/*) keep="$keep ${s##*/}";;
*) [ "$APKG_SOURCE_DIR" ] || keep="$keep $s";;
esac
done
if [ ! "$APKG_SOURCE_DIR" ]; then
(cd $(apkg -p $i)
for f in *; do
case $f in
abuild|depends|preinstall|postinstall|*.spm) continue;;
esac
echo $keep | tr ' ' '\n' | grep -qx $f || echo $PWD/$f
done
)
else
for f in $keep; do
allsrc=$(echo $allsrc | sed "s|$APKG_SOURCE_DIR/$f||")
done
fi
done
[ "$APKG_SOURCE_DIR" ] && echo $allsrc | tr ' ' '\n'
}
print_help() {
cat <<EOF
usage:
$0 [-p] [-s] | xargs rm -v
options:
-s print sources only
-p print packages only
EOF
}
if [ "$1" ]; then
while [ "$1" ]; do
case $1 in
-p) scan_pkgs;;
-s) scan_srcs;;
-h) print_help;;
esac
shift
done
else
scan_pkgs
scan_srcs
fi
exit 0
|