Skip site navigation (1)Skip section navigation (2)
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>