[arch-dev-public] trouble building packages with .install files
I'm having trouble building certain packages with .install files, for example aur/vim-youcompleteme-git. If I build it with extra-x86_64-build, I just get: ==> ERROR: install file (vimdoc.install) does not exist. I have the same issue on pkgbuild.com, for example the libreoffice PKGBUILD. I'm not sure what's causing this issue, but barthalion can also reproduce the problem. It seems startdir_host is empty. ─marlowe:pts/1 /var/lib/archbuild/extra-x86_64/barthalion └─% ls -lh startdir total 12K -rw------- 1 nobody root 902 Jul 1 11:53 PKGBUILD lrwxrwxrwx 1 root root 28 Jul 1 11:53 YouCompleteMe -> /startdir_host/YouCompleteMe lrwxrwxrwx 1 root root 29 Jul 1 11:53 vimdoc.install -> /startdir_host/vimdoc.install ┌─marlowe:pts/1 /var/lib/archbuild/extra-x86_64/barthalion └─% ls -lh startdir_host total 0 -- Jelle van der Waa
On 1 July 2013 18:11, Jelle van der Waa <jelle@vdwaa.nl> wrote:
I'm having trouble building certain packages with .install files, for example aur/vim-youcompleteme-git. If I build it with extra-x86_64-build, I just get:
==> ERROR: install file (vimdoc.install) does not exist.
I have the same issue on pkgbuild.com, for example the libreoffice PKGBUILD. I'm not sure what's causing this issue, but barthalion can also reproduce the problem. It seems startdir_host is empty.
─marlowe:pts/1 /var/lib/archbuild/extra-x86_64/barthalion └─% ls -lh startdir total 12K -rw------- 1 nobody root 902 Jul 1 11:53 PKGBUILD lrwxrwxrwx 1 root root 28 Jul 1 11:53 YouCompleteMe -> /startdir_host/YouCompleteMe lrwxrwxrwx 1 root root 29 Jul 1 11:53 vimdoc.install -> /startdir_host/vimdoc.install ┌─marlowe:pts/1 /var/lib/archbuild/extra-x86_64/barthalion └─% ls -lh startdir_host total 0
-- Jelle van der Waa
Did you guys manage to solve the mystery yet? Anyway, startdir_host will be empty on the outside, as it's populated by nspawn in a virtual container, as far as I understand (not a systemd expert). So that's not the issue - the issue is that startdir_host inside the container has 700 perm in this case. Systemd does not mess with the dir perms here, the bind just inherits the perm. It turns out that the original working dir (our AUR package dir) is the one with the wrong perm. A systemd(-nspawn) expert in my place would have noticed this immediately. I was stumped by this as well on a prior occasion, but didn't have time then to troubleshoot. I simply removed changelog and install and built the damn package. Today I wasted an hour during work and then another hour back home before I finally saw the cause :D On a related note, the question is, how do we prevent these things? Does this mean the uploader tar'ed the package herself (while makepkg --source would fix perms)? Or does makepkg not do anything with perms when generating source archives? Granted, this only affects chroot building, since we bind the working dir to startdir(-host). -- GPG/PGP ID: C0711BF1
participants (2)
-
Jelle van der Waa
-
Rashif Ray Rahman