Hi, Le 07/02/2019 à 12:14, james harvey via arch-projects a écrit :
I got extremely confused when I accidentally found out that the MAKEFLAGS that is needed to be set for parallel building using devtools is the one in "/etc/makepkg.conf", instead of one like "/usr/share/devtools/makepkg-x86_64.conf".
Turns out this is because "makechrootpkg"::20180531-4::638 is:
load_vars /etc/makepkg.conf
load_vars() only reads "{SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER", so without me having set any of the others, it turns out the only variable it uses from /etc is MAKEFLAGS.
For me, I think this is the only makepkg/pacman variable in an entire devtools run that isn't out of /usr/share/devtools, since "archbuild" gives those to "mkarchroot" and "arch-nspawn... pacman -Syu", and they are copied into "/var/lib/archbuild/extra-x86_64/root/etc/" for anything ran in the chroot.
Not the only variable, but the whole set above. On purpose.
Should this be fixed?
AFAIK, this is the expected behaviour. When you build using devtools, you expect variables local to this machine/user to be respected (and that is the exact list of variables listed above), while distro settings for everything else to be used ({C,CXX,LD}FLAGS mostly).
I originally thought of a new "makechrootpkg -M" option, but I think it could instead run:
load_vars ${copydir}/etc/makepkg.conf
If not, should "/usr/share/devtools/makepkg-x86_64.conf" be updated with a comment where those variables are, to say they're actually used out of "/etc/makepkg.conf"?
I don’t think you need to know about and thus ever touch `/usr/share/devtools/*.conf`. Unless you actually develop devtools themselves. Regards, Bruno