Date: Thu, 8 Dec 2022 09:13:17 +0900 From: Tomoaki AOKI <junchoon@dec.sakura.ne.jp> To: stable@freebsd.org Cc: Jonathan Vasquez <jon@xyinn.org> Subject: Re: PORTSDIR not being read from /etc/make.conf when build /usr/src Message-ID: <20221208091317.0b681a03003417b26002fa71@dec.sakura.ne.jp> In-Reply-To: <XXuxLARxjwZNxjbQnIKFDB85ApcIy_dz2FL23q-7pE1hDjwlty9p6-x6w-TlaW05uHZ4ZlqamQn26vrmKZUCjXMWT2DuRg6v_ldWogRVdLQ=@xyinn.org> References: <XXuxLARxjwZNxjbQnIKFDB85ApcIy_dz2FL23q-7pE1hDjwlty9p6-x6w-TlaW05uHZ4ZlqamQn26vrmKZUCjXMWT2DuRg6v_ldWogRVdLQ=@xyinn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi. How about using /usr/ports for poudriere? You can do it with `poudriere ports -c -f none -M /usr/ports -m null` As I've just started testing poudriere, I'm not 100% sure it's correct. But it seems working as intended (automatically null [loopback] mounted /usr/ports on build and unmounted when done). Also, I've added "-m src=/usr/src" on creating poudriere jail, as I only build ports for the specific environment only and need keeping in sync. For that, updating poudriere jail on every base updating. Or setting your configuration from /etc/make.conf to /etc/src.conf (or /etc/src-env.conf)? Possibly configuration on /etc/make.conf is somehow overridden by src build defaults. HTH. On Wed, 07 Dec 2022 22:18:54 +0000 Jonathan Vasquez <jon@xyinn.org> wrote: > Hey all, > > I'm currently trying to centralize my poudriere ports directory and my normal /usr/ports dir so that I can reduce the load on the central freebsd servers, and also to clean it up on my end. > > Since I have PORTS_MODULES defined in my /etc/make.conf, building my kernel will properly automatically rebuild the modules listed properly. This requires your ports directory to exist and working (obviously). Since my ports dir was in the default location: /usr/ports, it was working properly. At the moment I have my poudriere ports directory and distfiles defined at: > > /usr/local/poudriere/ports/default (The standard path for poudriere). > /usr/local/poudriere/distfiles > > I went ahead and added the following to /etc/make.conf: > > PORTSDIR=/usr/local/poudriere/ports/default > DISTDIR=/usr/local/poudriere/distfiles > > However, when running a "make -j32 buildkernel", the PORTSDIR variable doesn't get read in properly and will default to /usr/ports. I tried placing in another variable (that I saw in the module rebuilding phase of buildkernel) in /etc/make.conf to see if that was working properly, I picked SRC_BASE as an example (I also wanted to test if variable substitution was working properly as well): > > /etc/make.conf: > > _TEST="/omega" > SRC_BASE="${_TEST}/lol" > > Running make -j32 buildkernel again properly displayed the "/omega/lol" path for SRC_BASE, but the PORTSDIR still was ignored. I then tried inlining the variable to see if that worked: > > make -j32 buildkernel PORTSDIR="/some/path" > > and that worked. There was one or two times that I was able to non-deterministically get the PORTSDIR to be read in from /etc/make.conf, but for the most part, it was ignored 99% of the time. Running "make buildkernel" without any parallelization didn't help either. > > So ultimately the question is, is it intended behavior for PORTSDIR to be ignored by the make for buildkernel when it's defined in /etc/make.conf? From what man ports says, /etc/make.conf is suppose to be used for all aspects of building doc, src, and ports.. or is this a bug? > > If it helps, I'm running on stable/13-n253245-209ebfa26ec4/GENERIC amd64) > > Thank you, > > Jonathan Vasquez > PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 > Sent with ProtonMail Secure Email -- Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20221208091317.0b681a03003417b26002fa71>