From nobody Mon Dec 20 23:14:13 2021 X-Original-To: ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2DE0618F0B77 for ; Mon, 20 Dec 2021 23:14:26 +0000 (UTC) (envelope-from danm@prime.gushi.org) Received: from prime.gushi.org (prime.gushi.org [IPv6:2620:137:6000:10::142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "prime.gushi.org", Issuer "RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JHwQT2jZjz3lKl for ; Mon, 20 Dec 2021 23:14:25 +0000 (UTC) (envelope-from danm@prime.gushi.org) Received: from prime.gushi.org (localhost [127.0.0.1]) by prime.gushi.org (8.16.1/8.16.1) with ESMTPS id 1BKNEFvB029788 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 20 Dec 2021 15:14:16 -0800 (PST) (envelope-from danm@prime.gushi.org) DKIM-Filter: OpenDKIM Filter v2.10.3 prime.gushi.org 1BKNEFvB029788 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gushi.org; s=prime2014; t=1640042056; bh=qkjABw08nEk6qRuOgnV1yXKoeq2XjKRlnAIbjjyOi3w=; h=Date:From:To:Subject; z=Date:=20Mon,=2020=20Dec=202021=2015:14:13=20-0800=20(PST)|From:=2 0"Dan=20Mahoney=20(Gushi)"=20|To:=20ports@freeb sd.org|Subject:=20Using=20a=20combination=20of=20ports=20and=20pkg ; b=NgXYy8GgLGNNGmvJ8J4GE/nY0lxMeseC0kc979U+2cm2Z0JHwO3VlqeAveItoOata ZENB4wuasi0CKQUC9ExMDN9Z6hmV+k4srtrWfnrXUnbSxtPfUdfQZPgiR46b46ES+/ 3iJm8BUd4PqrtFghDgtaRecZfkNE/aEBVoa36RrtTCjeMTk17V7BccdZZiGGJW1vF8 +7WWf6Nw556T8jYMyMaUo683NsHdUuUH5JzAstZ8+k/T4lNxNF2IEUPxfLsAzQULTw gDtkTikHejL6aVOOu0Ch3u5JofNl9IwiqrpZei9lCmK2FK+m8MHK3XLthO15sUUNJS fAPkUrUbRIEzA== Received: (from danm@localhost) by prime.gushi.org (8.16.1/8.16.1/Submit) id 1BKNEFVJ029786; Mon, 20 Dec 2021 15:14:15 -0800 (PST) (envelope-from danm) Date: Mon, 20 Dec 2021 15:14:13 -0800 (PST) From: "Dan Mahoney (Gushi)" To: ports@freebsd.org Subject: Using a combination of ports and pkg Message-ID: <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org> X-OpenPGP-Key-ID: 0x624BB249 List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.2 (prime.gushi.org [0.0.0.0]); Mon, 20 Dec 2021 23:14:17 +0000 (UTC) X-Rspamd-Queue-Id: 4JHwQT2jZjz3lKl X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gushi.org header.s=prime2014 header.b=NgXYy8Gg; dmarc=pass (policy=none) header.from=gushi.org; spf=pass (mx1.freebsd.org: domain of danm@prime.gushi.org designates 2620:137:6000:10::142 as permitted sender) smtp.mailfrom=danm@prime.gushi.org X-Spamd-Result: default: False [-6.30 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gushi.org:s=prime2014]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_MED(-2.00)[gushi.org:dkim]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+a]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[ports@freebsd.org]; TO_DN_NONE(0.00)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCVD_IN_DNSWL_MED(-0.20)[2620:137:6000:10::142:from]; DKIM_TRACE(0.00)[gushi.org:+]; DMARC_POLICY_ALLOW(-0.50)[gushi.org,none]; NEURAL_HAM_SHORT(-0.90)[-0.897]; FORGED_SENDER(0.30)[freebsd@gushi.org,danm@prime.gushi.org]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:393507, ipnet:2620:137:6000::/44, country:US]; FROM_NEQ_ENVFROM(0.00)[freebsd@gushi.org,danm@prime.gushi.org]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N 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 ---------------------------