
On Wed, Sep 09, 2020 at 06:06:19PM +0200, Michal Privoznik wrote:
On 9/9/20 5:47 PM, Pavel Hrdina wrote:
On Wed, Sep 09, 2020 at 05:06:19PM +0200, Jan Kiszka wrote:
On 09.09.20 16:38, Erik Skultety wrote:
On Mon, Sep 07, 2020 at 11:25:34PM +0200, Jan Kiszka wrote:
From: Jan Kiszka <jan.kiszka@siemens.com>
If the target path contains a link with an absolute path (e.g. /var/run -> /run), makedirs will target the wrong location. Resolve the path first, then append DESTDIR again if needed.
Can you elaborate on this? os.makedirs should follow the symlinks before actually creating the directory hierarchy, so I'm failing to see the problem this patch is trying to address.
mkdir -p /my/destdir/var /my/destdir/run ln -s /run /my/destdir/var/run meson build --prefix=/usr DESTDIR=/my/destdir ninja -C build install
-> PermissionError: [Errno 13] Permission denied: '/my/destdir/var/run/libvirt'
I would say don't do that as that's not purpose of DESTDIR and running libvirt from the DESTDIR installation will not work as it will not find all the required files.
This is exactly what gentoo portage does, btw. And I bet some other package tools too.
RPM is doing the same and everything works correctly, that's why I wrote the statement above. It breaks only if the DESTDIR is not empty directory where there are some links outside of DESTDIR. This use-case would not work with our previous autotools build system as well. So I don't understand what you meant by your reply. Pavel