On Wed Jun 03 06:18 PM, A. Wilcox wrote:
Hello all,
I've been looking at the dependencies of our base system packages, and
also the size of the live images. I'm not very happy with what I've seen.
The 64-bit PowerPC live target image is 364 MiB uncompressed. I feel
like this is significantly larger than it needs to be.
The single largest package, at 51.2 MB, is Perl. The only package
pulling Perl into the base system is console-setup. Max (sroracle@) has
mentioned investigating a replacement for console-setup, so I will defer
to that work. That would be a great and simple win by itself.
As discussed on IRC, I have implemented this according to the following:
1. kbd-openrc now provides the "consolefont" service (openrc used to
provide this) and also the "keymaps" service (also shipped with
openrc, but it was dropped when we first added console-setup in
2018).
2. console-setup has been pared down to just the ckbcomp utility and
moved to user/.
3. adelie-base depends on kbd now instead of console-setup.
If you formerly used console-setup in order to change the keyboard
layout for the Linux console, please give the merge request with the
changes outlined above a try:
https://code.foxkit.us/adelie/packages/-/merge_requests/457
Another large set of packages is our viewer for manual pages. Right
now, documentation viewing is done via man-db. The man-db package is
1.2 MB, but it requires the GNU groff typesetting system which is 17 MB
and the Berkeley database library which is an additional 2.1 MB. Added
up, this is over 20 MB.
The BSD operating systems, Gentoo, Void, and Alpine are using the mandoc
package, which came from the OpenBSD and NetBSD communities. This
package appears to be less than 1 MB installed, and would allow us to
not only significantly reduce the size of all base images, but would
also allow us to remove another GNU package from base. I think we
should seriously investigate this option.
If no one else is interested in trying this out I can take it up. I
think it has a lower priority than the console-setup or GRUB issues, but
it would be nice to do if only that we could close BTS#230 [1] (which I
haven't been able to reproduce, but still).
The live images also include hwids, allowing you to determine the
names
of PCI cards, graphics adaptors, network adaptors, etc. from the live
environment. This is very useful, but the databases use almost 30 MB.
Can we investigate if there is any way to compress them? I understand
that squashfs already uses gzip on the entire image, but I am also
thinking about size used on installed systems.
Is it installed in the default configuration, or just on the live CD?
Finally, the GRUB base package uses 17 MB for the various tools. I
do
not think all of those tools are needed in the base GRUB package - do
all systems really need `grub-sparc64-setup` or `grub-syslinux2cfg`? I
feel this should be something else we investigate.
I can look at this but I doubt a few tools are causing the size to
balloon - it's probably all of the modules we ship, and I don't know
that we can drop any of them.
Max
[1]
https://bts.adelielinux.org/show_bug.cgi?id=230