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.
Details
- Reviewers
gjb bapt - Group Reviewers
releng pkgbase - Commits
- rS351855: pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
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.
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.
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.