Page MenuHomeFreeBSD

pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
ClosedPublic

Authored by manu on Sep 3 2019, 3:58 PM.

Details

Summary

All of them are needed to be able to boot to single user and be able
to repair a existing FreeBSD installation so put them directly into
FreeBSD-runtime.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

manu created this revision.Sep 3 2019, 3:58 PM
gjb added a subscriber: gjb.Sep 3 2019, 4:42 PM

While I can see your rationale for this, libraries were explicitly left out of runtime and kept as their own package for the case of an update (i.e., SA or EN).

Additionally, on the binary side of this proposed change, the default behavior is to add anything not specifically tagged with PACKAGE=foo to be included in runtime, so I believe this particular part of the change is unnecessary.

manu added a comment.Sep 3 2019, 5:26 PM
In D21503#468453, @gjb wrote:

While I can see your rationale for this, libraries were explicitly left out of runtime and kept as their own package for the case of an update (i.e., SA or EN).

Yes I know that but I don't think it have many advantages to do it this way.
We will always build the whole world/kernel and always package everything, even with reproducible build it's not possible to know in advance what change, we must compile/package everything to check what changed.
So the only advantage is smaller downloads when only one lib is updated. But due to the size of the FreeBSD-runtime and FreeBSD-utilities package (with this review and D21506) I don't think its worth it. With those patches applied this is the size of those packages :
-rw-r--r-- 1 manu manu 5.6M Sep 3 18:53 FreeBSD-runtime-13.0.s20190903164926.txz
-rw-r--r-- 1 manu manu 22M Sep 3 18:55 FreeBSD-utilities-13.0.s20190903164926.txz
-rw-r--r-- 1 manu manu 17M Sep 3 18:53 FreeBSD-runtime-13.0.s20190903164926.tar
-rw-r--r-- 1 manu manu 132M Sep 3 18:55 FreeBSD-utilities-13.0.s20190903164926.tar

This is more or less the same compared to the kernel package :
-rw-r--r-- 1 manu manu 36M Sep 3 18:51 FreeBSD-kernel-generic-13.0.s20190903164926.txz
-rw-r--r-- 1 manu manu 124M Sep 3 18:51 FreeBSD-kernel-generic-13.0.s20190903164926.tar

Also having all the libs in separate package makes installing a system very VERY long (think also about jails).

Note that I don't exclude moving things out of the FreeBSD-utilities in the near future if it makes more sense for some componant to be in their own packages.
For now I've only put lib in their own packages if they comes from contrib code.

runtime now only have dependancies on :
FreeBSD-clibs: 13.0.s20190903164926 [base]
FreeBSD-libbsdxml: 13.0.s20190903164926 [base]
FreeBSD-liblzma: 13.0.s20190903164926 [base]
FreeBSD-libbz2: 13.0.s20190903164926 [base]
FreeBSD-libarchive: 13.0.s20190903164926 [base]

While utilities depends on :
FreeBSD-libmagic: 13.0.s20190903164926 [base]
FreeBSD-libefivar: 13.0.s20190903164926 [base]
FreeBSD-libsmb: 13.0.s20190903164926 [base]
FreeBSD-libevent: 13.0.s20190903164926 [base]
FreeBSD-libopie: 13.0.s20190903164926 [base]
FreeBSD-libucl: 13.0.s20190903164926 [base]
FreeBSD-libbsm: 13.0.s20190903164926 [base]
FreeBSD-libsqlite3: 13.0.s20190903164926 [base]
FreeBSD-libldns: 13.0.s20190903164926 [base]
FreeBSD-libbegemot: 13.0.s20190903164926 [base]
FreeBSD-libdwarf: 13.0.s20190903164926 [base]

Additionally, on the binary side of this proposed change, the default behavior is to add anything not specifically tagged with PACKAGE=foo to be included in runtime, so I believe this particular part of the change is unnecessary.

D21506 changes that to be utilities as the default package which is why it's needed here.

gjb accepted this revision as: gjb.Sep 3 2019, 5:33 PM

I'll reluctantly accept the revision, noting my objection pointed out above. I do not feel strongly enough in either direction, so I want to be clear that while I am "accepting" this change, it is with hesitance.

This revision is now accepted and ready to land.Sep 3 2019, 5:33 PM
bapt accepted this revision.Sep 4 2019, 6:41 AM
This revision was automatically updated to reflect the committed changes.