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@xxxxxxxxxxx> > > > > > > > > > > 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
Attachment:
signature.asc
Description: PGP signature