[pacman-dev] RootDir using symlinks -> problem

Xavier shiningxc at gmail.com
Sat Sep 29 11:36:56 EDT 2007

I use the following options for using an alternate rootdir and testing stuff:
RootDir     = /home/xav/pacman/pacman/foo
DBPath      = /home/xav/pacman/pacman/foo/var/lib/pacman
CacheDir    = /home/xav/pacman/pacman/foo/var/cache/pacman/pkg

with the following symlink :
/home/xav/pacman -> /data/share/devel/pacman/

Running pacman -v with this config gives the following :
Root      : /data/share/devel/pacman/pacman/foo/
DB Path   : /home/xav/pacman/pacman/foo/var/lib/pacman/

This makes the scriptlets handling in libalpm/trans.c break :
570     strncpy(scriptfn, installfn, PATH_MAX);
571     /* chop off the root so we can find the tmpdir in the chroot */
572     scriptpath = scriptfn + strlen(root) - 1;

Because for example: 
scriptfn = /home/xav/pacman/pacman/foo/var/lib/pacman/local/slocate-3.1-3/install
root = /data/share/devel/pacman/pacman/foo/
so scriptpath result in /pacman/local/slocate-3.1-3/install, instead of

More information about the pacman-dev mailing list