Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Dec 2021 00:39:09 +0100
From:      Robert Clausecker <fuz@fuz.su>
To:        "Dan Mahoney (Gushi)" <freebsd@gushi.org>
Cc:        ports@freebsd.org
Subject:   Re: Using a combination of ports and pkg
Message-ID:  <YcEUHScfG8h/HWJU@fuz.su>
In-Reply-To: <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org>
References:  <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Dan,

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

Yours,
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:  fb.com/DanielMahoneyIV
> LI:   linkedin.com/in/gushi
> Site:  http://www.gushi.org
> ---------------------------
> 
> 

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YcEUHScfG8h/HWJU>