summaryrefslogtreecommitdiff
path: root/parabolaiso/mkparabolaiso
diff options
context:
space:
mode:
Diffstat (limited to 'parabolaiso/mkparabolaiso')
-rwxr-xr-xparabolaiso/mkparabolaiso16
1 files changed, 10 insertions, 6 deletions
diff --git a/parabolaiso/mkparabolaiso b/parabolaiso/mkparabolaiso
index a7eb760..f13b0ba 100755
--- a/parabolaiso/mkparabolaiso
+++ b/parabolaiso/mkparabolaiso
@@ -251,7 +251,9 @@ _pacman ()
_msg_info "Packages installed successfully!"
}
-# Cache uninstalled packages in offline /isorepo
+# Cache uninstalled packages in offline /isorepo and prune un-needed packages packages.
+# Optimally, this function should be called only once after all packages are installed
+# and even if there are no 'cache-only' packages.
_pacman_cache ()
{
_msg_info "Caching packages to '${work_dir}/root-image/'..."
@@ -280,10 +282,12 @@ _pacman_cache ()
popd > /dev/null
# download any missing packages
- if [[ "${quiet}" = "y" ]]; then
- pacman -Sw --root "${work_dir}/root-image" --config "${pacman_conf}" --noconfirm $* &> /dev/null
- else
- pacman -Sw --root "${work_dir}/root-image" --config "${pacman_conf}" --noconfirm $*
+ if [[ "${_package_files}" ]]; then
+ if [[ "${quiet}" = "y" ]]; then
+ pacman -Sw --root "${work_dir}/root-image" --config "${pacman_conf}" --noconfirm $* &> /dev/null
+ else
+ pacman -Sw --root "${work_dir}/root-image" --config "${pacman_conf}" --noconfirm $*
+ fi
fi
_chroot_umount
@@ -569,7 +573,7 @@ command_install () {
if [[ -f "${work_dir}/install.${_pkg_list_hash}" ]]; then
_msg_info "These packages are already installed, skipping."
else
- if [[ "${enable_offline_install}" == 'true' ]]; then
+ if [[ "${cache_only:-}" == 'true' ]]; then
_pacman_cache "${pkg_list}"
else
_pacman "${pkg_list}"