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

Eli Schwartz eschwartz at archlinux.org
Sun Jun 10 14:18:21 UTC 2018

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:
>> It's a fancy way of doing `|| true`.
> Yes, that I knew - I just thought that it would make Make stop at the
> error (message) rather than continuing (although I admit one could also
> just scroll back to see the error).
> I only noticed the 2>/dev/null nonsense (which makes my suggestion
> useless) after sending my mail and then seeing yours, where you
> mentioned that issue.
>>> 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???

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.


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)

Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-general/attachments/20180610/20a268e6/attachment.asc>

More information about the arch-general mailing list