Now that the runtime contents remain compressed and aren't always stored
in RAM, it generally takes less RAM to keep these around than to run
'localedef' in anaconda.
This switches us back to the old pre-lorax method for setting up the
locale archive - see e.g. anaconda commit ea71816d
The '-cmd' functionality depends on the individual lorax template
commands raising errors, so they shouldn't do sys.exit().
Also, capture stderr along with stdout, and put both in the log.
There's something strange going on where unmounting a hfsplus volume
immediately after mounting it will fail with EBUSY.
This makes the umount fail, which makes the rmdir fail, which causes a
traceback, which breaks mkefiboot --apple.
It works fine if you wait a second and retry.. so do that.
Also, add the "lazy" argument so you can do lazy unmounts if you like.
Generally it's not a good idea for python libraries to set up loggers in
the body of the library.
Set up a NullHandler by default (as the logging module suggests), and
add a function to do the current logging setup during run().
The 'removefrom kbd' line wasn't deleting anything because it was
looking in the wrong place. It was also kind of wordy.
This version should keep the needed binaries and remove the stuff we
don't need, as intended.
iproute's binaries moved to /usr/sbin, so they were *all* getting
removed by the '/usr/*' glob. iscsi's NetworkManager dispatcher script
uses 'ip' so this might be needed for proper iscsi support; at the very
least it quiets some error messages from NM. It's also pretty likely
people's kickstart scripts use 'ip' utility, so we'd better make sure
it's still available.
Remove a bunch of useless 'removefrom' lines that did nothing but cause
"no files to remove!" messages in lorax logs.
- ConsoleKit isn't in the anaconda runtime
- update-gtk-immodules isn't in gtk3
- there's nothing in /usr/share/selinux in selinux-policy-targeted
- zenity doesn't have a /usr/share/omf directory
- libpng moved to libpng15.*; actually removing it breaks the GUI
- pcmciautils' binaries are in /sbin, not /usr/sbin. They're only 7kb,
so let's just keep 'em.
This should have *no effect* on the contents of the runtime images.
A lot of the systemd unit files got moved around due to UsrMove, so
these lines weren't removing the services as expected.
Fix the paths and they all work. This eliminates the "FAILED"
message from systemd-remount-api-vfs.service and plymouth-start.service.
Oh - and the ConsoleKit removal got dropped 'cuz ConsoleKit isn't in the
installer images anymore.
From Harald Hoyer <harald@redhat.com>:
pollcdrom is used to poll for the install medium. A lot of CDROM drives
are not polled by the kernel correctly, so we have to actively poll for
the medium.
Some packages are critical to the compose. If --required
is specified in the template's installpkg command, lorax
will exit if the package is not available.
This adds support for creating an appliance description file for the
disk image. Mako templates are used to make it easy to support other
appliance targets. The included example works with virt-image.
Mac boot images are optional. Don't require hfsplus-tools
by default, but warn the user that he needs to install them
if he wants to create mac boot images.