From nobody Mon Dec 20 23:43:31 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 2629118F6CB3 for ; Mon, 20 Dec 2021 23:43:38 +0000 (UTC) (envelope-from bofh@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JHx496TdYz3pRj; Mon, 20 Dec 2021 23:43:37 +0000 (UTC) (envelope-from bofh@freebsd.org) Received: from mx.bofh.network (mx.bofh.network [IPv6:2a0d:2787:2::28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx.bofh.network", Issuer "R3" (verified OK)) (Authenticated sender: bofh/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 649B6E4FA; Mon, 20 Dec 2021 23:43:37 +0000 (UTC) (envelope-from bofh@freebsd.org) Received: from smtpclient.apple (ip-217-105-29-47.ip.prioritytelecom.net [217.105.29.47]) by mx.bofh.network (OpenSMTPD) with ESMTPSA id e2c82c79 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Mon, 20 Dec 2021 23:43:34 +0000 (UTC) Content-Type: multipart/signed; boundary="Apple-Mail=_A1C5AD2A-7CC2-4AA2-B2D5-94882AF71EB8"; protocol="application/pgp-signature"; micalg=pgp-sha512 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 (Mac OS X Mail 15.0 \(3693.40.0.1.81\)) Subject: Re: Using a combination of ports and pkg From: Muhammad Moinur Rahman In-Reply-To: <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org> Date: Tue, 21 Dec 2021 00:43:31 +0100 Cc: ports@freebsd.org Message-Id: <77662E33-67B2-4285-AE5E-49A23CE075F1@freebsd.org> References: <57ede289-e571-4682-30c-b4cc84dd545@prime.gushi.org> To: "Dan Mahoney (Gushi)" X-Mailer: Apple Mail (2.3693.40.0.1.81) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1640043817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=lje8UCBxr25UfmzRCTJTIVqVOr1UoiGSfyU7keIsGkw=; b=EAP26kMM0iwgT3jlc1b68HdQfKooX5VJiHcfr2DBhHQJJJpq+5fhuSVrOrrW9+rnskLHxV 8DIwAd5Hhq8i5R3muyvt3qC+fdx84HKEIbOJdPuJy0ok92SKy94d9qjd1sPjVwQxl3RuV7 9SBanDyQBqLhhBokR5wfC7/N8yVDzY1dy5Mqj0F2gXkRLEiPDAc8VXBa+H2hed5VnKCZHl kT7Quk7+jAUO75gyCMFdYle4a7GnDHVyAWiV/BQ04Eu6Hx23I3vvNh+azwu9CAn4cfxCHH TMmqHN4rc6N9j9oyYjZAucMGYD1/lN1KIrC9iIfhcduPoyE9wmHhjsDqfae8+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1640043817; a=rsa-sha256; cv=none; b=E+0Xm0I+bZJlewWOFbMsLgFHz+WsJ/w4MS3ZGGFckJxqWl6dB1EG64hzkJGQy3jVvDsKSu X+Bhq/ZqqmQKpDV1a4LWU4daWlOCee2A1gMbyrjWq4eqMactvPoKCMUzDAil1/lM4WYhB8 ZTQK7U/Wx9gG5bLMoVRJUs5VYCnML8qpqBr8vJ0uo10exqqwgme/1+cmNEmc6cErh7hQqX jxBBnWmIubMRZdLRT2iQWJqxlMWqhN3PoyxaFBl/OsbIXPsUguL94QCQJRaSMHjSC6tKG+ bjzKxL5UYK7mf3LqU4gb4X+DI0g4Moka4HxnJ/FJeMMJrE2CybaGpOThKnS20A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_A1C5AD2A-7CC2-4AA2-B2D5-94882AF71EB8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 21 Dec, 2021, at 00:14, Dan Mahoney (Gushi) = wrote: >=20 > All, >=20 > I've been wanting a thing from the ports tree for a long, long time: >=20 > I am building port X, but changing one option. It has a bunch of = runtime dependencies, and a bunch of build-time dependencies. >=20 > 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. >=20 > 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. >=20 > 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=3D don't always tell you the whole = story.) >=20 > I mean, it's feasible once you have a running system, even if it's = hard to reproduce. >=20 > 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. >=20 > 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). What about portmaster -P in case you are just a user? > =3D=3D >=20 > 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) >=20 > 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. Currently you don=E2=80=99t need to explicitly test on i386 after 12.3 = as they are not Tier-1 anymore. And quarterly test is also not mandatory = as quarterly snapshots were taken when your port actually built = successfully. So in case there are problems you will be notified by = pkg-fallout@. For my purpose(500+ ports) I use 4 builders 12.3 = (i386+amd64), 13.0 amd64 and HEAD amd64. And I have a Raspbery pi4. My = ports tree are built with the updates only every night except Raspberry = Pi which does it every 2 days. > 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. Noops. Let=E2=80=99s say a dependent of the dependent of your port has = been changed, in that case the dependents of the dependents should also = be rebuilt because it might affect the build of your port. And in most = cases you won=E2=80=99t get the packages as latest is also nearly = lacking by 7 days in worst cases. My 500+ ports require nearly 1800+ = ports to be built but normally in rare cases the 1800 ports are rebuilt. = Normally everyday it=E2=80=99s somewhere in between 20-100 ports that = are being rebuilt. > Is this...normal? Is this what one expects a new porter to do? Or am = I making too much work for myself? YES. :D > -Dan >=20 > -- >=20 > --------Dan Mahoney-------- > Techie, Sysadmin, WebGeek > Gushi on efnet/undernet IRC > FB: fb.com/DanielMahoneyIV > LI: linkedin.com/in/gushi > Site: http://www.gushi.org > --------------------------- >=20 >=20 --Apple-Mail=_A1C5AD2A-7CC2-4AA2-B2D5-94882AF71EB8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEETfdREoUGjQZKBS+fvbm1phfAvJEFAmHBFSNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDRE Rjc1MTEyODUwNjhEMDY0QTA1MkY5RkJEQjlCNUE2MTdDMEJDOTEACgkQvbm1phfA vJHEChAAkO3FdbmWI6qumGXTEAEEBkZROy3SWF8VIqbd9EAEv0VsOaUkZFJDjGOC ZiHChHra+NS7pqV4FjqECFNhdaQdkQvN8uRBhky77pgCwTf2EbkEwMdkxI9keUsp 1hpPFQaJ3OIeV/vFu1rz4bSFVbhnV0I+wkOyuuBcR++dvT5JoFphP7gZ2obB7fEn 7JYYQXR5i3jc5hwAKWyhikxL2enpYew5OVfduGPEMVsK9sEITDs78CkDAEJ+o4L5 Id7YjHgq7B5W7XBagzs16dan9RQo9TuAGvLHhGlf2zkyG4DfJxYXytzgIxD1BZ7O jF/OZFqYQiW9f9bPSbAqFcsy3SvJfh+V1WoefBZB1YPnY12kT4TEMLVGJynEcJ6Z wsDSh+X6p89RAh4w1Nb9PAN3F/I1R03doXymuPIQ09t2aukeoCB1oH9RldR/buWX fDBQFXnBzl+i9HlqfbDtfTBkgRWegApvfDZ+xxQblmKxvfLTfvyb4vzMti4lyOLl Bx406dMrySwMTzQOHHksXRlKMU9XtWEyR9pwfzONUDJ2QnFJxL0Gy5hn5cJ4MOBH I7IsnaxfXJxrZwgCz0RgJfCjxph6TBPlPb7GUiVMXN8CvtR0i5NUU8L2oeSC3O3N 9kCQNyKYocUSYp6A7RLhFEoUntIonbU+b030WgInG2oiwuVvbi4= =L65J -----END PGP SIGNATURE----- --Apple-Mail=_A1C5AD2A-7CC2-4AA2-B2D5-94882AF71EB8--