Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rwxr-xr-xlib/common-functions17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/common-functions b/lib/common-functions
index 77f2417..d8da4a7 100755
--- a/lib/common-functions
+++ b/lib/common-functions
@@ -112,11 +112,12 @@ ls_master_mirror() {
}
-# remove_old_package_versions $binary_package_in_repository_id_1 $binary_package_in_repository_id_2 ...
+# remove_old_package_versions
-# removes all older versions of the given packages from all repositories
-# less[1] stable than the current repository, as well as any different
-# version of the same package from equally[2] stable repositories
+# removes all older versions of the packages given at stdin (by bpir.id)
+# from all repositories less[1] stable than the current repository, as
+# well as any different version of the same package from equally[2]
+# stable repositories
# 1] determined by `repository_stability_relations`
# 2] identical `repositories`.`stability`
@@ -127,7 +128,7 @@ remove_old_package_versions() {
tmp_dir=$(mktemp -d 'tmp.common-functions.remove_old_package_versions.XXXXXXXXXX' --tmpdir)
trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT
- for bpir_id in "$@"; do
+ while read -r bpir_id; do
# shellcheck disable=SC2016
{
@@ -195,8 +196,10 @@ remove_old_package_versions() {
done
for file in 'repo-removes' 'sftp-remove' 'db-removes'; do
- sort -u "${tmp_dir}/${file}" | \
- sponge "${tmp_dir}/${file}"
+ if [ -s "${tmp_dir}/${file}" ]; then
+ sort -u "${tmp_dir}/${file}" | \
+ sponge "${tmp_dir}/${file}"
+ fi
done
# repo-remove packages