This lets us easily do whitelisting instead of blacklisting during
runtime cleanup. For example:
removefrom xfsprogs --allbut /sbin/* /usr/sbin/xfs_admin
would remove everything from the xfsprogs package except files in /sbin
and /usr/sbin/xfs_admin.
A few things in runtime-cleanup have been converted to use --allbut. The
only difference in the created runtime image is that we're deleting
/usr/share/kde4 from fedora-logos.
From: Matthew Garrett <mjg@redhat.com>
If we're producing EFI bootable images then we should also support
making them bootable from USB sticks. This adds support for doing so.
- use libdir in GConf2
- delete redundant removals of /usr/share/gnome/*
- remove systemd units for nfs-utils
- remove all of notification-daemon rather than piece-by-piece
- don't try to delete non-existent libldif from openldap
- /usr/sbin/xfs_bmapd is actually /usr/sbin/xfs_bmap
- remove /etc/* from yum rather than etc/*
also make sure we clean a bunch more unneeded services, but don't bother
deleting target files that would just be ignored anyway.
also also, delete everything in /etc/systemd/system/default.target.wants
so that we don't get readahead stuff in anaconda.
Add commentary for a bunch of the removepkg lines, and drop a bunch of
things that were in the list that weren't being installed anyway. Also
drop some redundant removepkg lines about chkconfig.
This adds the boot config files from anaconda to lorax's configdir.
They've been edited to include a '@ROOT@' placeholder, so lorax can put
the proper root=... argument in place, and to use the @VAR@ convention
everywhere (instead of some using @VAR@ and some using %VAR%).
This should probably fix EFI booting, since the EFI BOOT*.conf was
missing its root=... arg.
Also some default settings were changed in syslinux.cfg (so we don't
have to rewrite those two lines every time).
One last change - the '-magic' arg and ppc 'magic' file have been
dropped, because that's kind of silly and unnecessary.
make sure that runner.templatedir gets set to a useful default if
initialized with None, and and make sure we pass templatedir to
LoraxTemplateRunner.__init__ (so it'll get initialized properly)
removing packages sadly doesn't run their %post scripts, so a lot of
broken links are left around for systemd units and/or sysvinit scripts.
So, after other cleanup, remove any broken links in /etc, /usr, or /lib.
- don't bother explicitly listing things that get installed as deps
- rearrange packages into functional groups, so we know *why* each
package gets installed
- add commentary about some dubious package installations
I've done some testing on x86_64 and ppc64 - the installed package set
is unchanged except for the addition of lohit-malayalam-fonts.
emit a useful log message if we attempt to removepkg something that
isn't installed, or if a glob used in a removefrom line matches no
files.
this will help us keep the templates cleaner.