Re: Using a combination of ports and pkg

From: Robert Clausecker <>
Date: Mon, 20 Dec 2021 23:39:09 UTC
Hi Dan,

Consider using "make install-missing-packages" to install the missing
dependencies using pkg(8).

Robert Clausecker

Am Mon, Dec 20, 2021 at 03:14:13PM -0800 schrieb Dan Mahoney (Gushi):
> All,
> I've been wanting a thing from the ports tree for a long, long time:
> I am building port X, but changing one option.  It has a bunch of runtime 
> dependencies, and a bunch of build-time dependencies.
> I only want to build *that port* bespoke.  All the dependencies, I want to 
> install via pkg.  Assume I know that to build from quarterly ports, I need 
> to be following quarterly pkg.  Assume that I know I need to pkg lock my 
> port and only upgrade it again via ports.
> For the sake of argument, let's assume I'm doing this on a tiny embedded 
> non-x86 system, where I can't just build offboard, where building that 
> port could mean days of time.
> There's no option for pkg install build-depends-of-thing-X or pkg install 
> runtime-depends-of-thing-X.  The best you can do is pkg install thing-x; 
> pkg uninstall thing-x; cd /usr/ports/misc/thing-X, make, crap-crap-crap, 
> ctrl c, pkg-install a run-depend, try again.  (Or read the makefiles, 
> which with USES= don't always tell you the whole story.)
> I mean, it's feasible once you have a running system, even if it's hard to 
> reproduce.
> This has been what life with the port tree is like for decades.  I've 
> gotten used to this to, say, build apache with mod_suexec.
> It's silly, but that's the best workflow I've got, absent other tools like 
> portmaster or whatnot (which don't solve this either).
> ==
> But then, assume I'm either a budding port maintainer, or I'm just plain 
> insane and bother to spin up an entire poudriere install just for this, so 
> I can pkg install my modified port.  (Maybe my $dayjob maintains their own 
> build of $software just in case there's a zero-day CVE, for example)
> And so, for, say, opendmarc (which I am the actual maintainer of, and 
> about to put out a new release of), that means in order to poudriere 
> testport one package, I need to build 118.  On two architectures 
> (x86/x86-64). * On two releases (12/13). * On two versions of the ports 
> tree (quarterly and head).  And trust that people won't hit issues on the 
> platforms I'm not testporting on like ARM.
> For 99 percent of that, I'm just building the same exact things I could 
> pkg install, which poudriere gives me no way to do in a jail.
> Is this...normal?  Is this what one expects a new porter to do?  Or am I 
> making too much work for myself?
> -Dan
> -- 
> --------Dan Mahoney--------
> Techie,  Sysadmin,  WebGeek
> Gushi on efnet/undernet IRC
> FB:
> LI:
> Site:
> ---------------------------

()  ascii ribbon campaign - for an 8-bit clean world 
/\  - against html email  - against proprietary attachments