[arch-general] aur/solr: Unknown PGP key

Ralph Corderoy ralph at inputplus.co.uk
Mon Jul 30 16:23:53 UTC 2018


Hi Eli,

> > > Fortunately the manpage does.
> > >
> > > $ man makepkg | grep GNUPGHOME
> > >        GNUPGHOME="/path/to/directory"
> > 
> > It mentions that environment variable, defined by gpg(1), but
> > makepkg.conf(5) says
> > 
> >     Configuration options for makepkg are stored in makepkg.conf.
> >     This file is sourced so you can include any special compiler
> >     flags you wish to use.  This is helpful when building for
> >     different architectures or with different optimizations.
> >     However, only the variables described below are exported to the
> >     build environment.
> > 
> > `GNUPGHOME' isn't described so I wouldn't expect it to be exported.
> > I suppose it's stated as being `sourced', and makepkg(1) says it's a
> > script, and looking at /usr/bin/makepkg shows it's a bash script, so
> > you could whack an `export' in makepkg.conf too, but it would be
> > nice if makepkg.conf(5) gave explicit approval to arbitrary
> > environment variables if that's intended.
>
> The man page is entirely correct. The file is sourced, and anything
> sourced in there is, well, sourced, regardless of how "arbitrary" it
> is.

I'll be more clear.

    makepkg(1) says `makepkg is a script'.
    It doesn't say what kind of script, e.g. sh(1), bash(1), ...

    makepkg.conf(5) says `This file is sourced',
    but again doesn't state the language.

> makepkg does not export anything on its own, except for the minimal
> things which actually need to be, which means compiler things like
> {C,CXX,LD,MAKE}FLAGS, CHOST, DISTCC_HOSTS

Right, that add up to thirty-odd variables.  I wasn't arguing that
`GNUPGHOME' should be magically exported just be being assigned in
makepkg.conf, but stating it won't be exported because, quite
reasonably, it isn't in makepkg.conf(5)'s list.  Thus some method of
exporting it would be required.

But makepkg.conf(5) just shows variable assignments because it's
explicit they'll all be exported so the export syntax for this unknown
language isn't shown.

Besides, it's a lot more clear to have makepkg.conf(5) say it's bash(1)
syntax and any bash code is acceptable, than see it's a list of
`VAR=value' and wonder if deviating from that would be fragile and break
in the future even if it's OK today.  mkinitcpio.conf(5) has the same
issue.

-- 
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy


More information about the arch-general mailing list