Date: Mon, 20 Dec 2021 15:14:13 -0800 (PST) From: "Dan Mahoney (Gushi)" <freebsd@gushi.org> To: ports@freebsd.org Subject: Using a combination of ports and pkg Message-ID: <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org>
next in thread | raw e-mail | index | archive | help
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 ---------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57ede289-e571-4682-30c-b4cc84dd545>