On Wed, Jun 06, 2012 at 01:55:30PM +0200, Tom Gundersen wrote:
Hi guys,
We have been discussing on IRC on and off that we should cleanup our base group. I thought I'd make a suggestion, this should clearly be improved upon, but my main goal is to get the discussion going on the ML.
It seems to me that the base group has several purposes, so to make things simpler I suggest splitting it up into several sub-groups, each with a specific purpose. In the end we might want to merge some/all of these together, or even drop some of them completely, but I thought presenting it in this way made the most sense:
I'm not sure I agree with your definition of "simpler" here... currently, you can install the 'base' group (bloated or not) to a chroot, and its bootable. With this proposed change, that won't be the case. In that regard, I'm somewhat against this. I've left some comments about the groups below, regardless.
We have:
base: things needed by everyone everywhere, including in build chroots base-boot: needed to boot a standard arch system, but not needed if all you want is a build chroot base-network: needed to connect to the internet in order to upgrade our machine further, but most people probably want to select the tools they want themselves rather than installing this group. not needed in a build chroot base-storage: some of this might be needed to mount your filesystems at boot, depending on your setup. most people probably want to select the tools they need, rather than install the whole group. not needed in a build chroot base-utils: a sensible set of tools an admin would expect to have at his/hers disposal after installation, needed to configure the machine or install further packages. never needed on a machine/chroot where the admin won't log in to configure it drop: keep in core (for now, removing it would be a different discussion), but remove from base. this would be stuff that don't deserve being in base in its own right (but were pulled in as deps by others) or stuff that, while generally useful is not needed by everyone, and those who need it can install it.
My initial suggestion (with some input from people on IRC):
base === util-linux bash coreutils man-pages shadow glibc filesystem gettext licenses
base-boot ====== initscripts linux
i would think this should be part of base.
grub (drop this in favor of syslinux? it would still be in core of course) syslinux (new) mkinitcpio (new)
base-network ======== wpa_supplicant dhcpcd inetutils iputils iproute2 (new) ppp pcmciautils (not strictly speaking networking, but might be needed by some networking devices)
base-storage ======== cryptsetup device-mapper e2fsprogs lvm2 xfsprogs jfsutils reiserfsprogs mdadm
+dmraid +btrfs-progs +nilfs-utils
base-utils ====== vi wget
drop. we have curl as a dependency of pacman.
which procps-ng tar sed bzip2 diffutils file findutils gawk grep gzip less nano pacman psmisc
dropped ===== pciutils (usb pulls in hwids) usbutils (same as pciutils) syslog-ng (not necessary on all systems) sysvinit (pulled in by initscripts, no use on its own) udev/systemd-tools (alreday gone, pulled in by systemd or initscripts) man-db (pulled in by man-pages, no use on its own) perl (not necessary on its own, pulled in by whatever needs it) cronie (not needed by everyone) heirloom-mailx (not needed by everyone) logrotate (not needed by everyone) gcc-libs (pulled in by whatever needs it, no good on its own) texinfo (no good on its own, whatever needs it should pull it in) sysfsutils (no good on its own, whatever needs it should pul it in)
FYI, this is a link to a previous cleanup (sorry if I missed some other wikipages that I should have linked to): <https://wiki.archlinux.org/index.php/User:Allan/Base_Cleanup>.
Cheers,
Tom