Re: PORTSDIR not being read from /etc/make.conf when build /usr/src
- In reply to: Tomoaki AOKI : "Re: PORTSDIR not being read from /etc/make.conf when build /usr/src"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 08 Dec 2022 03:28:26 UTC
Hey Tomoaki, Thanks for the suggestion. Yup, there are definitely many different workarounds we could go with, but I'm definitely interested in knowing if this is a bug or intended behavior. If anything, I can open up a bug report. Jonathan Vasquez PGP: 34DA 858C 1447 509E C77A D49F FB85 90B7 C4CA 5279 Sent with ProtonMail Secure Email ------- Original Message ------- On Wednesday, December 7th, 2022 at 19:13, Tomoaki AOKI <junchoon@dec.sakura.ne.jp> wrote: > 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