Date: Tue, 21 Dec 2021 00:43:31 +0100 From: Muhammad Moinur Rahman <bofh@freebsd.org> To: "Dan Mahoney (Gushi)" <freebsd@gushi.org> Cc: ports@freebsd.org Subject: Re: Using a combination of ports and pkg Message-ID: <77662E33-67B2-4285-AE5E-49A23CE075F1@freebsd.org> 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
--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) <freebsd@gushi.org> = 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?77662E33-67B2-4285-AE5E-49A23CE075F1>