Commit Graph

1314 Commits

Author SHA1 Message Date
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
Brian C. Lane
c97f3fb6e8 os-release moved to /usr/lib (#1191713)
Don't remove it or the symlink to it.
2015-02-11 11:46:36 -08:00
Brian C. Lane
3f77b80d6c Use /usr/bin/python2 in scripts
New packaging guidelines:

https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes
https://fedorahosted.org/fpc/ticket/327#comment:9
2015-02-09 08:48:22 -08:00
Brian C. Lane
918c2c0cd1 Add bridge-utils (#1188812)
This allows dracut's bridge commands to be used.
2015-02-09 08:39:55 -08:00
Brian C. Lane
6c9a03bd0b Automatic commit of package [lorax] release [22.4-1]. 2015-02-06 17:57:58 -08:00
Brian C. Lane
30c21a1b97 livemedia-creator: Add --timeout option to cancel install after X minutes
Installations sometimes get stuck. This adds the option to cancel it
after some number of minutes have passed.
2015-02-02 12:44:32 -08:00
Radek Vykydal
c1d38a9c48 network: add support for bridge (#1075195)
Related: rhbz#1075195
2015-01-30 15:09:13 +01:00
Brian C. Lane
7bf916a2ad Move url and source to github in specfile 2015-01-29 11:20:32 -08:00
Brian C. Lane
eb9b778b61 Use %license in lorax.spec
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text
2015-01-28 09:29:35 -08:00
Brian C. Lane
f825ef4919 Automatic commit of package [lorax] release [22.3-1]. 2015-01-23 17:38:08 -08:00
Brian C. Lane
3d01cd9129 livemedia-creator: Add documentation on using mock and livemedia-creator
As of anaconda version 22.15 you can run livemedia-creator and anaconda
inside a mock chroot to create iso and filesystem images.
2015-01-20 11:25:40 -08:00
Brian C. Lane
c231c2a63f livemedia-creator: Bump default releasever to 22 2015-01-20 10:59:18 -08:00
Marko Myllynen
eb5b886cea Change console font to eurlatgr
See https://fedoraproject.org/wiki/Changes/NewDefaultConsoleFont

Signed-off-by: Brian C. Lane <bcl@redhat.com>
2015-01-19 10:10:18 -08:00
Brian C. Lane
ff8af1c8f4 Automatic commit of package [lorax] release [22.2-1]. 2015-01-16 16:54:18 -08:00
Radek Vykydal
5aa6bb5f0c Add --live-rootfs-keep-size option 2015-01-16 10:01:41 +01:00
Radek Vykydal
d16bdcaf6d Add --live-rootfs-size option. 2015-01-16 10:01:41 +01:00
Brian C. Lane
a55fe2259a livemedia-creator: Update example kickstarts
We don't need biosboot partitions, and the urls should point to rawhide.
On minimal installs dracut needs to have tar and dracut-network
explicitly included.
2015-01-15 09:39:15 -08:00
Brian C. Lane
879d831ffc livemedia-creator: Turn on debug output for dracut
Some dracut failures are hard to detect without debug enabled, so just
turn it on all the time.
2015-01-15 09:39:15 -08:00
Brian C. Lane
563f4386e8 livemedia-creator: Copy all the logs from /tmp/
It wasn't copying new logs from dnf, kickstart script logs or
tracebacks.
2015-01-15 09:39:15 -08:00
Brian C. Lane
8641caca9e livemedia-creator: Create parent dirs for logfile path
The directory where the --logfile is located is also used for other log
files and for the anaconda logs when using --no-virt. Create the parent
directories if they don't exist.
2015-01-15 09:39:15 -08:00
David Shea
e9c1b5f200 Remove fedora-icon-theme
This package no longer contains anything that we actually use. Removing
it also removes gnome-themes, which we needed for the metacity theme but
which is now handled by anaconda, and gtk2-engines.
2015-01-15 10:36:16 -05:00
David Shea
22017af48a Remove fedora-gnome-theme
fedora-gnome-theme provides gnome-themes-standard, from which we remove
everything except a metacity theme file that metacity doesn't actually
use. Remove fedora-gnome-theme entirely and manually add the font
dependency that it was pulling in.
2015-01-15 10:36:16 -05:00
David Shea
d746ea7323 Remove the GSettings overrides for metacity
Let anaconda figure this out on its own.
2015-01-15 10:36:16 -05:00
David Shea
ba489f71ff Remove gnome-python2-gconf
There's nothing in here we can use and we already remove everything
that's in it, and having it pulls in gtk2 dependencies that we no longer
need.
2015-01-15 10:35:32 -05:00
Radek Vykydal
14494461a9 --make-pxe-target: change permissions of regenerated initramrfs to 0644 2015-01-15 11:03:15 +01:00