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>