Commit Graph

1438 Commits

Author SHA1 Message Date
Brian C. Lane
1a92b1b05e Convert to using pocketlint for pylint rules
Also cleanup some warnings.
2015-05-15 17:11:20 -07:00
Brian C. Lane
80f66d438d Convert livemedia-creator to py3 2015-05-15 17:11:20 -07:00
Brian C. Lane
e39543168b Convert test-parse-template to py3 2015-05-15 17:11:20 -07:00
Brian C. Lane
cb7dadb35f Update image-minimizer for py3
Also switch to using argparse instead of optparse.
2015-05-15 17:11:20 -07:00
Brian C. Lane
ca0bb2681e Change mkefiboot to py3
Just a couple prints.
2015-05-15 17:11:20 -07:00
Brian C. Lane
eb22c69f29 Additional python3 changes
Add a 'lower' filter to the templates to replace string.lower which no
longer exists. Fix udev_escape, the strings are already unicode, and
drop --chdir from runcmd. It wasn't ever used, and passing cwd to the
new runcmd isn't supported.
2015-05-15 17:11:20 -07:00
Brian C. Lane
2f927118a7 Update lorax for python3 and argparse 2015-05-15 17:11:20 -07:00
Brian C. Lane
e1a05d962c Use the execWith* methods from Anaconda
The previous ones were a bit of a kludge, the Anaconda ones have had a
lot of work put into them so let's just use them with slight modifications.
2015-05-15 17:11:20 -07:00
Brian C. Lane
de0e662f51 Convert pylorax to python3
Fix up 2to3 complaints. I've decided to do with wrapping list
comprehension inside list() to get the generators to run in several
places instead of list(map( or list(filter( which seem less readable to
me.
2015-05-15 17:11:20 -07:00
Brian C. Lane
a6e469e0e6 Clean up some pylint warnings
Mostly logging, using .format() on the strings.
2015-05-15 17:11:20 -07:00
Brian C. Lane
d88cb00943 Make sure openssh-clients is installed (#1219398)
It used to be pulled in by a dependency, which went away. It should be
explicitly installed.
2015-05-07 16:49:18 -07:00
Dan Horák
a2c2a4be28 Add product.img support for s390 templates 2015-04-29 11:30:59 -07:00
Brian C. Lane
80ed5006d4 Add some more details about template rendering errors 2015-04-10 11:01:59 -07:00
Brian C. Lane
9b384e084f Mock more modules for RTD
Also add a requirements.txt for RTD so that it will install Mako into
the virtualenv when generating the documentation.
2015-04-09 11:01:20 -07:00
Brian C. Lane
da59f8af4b Mock the selinux package for RTD 2015-04-09 10:26:14 -07:00
Brian C. Lane
f40dadf9be Added Sphinx Documentation
Run 'make docs' to update the apidocs.

Also moves the README.livemedia-creator and README.product into docs
as ReST documents. They will be installed in /usr/share/doc/lorax/
by the rpm package.
2015-04-09 09:29:56 -07:00
Brian C. Lane
062b509c83 Automatic commit of package [lorax] release [23.8-1]. 2015-04-02 13:42:00 -07:00
Brian C. Lane
a810cad542 Include cryptsetup in the image (#1208214)
blivet dropped its requirement on cryptsetup, but fedup needs it in the
upgrade.img and it is useful for rescue mode so add it back.
2015-04-02 13:38:51 -07:00
Brian C. Lane
42e75efe9f Automatic commit of package [lorax] release [23.7-1]. 2015-03-27 17:24:01 -07:00
Vratislav Podzimek
d2c64b1b26 Check that the transaction process is still alive
If it terminates really badly (e.g. with SIGSEGV), it doesn't report any error,
just doesn't put anything to the queue. So instead of just blindly waiting on
the queue forever, check that the process is still alive if we don't get any
message in long time interval.
2015-03-25 16:59:02 +01:00
Brian C. Lane
3148a2b215 livemedia-creator: Clean up resultdir handling 2015-03-24 14:21:18 -07:00
Brian C. Lane
fc1316e767 Automatic commit of package [lorax] release [23.6-1]. 2015-03-20 18:09:20 -07:00
Brian C. Lane
f130efdbc2 Include ld.so.conf (#1204031)
ldconfig runs at boot time, and some libraries apparently aren't setup
properly, so the config is needed to point to their directories.
2015-03-20 17:27:33 -07:00
Brian C. Lane
3981ff5b79 Revert "Turn off ldconfig"
This reverts commit c4c90e0b5e.

Appears to be causing rhbz#1201897
2015-03-20 17:26:32 -07:00
Colin Walters
67217f5642 Add ability for external templates to graft content into boot.iso
I originally added --add-template to support doing something similar
to pungi, which injects content into the system to be used by default.
However, this causes the content to be part of the squashfs, which
means PXE installations have to download significantly more data that
they may not need (if they actually want to pull the tree data from
the network, which is not an unusual case).

What I actually need is to be able to modify *both* the runtime image
and the arch-specific content.  For the runtime, I need to change
/usr/share/anaconda/interactive-defaults.ks to point to the new
content.  (Although, potentially we could patch Anaconda itself to
auto-detect an ostree repository configured in disk image, similar to
what it does for yum repositories)

For the arch-specfic image, I want to drop my content into the ISO
root.

So this patch adds --add-arch-template and --add-arch-template-var
in order to do the latter, while preserving the --add-template
to affect the runtime image.

Further, the templates will automatically graft in a directory named
"iso-graft/" from the working directory (if it exists).

(I suggest that external templates create a subdirectory named
 "content" to avoid clashes with any future lorax work)

Thus, this will be used by the Atomic Host lorax templates to inject
content/repo, but could be used by e.g. pungi to add content/rpms as
well.

I tried to avoid code deduplication by creating a new template for the
product.img bits and this, but that broke because the parent boot.iso
code needs access to the `${imggraft}` variable.  I think a real fix
here would involve turning the product.img, content/, *and* boot.iso
into a new template.
2015-03-19 16:48:16 -04:00
Brian C. Lane
90dfe0cf81 Keep logitech hid drivers (#1199770)
Some logitech mice need a driver.
2015-03-17 16:45:18 -07:00
Brian C. Lane
0f17ef6b2b Automatic commit of package [lorax] release [23.5-1]. 2015-03-16 16:54:48 -07:00
Stephen Gallagher
9ed9268cfa Don't erase /usr/lib/os.release.d
This directory now contains the standard and productized
/etc/os-release feeder files.
2015-03-16 13:12:03 -07:00
Brian C. Lane
eb3f383984 Automatic commit of package [lorax] release [23.4-1]. 2015-03-13 17:37:38 -07:00
Brian C. Lane
42dc9eaaed Require python-dnf so that we get the python2 version
The primary dnf package is now python3, lorax is still python2, so
require the right thing.
2015-03-12 16:41:08 -07:00
Brian C. Lane
7404a28c6f livemedia-creator: Fix up fake yum object for DNF change
pylorax unconditionally calls reset() on the dbo, so provide an empty
method to keep it happy.

The lmc dbo is minimal because it is only used for creating the iso, not
anything related to package installation.
2015-03-09 09:15:31 -07:00
Brian C. Lane
c0ac3ad3bb Update logic for stage2 detection on boot.iso
The stage2 image can be either LiveOS/squashfs.img or it can be
images/install.img, adjust the IsoMountpoint for this and rename the
flag to .stage2 instead of .liveos
2015-03-09 08:32:57 -07:00
Brian C. Lane
a1ddbc268f Automatic commit of package [lorax] release [23.3-1]. 2015-03-06 17:51:51 -08:00
Brian C. Lane
c4c90e0b5e Turn off ldconfig
We don't need to update ldconfig when running the boot.iso, disable it
to speed up the boot.
2015-03-06 11:26:50 -08:00
Brian C. Lane
11c9e0e8ee Add removekmod template command
removekmod GLOB [GLOB...] --allbut KEEPGLOB [KEEPGLOB...]

This can be used to remove kernel modules from under
/lib/modules/*/kernel/ while keeping specific items. This should be
easier than constructing find arguments to select the right things to
save.
2015-03-06 11:26:14 -08:00
Brian C. Lane
c548084ccf Move stage2 to images/install.img (#815275)
Use the same stage2 location for all arches, put it in images with all
the other images. This only effects boot.iso, live images still use
LiveOS/squashfs.img because that's where dracut's 90dmsquashfs-live
module expects to find it.

For boot.iso anaconda-dracut handles finding stage2, looking at
images/install.img and LiveOS/squashfs.img
2015-03-03 09:01:21 -08:00
Brian C. Lane
2b2feca4ca Automatic commit of package [lorax] release [23.2-1]. 2015-02-27 17:26:40 -08:00
Brian C. Lane
d5d071666f Update pykickstart requirement
pykickstart now has py2 and py3 packages. Require python-kickstart (the
py2 package).
2015-02-26 14:40:39 -08:00
David Shea
df411094ac Explicitly install notification-daemon
This prevents dnf from making some unfortunate choices when depsolving
libnotify.
2015-02-18 17:07:29 -05:00
Brian C. Lane
670cfec75b Automatic commit of package [lorax] release [23.1-1]. 2015-02-17 16:01:17 -08:00
Brian C. Lane
62de8c26f8 Skip using srpm repos
DNF has a bug (#1191289) when the SRPM repo isn't the first one used,
and we don't need them for lorax anyway.
2015-02-16 08:47:31 -08:00
Brian C. Lane
13de711548 Drop the dnf Base object deletion code and use reset
It appears that reset+fill_sack will now do the right thing and load the
state of the installed packages. Drop the hack with deleting the object.

Also add a double-check to make sure there really is a list of files
for anaconda-core before we run off and make an image without removing
anything.
2015-02-16 08:47:30 -08:00
Brian C. Lane
9ff5897eee Get the log directory from the configfile
In the lorax script create it if missing and override it with the
path of --logfile
2015-02-16 08:47:30 -08:00
Brian C. Lane
fe457ed71b lorax: Add --cachedir, --force and --workdir cmdline options
--cachedir allows the user to specify where the DNF cache is located.
This doesn't actually appear to do much since dnf erases the cache when
it is done. May be useful in the future.

--workdir sets the top level directory for lorax to use for installing
packages, creating installtree and installroot. Normally a temporary
directory under /var/tmp.

Note that the workdir will *not* be removed if there is an error setting
up the DNF object.

--force skips checking if the output directory exists, allowing things
like pungi to use lorax to place the output next to the repo tree it has
already created.
2015-02-16 08:47:30 -08:00
Brian C. Lane
1ec35938b3 Cleanup help alignment 2015-02-16 08:47:30 -08:00
Brian C. Lane
345cc89ee0 dnf: remove files from installed packages
This is a workaround for a current dnf bug, it doesn't update the state
of the packages after they are installed so we tear down the base dnf
object and create a new one pointing to the installroot.

There is an additional issue with the list of files returned, hawkey and
dnf don't appear to make a distinction between files, dirs and ghosted
dirs like yum did, this can result in too much being removed (eg. all of
/etc/selinux/) so we only remove files not directories.
2015-02-16 08:47:30 -08:00
Brian C. Lane
431ca6cea4 Switch lorax to use dnf instead of yum
pylorax users will need to change to using dnf and pass a dnf.Base()
object as the dbo argument instead of a yum object as the yum or ybo
argument. See the lorax script for an example of how to do this.

The lorax cmdline argument --excludepkgs has been removed since dnf
doesn't appear to have any way to support it and packages should be
controlled using templates anyway.
2015-02-16 08:47:30 -08:00
Brian C. Lane
4b55e1eb7a Fix Source0 for use with github 2015-02-12 17:05:37 -08:00
Brian C. Lane
95f2e3b33a Automatic commit of package [lorax] release [23.0-1]. 2015-02-12 16:50:47 -08:00
Brian C. Lane
c0cb4a9b40 Bump version to 23.0 2015-02-12 16:50:20 -08:00