Date: Wed, 4 May 2022 09:01:25 +0300 From: Gleb Popov <arrowd@freebsd.org> To: unp@ziemba.us Cc: FreeBSD ports list <freebsd-ports@freebsd.org> Subject: Re: avoiding "install" for dependencies with PORTS_MODULES Message-ID: <CALH631mUfy9N_BLxEk0wz0GhYVSF1ccdNn8ruL=kkWhd=UEoxQ@mail.gmail.com> In-Reply-To: <t4rktu$il5$1@usenet.ziemba.us> References: <t4rktu$il5$1@usenet.ziemba.us>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000bfab9a05de295cc8 Content-Type: text/plain; charset="UTF-8" On Tue, May 3, 2022 at 11:59 PM G. Paul Ziemba <pz-freebsd-ports@ziemba.us> wrote: > An unfortunate property of building ports locally (as opposed to > via poudriere) is that dependencies are often installed to the host > file system during the build even when I am not doing "make install" > to the target port. > > I normally sidestep this issue by using poudriere. However, I am trying > to use PORTS_MODULES in conjunction with my kernel upgrade process to > generate ports-based kernel modules matching the new kernel, to avoid the > "disable kmods/reboot/build ports/reenable kmods" dance. > > It seems "make buildkernel" uses tool binaries from a prior "make > buildworld". > > Is it possible to, in a like manner, cause the ports built via > PORTS_MODULES > to install and use their dependencies in this same "world" staging tree > (or in some alternate place) instead of directly in the host's file system? > > -- > G. Paul Ziemba > FreeBSD unix: > 9:21AM up 130 days, 17:23, 15 users, load averages: 0.33, 0.35, 0.35 > This is exactly the situation in which Poudriere helps. You can create a Poudriere jail out of /usr/src and /usr/obj and then build all the needed ports in the isolated environment. Once you finish, upgrade the host with installkernel & installworld and just do pkg upgrade -r local_poudriere_repo. --000000000000bfab9a05de295cc8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Tue, May 3, 2022 at 11:59 PM G. Pa= ul Ziemba <<a href=3D"mailto:pz-freebsd-ports@ziemba.us">pz-freebsd-port= s@ziemba.us</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex">An unfortunate property of building ports locally (as opposed to= <br> via poudriere) is that dependencies are often installed to the host<br> file system during the build even when I am not doing "make install&qu= ot;<br> to the target port.<br> <br> I normally sidestep this issue by using poudriere. However, I am trying<br> to use PORTS_MODULES in conjunction with my kernel upgrade process to<br> generate ports-based kernel modules matching the new kernel, to avoid the<b= r> "disable kmods/reboot/build ports/reenable kmods" dance.<br> <br> It seems "make buildkernel" uses tool binaries from a prior "= ;make buildworld".<br> <br> Is it possible to, in a like manner, cause the ports built via PORTS_MODULE= S<br> to install and use their dependencies in this same "world" stagin= g tree<br> (or in some alternate place) instead of directly in the host's file sys= tem?<br> <br> -- <br> G. Paul Ziemba<br> FreeBSD unix:<br> =C2=A09:21AM=C2=A0 up 130 days, 17:23, 15 users, load averages: 0.33, 0.35,= 0.35<br></blockquote><div><br></div><div>This is exactly the situation in = which Poudriere helps. You can create a Poudriere jail out of /usr/src and = /usr/obj and then build all the needed ports in the isolated environment. O= nce you finish, upgrade the host with installkernel & installworld and = just do pkg upgrade -r local_poudriere_repo.</div><div><br></div></div></di= v> --000000000000bfab9a05de295cc8--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALH631mUfy9N_BLxEk0wz0GhYVSF1ccdNn8ruL=kkWhd=UEoxQ>