Mark Millard
2016-Nov-04 00:28 UTC
Use of env SRC_ENV_CONF=. . . for buildworld does not override/avoid use of /etc/src.conf : Intentional?
I just had a case of "odd" command text in a buildworld that was based on (in part) env SRC_ENV_CONF=. . . env __MAKE_CONF=. . . does not get the kind of behavior reported below for /etc/src.conf . Overall this means that even with an explicit env SRC_ENV_CONF=. . . one must separately prevent /etc/src.conf from contributing if the SRC_ENV_CONF file is intended to cover everything. Looking in the log from a failure that resulted shows that .MAKE.MAKEFILES shows both the SRC_ENV_CONF expansion and also a /etc/src.conf as well (formatted to make the /etc/src.conf and such stand out: separate lines wiht whitespace before and after and with just one path on the line for such file paths):> Script started on Thu Nov 3 16:37:26 2016 > Command: env __MAKE_CONF=/root/src.configs/make.conf SRC_ENV_CONF=/root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host WITH_META_MODE=yes MAKEOBJDIRPREFIX=/usr/obj/powerpc64vtsc_xtoolchain make -j 5 buildworld buildkernel. . .> .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk> /root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host> /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk> /root/src.configs/make.conf> /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk> /etc/src.conf> /usr/src/include/rpcsvc/Makefile /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init > .mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share > /mk/bsd.files.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk' > .PATH='. /usr/src/include/rpcsvc'Note:> # grep src.conf /root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host > #The context I was under was:> # uname -apKU > FreeBSD FreeBSDx64 12.0-CURRENT FreeBSD 12.0-CURRENT #2 r308247M: Thu Nov 3 04:05:55 PDT 2016 markmi at FreeBSDx64:/usr/obj/amd64_clang/amd64.amd64/usr/src/sys/GENERIC-NODBG amd64 amd64 1200014 1200014I'd just cloned and switched from a stable/11 context to head (12-CURRENT). If this is intentional then I think the man src.conf references and such should be explicit about the /etc/make.conf vs. /etc/src.conf distinction for __MAKE_CONF= vs. SRC_ENV_CONF= . ==Mark Millard markmi at dsl-only.net
Renato Botelho
2016-Nov-04 09:04 UTC
Use of env SRC_ENV_CONF=. . . for buildworld does not override/avoid use of /etc/src.conf : Intentional?
> On 3 Nov 2016, at 22:28, Mark Millard <markmi at dsl-only.net> wrote: > > I just had a case of "odd" command text in a buildworld that was based on (in part) env SRC_ENV_CONF=. . . > > env __MAKE_CONF=. . . does not get the kind of behavior reported below for /etc/src.conf . > > Overall this means that even with an explicit env SRC_ENV_CONF=. . . one must separately prevent /etc/src.conf from contributing if the SRC_ENV_CONF file is intended to cover everything. > > Looking in the log from a failure that resulted shows that .MAKE.MAKEFILES shows both the SRC_ENV_CONF expansion and also a /etc/src.conf as well (formatted to make the /etc/src.conf and such stand out: separate lines wiht whitespace before and after and with just one path on the line for such file paths): > >> Script started on Thu Nov 3 16:37:26 2016 >> Command: env __MAKE_CONF=/root/src.configs/make.conf SRC_ENV_CONF=/root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host WITH_META_MODE=yes MAKEOBJDIRPREFIX=/usr/obj/powerpc64vtsc_xtoolchain make -j 5 buildworld buildkernel > . . . >> .MAKE.MAKEFILES='/usr/src/share/mk/sys.mk /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk > >> /root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host > >> /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/bsd.suffixes.mk > >> /root/src.configs/make.conf > >> /usr/src/share/mk/local.sys.mk /usr/src/share/mk/src.sys.mk > >> /etc/src.conf > >> /usr/src/include/rpcsvc/Makefile /usr/src/share/mk/bsd.prog.mk /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk /usr/src/share/mk/src.init >> .mk /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk /usr/src/share >> /mk/bsd.files.mk /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk /usr/src/share/mk/bsd.man.mk /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk /usr/src/share/mk/bsd.sys.mk' >> .PATH='. /usr/src/include/rpcsvc' > > Note: > >> # grep src.conf /root/src.configs/src.conf.powerpc64-xtoolchain.amd64-host >> # > > > The context I was under was: > >> # uname -apKU >> FreeBSD FreeBSDx64 12.0-CURRENT FreeBSD 12.0-CURRENT #2 r308247M: Thu Nov 3 04:05:55 PDT 2016 markmi at FreeBSDx64:/usr/obj/amd64_clang/amd64.amd64/usr/src/sys/GENERIC-NODBG amd64 amd64 1200014 1200014 > > I'd just cloned and switched from a stable/11 context to head (12-CURRENT). > > If this is intentional then I think the man src.conf references and such should be explicit about the /etc/make.conf vs. /etc/src.conf distinction for __MAKE_CONF= vs. SRC_ENV_CONF= .There are 3 possible files and 3 possible variables to cover it. SRC_ENV_CONF is to /etc/src-env.conf and not to /etc/src.conf. Default values are: __MAKE_CONF=/etc/make.conf SRCCONF=/etc/src.conf SRC_ENV_CONF=/etc/src-env.conf According src.conf(5) there are few items that are supposed to be defined in /etc/src-env.conf instead of /etc/src.conf -- Renato Botelho
Bryan Drewery
2016-Nov-04 16:40 UTC
Use of env SRC_ENV_CONF=. . . for buildworld does not override/avoid use of /etc/src.conf : Intentional?
On 11/3/2016 5:28 PM, Mark Millard wrote:> I just had a case of "odd" command text in a buildworld that was based on (in part) env SRC_ENV_CONF=. . . > > env __MAKE_CONF=. . . does not get the kind of behavior reported below for /etc/src.conf . > > Overall this means that even with an explicit env SRC_ENV_CONF=. . . one must separately prevent /etc/src.conf from contributing if the SRC_ENV_CONF file is intended to cover everything.SRC_ENV_CONF is kind of a special hack to allow setting some specific values that feasibly can't be set later. Just stick to src.conf unless you need to set one of the options that requires src-env.conf. -- Regards, Bryan Drewery -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: OpenPGP digital signature URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20161104/234e9d24/attachment.sig>