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
---------------------------