[arch-dev-public] trouble building packages with .install files
Rashif Ray Rahman
schiv at archlinux.org
Tue Jul 2 10:54:00 EDT 2013
On 1 July 2013 18:11, Jelle van der Waa <jelle at 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
More information about the arch-dev-public