[arch-general] Upgrading mlocate: /var/lib/mlocate/ Permissions Warning.

Tinu Weber takeya at bluewin.ch
Sun Jun 10 15:24:48 UTC 2018


On Sun, Jun 10, 2018 at 10:18:21 -0400, Eli Schwartz via arch-general wrote:
> On 06/10/2018 09:53 AM, Tinu Weber wrote:
> > On Sun, Jun 10, 2018 at 09:20:38 -0400, Eli Schwartz via arch-general wrote:
> >>On 06/10/2018 09:11 AM, Tinu Weber wrote:
> >>> I tried building mlocate myself, but I run into this error with makepkg:
> >>>
> >>>     ==> Making package: mlocate 0.26.git.20170220-1 (Sun 10 Jun 2018 15:03:17 CEST)
> >>>     ==> Checking runtime dependencies...
> >>>     ==> Checking buildtime dependencies...
> >>>     ==> Retrieving sources...
> >>>     ==> ERROR: /home/ayekat/devel/pkgbuilds/mlocate/trunk/mlocate is not a clone of https://pagure.io/mlocate.git
> >>>         Aborting...
> >>>
> >>> Same error with makechrootpkg. I can't find anything weird with the
> >>> mlocate PKGBUILD though.
> >>
> >> The obvious question would be... since makepkg (not makechrootpkg) told
> >> you that that directory is not a clone of that url, then what is it a
> >> clone of instead?
> > 
> > It is not a git repo at all (or rather just
> > https://git.archlinux.org/svntogit/packages.git).
> > 
> >> I'm not sure how much clearer we could make that error message. If
> >> there's something makepkg is doing dreadfully wrong in that error
> >> message reporting, please tell us so we can fix it...
> > 
> > No, the error message is clear so far, but why would that even be an
> > issue at that point? From what I've seen, for git sources, makepkg
> > fetches them into a bare repository. But in the case of mlocate, it just
> > creates `mlocate` and `mlocate/src` (empty directory), and then
> > complains and errors out.
> 
> What src directory???

Ah, I'm sorry, it's:

    ~/devel/pkgbuilds/mlocate/trunk/mlocate/
    ~/devel/pkgbuilds/mlocate/trunk/mlocate/src/

rather than:

    ~/devel/pkgbuilds/mlocate/trunk/mlocate/
    ~/devel/pkgbuilds/mlocate/trunk/mlocate/branches/
    ~/devel/pkgbuilds/mlocate/trunk/mlocate/config
    ~/devel/pkgbuilds/mlocate/trunk/mlocate/... (other bare repo things)

> Hm... oh, wait, this is probably https://bugs.archlinux.org/task/58865
>
> I'm going to take a wild guess that some component of
> /home/ayekat/devel/pkgbuilds/mlocate/trunk/mlocate is a symlink.

Oh, you're right, ~/devel/pkgbuilds is a symlink to
~/.local/var/lib/pacman/pkgbuilds. Building mlocate in the "real" path
works (or at least, it errors out a lot later due to a failing test).

I now also notice that this is actually the case for all other packages
in ~/devel/pkgbuilds that clone a git repo.

> ...
> 
> This does explain why it thinks you've got an invalid clone. It's
> considering that directory to be the already-cloned sources, *because*
> it's an existing directory which is not empty. This despite the fact
> that it's only non-empty due to a makepkg bug from 2012 which only
> recently got exposed.
>
> So instead of cloning the source, it is trying to pull the source, after
> checking git config --get remote.origin.url (which fails because it's
> not a repo, and therefore it's checking the parent repo which is
> actually an svntogit checkout).
> 
> You could work around that by using $BUILDDIR, in which case it will
> create srcdir=$BUILDDIR/mlocate/src as intended (instead of
> srcdir=$PWD/mlocate/src which is not intended)

BUILDDIR works if I give it another directory.

But `BUILDDIR="$(pwd -P)" makepkg` still fails (but to be honest, that's
more me just trying random things I don't really understand, based on
https://lists.archlinux.org/pipermail/pacman-dev/2018-June/022579.html
^^).

But either way, thanks a lot for the support! (also, sorry for sort of
hijacking the thread)

Best,
Tinu


P.S.
To confirm the original assumption: after modifying Makefile.am
accordingly, package() fails here:

    ...
    chgrp locate "/home/ayekat/.local/var/lib/pacman/pkgbuilds/mlocate/trunk/pkg/mlocate/var/lib/mlocate" \
            && chmod g=rx,o= "/home/ayekat/.local/var/lib/pacman/pkgbuilds/mlocate/trunk/pkg/mlocate/var/lib/mlocate"
    chgrp: invalid group: ‘locate’
    make[2]: *** [Makefile:1455: install-exec-local] Error 1
    ...

So I second Eli's suggestion to report this upstream as a bug.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/arch-general/attachments/20180610/43698875/attachment.asc>


More information about the arch-general mailing list