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