Date: Tue, 15 Jun 2021 02:57:24 -0700 From: Mark Millard via freebsd-ports <freebsd-ports@freebsd.org> To: Michael Gmelin <freebsd@grem.de> Cc: bob prohaska <fbsd@www.zefox.net>, FreeBSD ports <freebsd-ports@freebsd.org> Subject: Re: Restarting poudriere Message-ID: <5ABEE3DD-1B5B-4509-B0F8-CCDD237DCE30@yahoo.com> In-Reply-To: <20210615112055.0eaffdc9@bsd64.grem.de> References: <F01BB244-CD05-4A4F-A052-5ABE773D221D.ref@yahoo.com> <F01BB244-CD05-4A4F-A052-5ABE773D221D@yahoo.com> <20210615112055.0eaffdc9@bsd64.grem.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jun-15, at 02:20, Michael Gmelin <freebsd at grem.de> wrote: > On Tue, 15 Jun 2021 01:31:32 -0700 > Mark Millard <marklmi@yahoo.com> wrote: >=20 >> Michael Gmelin <freebsd_at_grem.de> wrote on >> Date: Tue, 15 Jun 2021 09:31:26 +0200 : >>=20 >> On Mon, 14 Jun 2021 18:02:33 -0700 >> bob prohaska <fbsd_at_www.zefox.net> wrote: >>>=20 >>>> On Mon, Jun 14, 2021 at 09:52:22PM +0200, Michael Gmelin wrote: =20 >>>>>=20 >>>>>=20 >>>>>> On 14. Jun 2021, at 20:30, bob prohaska >>>>>> <fbsd_at_www.zefox.net> wrote: >>>>>>=20 >>>>>> ???On Mon, Jun 14, 2021 at 06:46:52PM +0200, Michael Gmelin >>>>>> wrote: =20 >>>>>>> On Mon, 14 Jun 2021 09:28:39 -0700 >>>>>>> What do you mean by "restarting"? >>>>>>> How do you invoke poudriere exactly? =20 >>>>>> As root, >>>>>> poudriere bulk -J 2 -j main x11-wm/lxqt www/chromium > >>>>>> testbuild.log =20 >>>>>=20 >>>>> Doesn???t ninja handle parallel builds on its own anyway? Does >>>>> it work okay if you comment out ALLOW_*_JOBS in poudriere.conf? >>>>>=20 >>>>=20 >>>> The line ALLOW_MAKE_JOBS is already commented out in=20 >>>> /usr/local/etc/poudriere.conf but it's active in >>>> /etc/make.conf Note the ALLOW_MAKE_JOBS instead of: ALLOW_MAKE_JOBS_PACKAGES . (But I was still wrong for ALLOW_MAKE_JOBS.) >>>> I remain a bit confused about how poudriere and make coordinate >>>> their parallel job spawning activity. In the latest case the -J 2 >>>> on the poudriere command line put two packages under >>>> construction, but the ALLOW_MAKE_JOBS line in /etc/make.conf >>>> didn't result in parallel threads building LLVM10. Clearly I >>>> don't understand the relationship between builders, jobs, threads >>>> and (much!) more. =20 >>>=20 >>> /etc/make.conf from the host system is not used by poudriere, as it >>> aims to provide clean-room builds and therefore doesn't use >>> configurations that also serve a purpose on the host system. >>>=20 >>> All configurations come from /usr/local/etc/poudriere.conf and >>> various files in /usr/local/etc/poudriere.d/. =20 >>=20 >> I'll explicitly note that one of the files is: >>=20 >> /usr/local/etc/poudriere.d/make.conf >>=20 >> It is the most global make.conf in poudriere's activities. >> For poudriere, someone writing about using make.conf likely >> is implicitly referencing the one at that path (unless they >> report something that indicates otherwise). >>=20 >> Bob: Sorry I did not notice the /etc/make.conf reference in >> your earlier material. I should have commented on the >> distinction. >>=20 >>> See also the >>> CUSTOMISATION section in poudriere(8) (reading that man pages is >>> useful in general). >>>=20 >>> So if you want to use this feature, you need to enable it in >>> poudriere.conf (but I would still recommend using >>> ALLOW_MAKE_JOBS_PACKAGES instead and also only if you don't use >>> multiple builders, given the limited resources of your machine). =20 >>=20 >> /usr/local/etc/poudriere.d/make.conf use should work fine >> as well. >=20 > Nope, ALLOW_MAKE_JOBS_PACKAGES is a poudriere setting, Bob referenced: ALLOW_MAKE_JOBS instead of ALLOW_MAKE_JOBS_PACKAGES. But I was still wrong in that the logic for ALLOW_MAKE_JOBS is: [ -n "${ALLOW_MAKE_JOBS}" ] || \ echo "DISABLE_MAKE_JOBS=3Dpoudriere" \ >> ${MASTERMNT}/etc/make.conf So the make.conf structure uses DISABLE_MAKE_JOBS (or not) instead of ALLOW_MAKE_JOBS notation. > used > here inside poudriere: > = https://github.com/freebsd/poudriere/blob/master/src/share/poudriere/commo= n.sh#L4421 >=20 > poudriere doesn't read make.conf configurations as its own > configuration, so setting ALLOW_MAKE_JOBS_PACKAGES in there does > nothing (it only appends make.conf settings to the > generated /etc/make.conf inside the jail, see "append_make()" in > common.sh). Yep. > Also note that ALLOW_MAKE_JOBS_PACKAGES has no effect for ports > tested using "poudriere testport" (but it *does* apply to building > the dependencies required for such ports). So, assuming > ALLOW_MAKE_JOBS_PACKAGE=3D"someport", "poudriere testport someport" = won't > make use of MAKE_JOBS, while "poudriere testport > otherport-that-depends-on-someport" will do so for building someport. Not something I'd looked into. Interesting. > Something that might not be obvious when reading poudriere's config: > /usr/local/etc/poudriere.d/poudriere.conf is only read if > /usr/local/etc/poudriere.conf doesn't exist. Other files like > /usr/local/etc/poudriere.d/130amd64-poudriere.conf *will* be read > though (after reading the global config). Too bad that is not documented by "man poudriere": QUOTE . . . POUDRIERE_ETC/poudriere.conf See self-documented = /usr/local/etc/poudriere.conf.sample for example. POUDRIERE_ETC/poudriere.d/poudriere.conf The configuration can = be stored in the = poudriere.d directory as well. . . . Create optional poudriere.conf You can also specify an optional poudriere.conf that is pulled in depending on the build. Any of the following are allowed and will = all be used in the order shown: /usr/local/etc/poudriere.d/poudriere.conf . . . (all are poudriere.d/ paths) . . . END QUOTE I would never get the actual behavior from the wording present. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5ABEE3DD-1B5B-4509-B0F8-CCDD237DCE30>