Commit 192b24f8 authored by Simo Leone's avatar Simo Leone Committed by Aaron Griffin
Browse files

Trap EXIT and use relative cache and db paths



Trapping exit ensures that unmounting occurs in the event of an exit 1
or a normal exit. Pacman 3.0.6 takes cachedir and dbpath to be relative
to it's given root, not absolute.

Signed-off-by: default avatarSimo Leone <simo@archlinux.org>
Signed-off-by: default avatarAaron Griffin <aaronmgriffin@gmail.com>
parent 656a5401
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ function chroot_mount ()
    [ -e "${working_dir}/var/cache/pacman" ] || mkdir -p "${working_dir}/var/cache/pacman"
    mount -o bind /var/cache/pacman "${working_dir}/var/cache/pacman"

    trap 'chroot_umount' 1 2 15
    trap 'chroot_umount' 0 1 2 15
}

function chroot_umount ()
@@ -111,8 +111,9 @@ else

    pacargs="--noconfirm -v " #--noprogressbar -v
    pacargs="$pacargs --root=${working_dir}"
    pacargs="$pacargs --dbpath=${working_dir}/var/lib/pacman"
    pacargs="$pacargs --cachedir=${working_dir}/var/cache/pacman"
    # pacman takes these as relative to the given root
    pacargs="$pacargs --dbpath=/var/lib/pacman"
    pacargs="$pacargs --cachedir=/var/cache/pacman/pkg"

    if [ $# -eq 0 ]; then
        echo "no packages to install"