summaryrefslogtreecommitdiff
path: root/src/chroot-tools/chcleanup.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/chroot-tools/chcleanup.in')
-rw-r--r--src/chroot-tools/chcleanup.in15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/chroot-tools/chcleanup.in b/src/chroot-tools/chcleanup.in
index 7826753..317bf10 100644
--- a/src/chroot-tools/chcleanup.in
+++ b/src/chroot-tools/chcleanup.in
@@ -88,7 +88,6 @@ pacman -b "${TEMPDIR}" \
# Diff installed packages against a clean chroot then remove leftovers
packages=($(comm -23 <(pacman -Qq | sort -u) \
<(sort -u "${pkglist}")))
-
if [[ ${#packages[@]} = 0 ]]; then
msg2 "No packages to remove"
else
@@ -101,3 +100,17 @@ else
pacman --noconfirm -R --nosave "${packages[@]}"
fi
fi
+
+packages=($(comm -13 <(pacman -Qq | sort -u) \
+ <(sort -u "${pkglist}")))
+if [[ ${#packages[@]} = 0 ]]; then
+ msg2 "No packages to add"
+else
+ msg2 "Adding %d packages" ${#packages[@]}
+
+ if ${DRYRUN}; then
+ echo "${packages[*]}"
+ else
+ pacman --noconfirm -S "${packages[@]}"
+ fi
+fi