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: Simo Leone <simo@archlinux.org>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
This commit is contained in:
Simo Leone 2007-10-06 21:58:16 -05:00 committed by Aaron Griffin
parent 656a54014b
commit 192b24f829
1 changed files with 4 additions and 3 deletions

View File

@ -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"