Compare commits
24 Commits
master
...
f34-branch
Author | SHA1 | Date | |
---|---|---|---|
|
4e845bbbfd | ||
|
902b705a04 | ||
|
0c2c1f6399 | ||
|
401b2be268 | ||
|
b563942ca6 | ||
|
b9d9afd2eb | ||
|
4bf9ce05e3 | ||
|
b855786741 | ||
|
47283639be | ||
|
fac1e90991 | ||
|
46aaa2ce3a | ||
|
310cf07f3a | ||
|
0a64ebe568 | ||
|
a2783503d8 | ||
|
a6f4d0dabd | ||
|
0c74798bc5 | ||
|
725f154d92 | ||
|
30088e0f55 | ||
|
856536c486 | ||
|
8ae499bb06 | ||
|
ad476723fe | ||
|
f2103c8011 | ||
|
b8b5c02d66 | ||
|
a2fa698bc2 |
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
- name: "Clone Repository"
|
||||
uses: actions/checkout@v2
|
||||
- name: Run lorax tests in podman
|
||||
run: sudo make test-in-podman && cp .test-results/.coverage .coverage
|
||||
run: make test-in-docker && cp .test-results/.coverage .coverage
|
||||
- name: Coveralls
|
||||
uses: AndreMiras/coveralls-python-action@develop
|
||||
with:
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM registry.fedoraproject.org/fedora:rawhide
|
||||
FROM registry.fedoraproject.org/fedora:34
|
||||
COPY test-packages .
|
||||
RUN dnf -y install $(cat test-packages) && touch /.in-container
|
||||
RUN useradd weldr
|
||||
|
33
Makefile
33
Makefile
@ -3,7 +3,6 @@ DESTDIR ?= /
|
||||
PREFIX ?= /usr
|
||||
mandir ?= $(PREFIX)/share/man
|
||||
DOCKER ?= podman
|
||||
PODMAN ?= $(DOCKER)
|
||||
DOCS_VERSION ?= next
|
||||
RUN_TESTS ?= ci
|
||||
|
||||
@ -47,7 +46,7 @@ check:
|
||||
test:
|
||||
@echo "*** Running tests ***"
|
||||
PYTHONPATH=$(PYTHONPATH):./src/ $(PYTHON) -X dev -m pytest -v --cov-branch \
|
||||
--cov=pylorax ./tests/pylorax/ ./tests/image-minimizer/
|
||||
--cov=pylorax ./tests/pylorax/
|
||||
|
||||
coverage3 report -m
|
||||
[ -f "/usr/bin/coveralls" ] && [ -n "$(COVERALLS_REPO_TOKEN)" ] && coveralls || echo
|
||||
@ -79,7 +78,7 @@ docs:
|
||||
|
||||
# This is needed to reset the ownership of the new docs files after they are created in a container
|
||||
set-docs-owner:
|
||||
sudo chown -R $(LOCAL_UID):$(LOCAL_GID) docs/
|
||||
chown -R $(LOCAL_UID):$(LOCAL_GID) docs/
|
||||
|
||||
archive:
|
||||
@git archive --format=tar --prefix=$(PKGNAME)-$(VERSION)/ $(TAG) > $(PKGNAME)-$(VERSION).tar
|
||||
@ -104,39 +103,25 @@ local:
|
||||
@rm -rf /var/tmp/$(PKGNAME)-$(VERSION)
|
||||
@echo "The archive is in $(PKGNAME)-$(VERSION).tar.gz"
|
||||
|
||||
local-srpm: local $(PKGNAME).spec
|
||||
rpmbuild -bs \
|
||||
--define "_sourcedir $(CURDIR)" \
|
||||
--define "_srcrpmdir $(CURDIR)" \
|
||||
lorax.spec
|
||||
|
||||
test-in-copy:
|
||||
rsync -a --exclude=.git /lorax-ro/ /lorax/
|
||||
make -C /lorax/ $(RUN_TESTS)
|
||||
cp /lorax/.coverage /test-results/
|
||||
|
||||
test-in-docker: test-in-podman
|
||||
|
||||
test-in-podman:
|
||||
$(DOCKER) build -t welder/lorax-tests:$(IMAGE_RELEASE) -f Dockerfile.test .
|
||||
test-in-docker:
|
||||
sudo $(DOCKER) build -t welder/lorax-tests:$(IMAGE_RELEASE) -f Dockerfile.test .
|
||||
@mkdir -p `pwd`/.test-results
|
||||
$(DOCKER) run --rm -it -v `pwd`/.test-results/:/test-results \
|
||||
sudo $(DOCKER) run --rm -it -v `pwd`/.test-results/:/test-results \
|
||||
-v `pwd`:/lorax-ro:ro --security-opt label=disable \
|
||||
--env RUN_TESTS="$(RUN_TESTS)" \
|
||||
welder/lorax-tests:$(IMAGE_RELEASE) make test-in-copy
|
||||
# rootless podman leaves them owned by the container UID
|
||||
$(MAKE) set-docs-owner
|
||||
|
||||
docs-in-docker: docs-in-podman
|
||||
|
||||
docs-in-podman:
|
||||
$(DOCKER) build -t welder/lorax-tests:$(IMAGE_RELEASE) -f Dockerfile.test .
|
||||
$(DOCKER) run -it --rm -v `pwd`:/lorax-ro:ro \
|
||||
docs-in-docker:
|
||||
sudo $(DOCKER) run -it --rm -v `pwd`:/lorax-ro:ro \
|
||||
-v `pwd`/docs/:/lorax-ro/docs/ \
|
||||
--env LORAX_VERSION=$(DOCS_VERSION) \
|
||||
--env LOCAL_UID=`id -u` --env LOCAL_GID=`id -g` \
|
||||
--security-opt label=disable welder/lorax-tests:$(IMAGE_RELEASE) make docs
|
||||
|
||||
--security-opt label=disable welder/lorax-tests:$(IMAGE_RELEASE) make docs set-docs-owner
|
||||
|
||||
ci: check test
|
||||
|
||||
@ -181,4 +166,4 @@ bots:
|
||||
ci_after_success:
|
||||
# nothing to do here, but Jenkins expects this to be present, otherwise fails
|
||||
|
||||
.PHONY: docs check test srpm vm vm-reset docs-in-docker docs-in-podman test-in-docker test-in-podman
|
||||
.PHONY: docs check test srpm vm vm-reset
|
||||
|
@ -8,7 +8,7 @@ SPHINXAPIDOC = sphinx-apidoc-3
|
||||
PAPER =
|
||||
BUILDDIR = .
|
||||
SOURCEDIR = ../src
|
||||
MODULE_NAMES = pylorax.rst pylorax.api.rst modules.rst composer.rst composer.cli.rst
|
||||
MODULE_NAMES = pylorax.rst pylorax.api.rst modules.rst
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||
|
@ -266,7 +266,6 @@ man_pages = [
|
||||
('lorax', 'lorax', u'Lorax Documentation', [u'Weldr Team'], 1),
|
||||
('livemedia-creator', 'livemedia-creator', u'Live Media Creator Documentation', [u'Weldr Team'], 1),
|
||||
('mkksiso', 'mkksiso', u'Make Kickstart ISO Utility Documentation', [u'Weldr Team'], 1),
|
||||
('image-minimizer', 'image-minimizer', u'Utility script to remove files and packages', [u'Weldr Team'], 1),
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
|
@ -13,6 +13,8 @@ keyboard --xlayouts=us --vckeymap=us
|
||||
lang en_US.UTF-8
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# Installation logging level
|
||||
logging --level=info
|
||||
# Shutdown after installation
|
||||
shutdown
|
||||
# System timezone
|
||||
|
@ -18,7 +18,7 @@ network --bootproto=dhcp --device=link --activate
|
||||
selinux --enforcing
|
||||
|
||||
# System services
|
||||
services --disabled="sshd" --enabled="NetworkManager,ModemManager"
|
||||
services --disabled="network,sshd" --enabled="NetworkManager,ModemManager"
|
||||
|
||||
# livemedia-creator modifications.
|
||||
shutdown
|
||||
@ -63,14 +63,21 @@ livedir="LiveOS"
|
||||
for arg in \`cat /proc/cmdline\` ; do
|
||||
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
|
||||
livedir=\${arg##rd.live.dir=}
|
||||
continue
|
||||
return
|
||||
fi
|
||||
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
|
||||
livedir=\${arg##live_dir=}
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
# enable swapfile unless requested otherwise
|
||||
# enable swaps unless requested otherwise
|
||||
swaps=\`blkid -t TYPE=swap -o device\`
|
||||
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
|
||||
for s in \$swaps ; do
|
||||
action "Enabling swap partition \$s" swapon \$s
|
||||
done
|
||||
fi
|
||||
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /run/initramfs/live/\${livedir}/swap.img ] ; then
|
||||
action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
|
||||
fi
|
||||
@ -115,6 +122,7 @@ findPersistentHome() {
|
||||
for arg in \`cat /proc/cmdline\` ; do
|
||||
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
|
||||
homedev=\${arg##persistenthome=}
|
||||
return
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -134,7 +142,7 @@ if [ -n "\$configdone" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# add liveuser user with no passwd
|
||||
# add fedora user with no passwd
|
||||
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
|
||||
passwd -d liveuser > /dev/null
|
||||
usermod -aG wheel liveuser > /dev/null
|
||||
@ -178,7 +186,9 @@ sed -i 's/rtcsync//' /etc/chrony.conf
|
||||
touch /.liveimg-configured
|
||||
|
||||
# add static hostname to work around xauth bug
|
||||
hostnamectl set-hostname "localhost-live"
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=679486
|
||||
echo "localhost" > /etc/hostname
|
||||
|
||||
EOF
|
||||
|
||||
# bah, hal starts way too late
|
||||
@ -261,7 +271,7 @@ releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)
|
||||
basearch=$(uname -i)
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||
echo "Packages within this LiveCD"
|
||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
||||
rpm -qa
|
||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||
rm -f /var/lib/rpm/__db*
|
||||
|
||||
@ -271,23 +281,18 @@ rm -f /var/lib/rpm/__db*
|
||||
# make sure there aren't core files lying around
|
||||
rm -f /core*
|
||||
|
||||
# remove random seed, the newly installed instance should make it's own
|
||||
rm -f /var/lib/systemd/random-seed
|
||||
|
||||
# convince readahead not to collect
|
||||
# FIXME: for systemd
|
||||
|
||||
echo 'File created by kickstart. See systemd-update-done.service(8).' \
|
||||
| tee /etc/.updated >/var/.updated
|
||||
|
||||
# Remove random-seed
|
||||
rm /var/lib/systemd/random-seed
|
||||
|
||||
# Remove the rescue kernel and image to save space
|
||||
# Installation will recreate these on the target
|
||||
rm -f /boot/*-rescue*
|
||||
|
||||
# Remove machine-id on pre generated images
|
||||
rm -f /etc/machine-id
|
||||
touch /etc/machine-id
|
||||
|
||||
%end
|
||||
|
||||
%post
|
||||
@ -313,18 +318,6 @@ FOE
|
||||
mkdir ~liveuser/.config
|
||||
touch ~liveuser/.config/gnome-initial-setup-done
|
||||
|
||||
# suppress anaconda spokes redundant with gnome-initial-setup
|
||||
cat >> /etc/sysconfig/anaconda << FOE
|
||||
[NetworkSpoke]
|
||||
visited=1
|
||||
|
||||
[PasswordSpoke]
|
||||
visited=1
|
||||
|
||||
[UserSpoke]
|
||||
visited=1
|
||||
FOE
|
||||
|
||||
# make the installer show up
|
||||
if [ -f /usr/share/applications/liveinst.desktop ]; then
|
||||
# Show harddisk install in shell dash
|
||||
@ -334,7 +327,7 @@ if [ -f /usr/share/applications/liveinst.desktop ]; then
|
||||
|
||||
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
||||
[org.gnome.shell]
|
||||
favorite-apps=['firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop']
|
||||
favorite-apps=['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop']
|
||||
FOE
|
||||
|
||||
# Make the welcome screen show up
|
||||
@ -344,11 +337,6 @@ FOE
|
||||
cp /usr/share/anaconda/gnome/fedora-welcome.desktop ~liveuser/.config/autostart/
|
||||
fi
|
||||
|
||||
# Disable GNOME welcome tour so it doesn't overlap with Fedora welcome screen
|
||||
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
||||
welcome-dialog-last-shown-version='4294967295'
|
||||
FOE
|
||||
|
||||
# Copy Anaconda branding in place
|
||||
if [ -d /usr/share/lorax/product/usr/share/anaconda ]; then
|
||||
cp -a /usr/share/lorax/product/* /
|
||||
@ -379,12 +367,23 @@ EOF
|
||||
%end
|
||||
|
||||
%packages
|
||||
@^workstation-product-environment
|
||||
@anaconda-tools
|
||||
@base-x
|
||||
@core
|
||||
@firefox
|
||||
@fonts
|
||||
@guest-desktop-agents
|
||||
@hardware-support
|
||||
@libreoffice
|
||||
@multimedia
|
||||
@networkmanager-submodules
|
||||
@printing
|
||||
@workstation-product
|
||||
gnome-terminal
|
||||
aajohan-comfortaa-fonts
|
||||
anaconda
|
||||
anaconda-install-env-deps
|
||||
anaconda-live
|
||||
anaconda-install-img-deps
|
||||
dracut-config-generic
|
||||
dracut-live
|
||||
glibc-all-langpacks
|
||||
@ -392,12 +391,13 @@ kernel
|
||||
# Make sure that DNF doesn't pull in debug kernel to satisfy kmod() requires
|
||||
kernel-modules
|
||||
kernel-modules-extra
|
||||
memtest86+
|
||||
syslinux
|
||||
-@dial-up
|
||||
-@input-methods
|
||||
-@standard
|
||||
-gfs2-utils
|
||||
-gnome-boxes
|
||||
-reiserfs-utils
|
||||
|
||||
# This package is needed to boot the iso on UEFI
|
||||
shim
|
||||
|
@ -16,6 +16,8 @@ keyboard --xlayouts=us --vckeymap=us
|
||||
lang en_US.UTF-8
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# Installation logging level
|
||||
logging --level=info
|
||||
# Shutdown after installation
|
||||
shutdown
|
||||
# System timezone
|
||||
@ -44,6 +46,7 @@ kernel
|
||||
kernel-modules
|
||||
kernel-modules-extra
|
||||
|
||||
memtest86+
|
||||
grub2-efi
|
||||
grub2
|
||||
shim
|
||||
|
@ -16,6 +16,8 @@ keyboard --xlayouts=us --vckeymap=us
|
||||
lang en_US.UTF-8
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# Installation logging level
|
||||
logging --level=info
|
||||
# Shutdown after installation
|
||||
shutdown
|
||||
# System timezone
|
||||
@ -43,6 +45,7 @@ kernel
|
||||
kernel-modules
|
||||
kernel-modules-extra
|
||||
|
||||
memtest86+
|
||||
grub2-efi
|
||||
grub2
|
||||
shim
|
||||
|
@ -15,6 +15,8 @@ keyboard --xlayouts=us --vckeymap=us
|
||||
lang en_US.UTF-8
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# Installation logging level
|
||||
logging --level=info
|
||||
# Shutdown after installation
|
||||
shutdown
|
||||
# System timezone
|
||||
@ -40,6 +42,7 @@ kernel
|
||||
kernel-modules
|
||||
kernel-modules-extra
|
||||
|
||||
memtest86+
|
||||
grub2-efi
|
||||
grub2
|
||||
shim
|
||||
|
@ -21,6 +21,8 @@ keyboard --xlayouts=us --vckeymap=us
|
||||
lang en_US.UTF-8
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# Installation logging level
|
||||
logging --level=info
|
||||
# Shutdown after installation
|
||||
shutdown
|
||||
# System timezone
|
||||
@ -52,6 +54,7 @@ kernel
|
||||
kernel-modules
|
||||
kernel-modules-extra
|
||||
|
||||
memtest86+
|
||||
grub2-efi
|
||||
grub2
|
||||
shim
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 3dbb02a107cfe7acde05f2a0794f42a8
|
||||
config: a40b1ee372d49c9b6702c59e1d27e3a5
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Overview: module code — Lorax 36.5 documentation</title>
|
||||
<title>Overview: module code — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<a href="../index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
@ -41,7 +41,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,30 +93,69 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="index.html">Module code</a> »</li>
|
||||
|
||||
<li>pylorax</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># __init__.py</span>
|
||||
@ -132,8 +220,7 @@
|
||||
<span class="n">DRACUT_DEFAULT</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"--xz"</span><span class="p">,</span> <span class="s2">"--install"</span><span class="p">,</span> <span class="s2">"/.buildstamp"</span><span class="p">,</span> <span class="s2">"--no-early-microcode"</span><span class="p">,</span> <span class="s2">"--add"</span><span class="p">,</span> <span class="s2">"fips"</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># Used for DNF conf.module_platform_id</span>
|
||||
<span class="n">DEFAULT_PLATFORM_ID</span> <span class="o">=</span> <span class="s2">"platform:f36"</span>
|
||||
<span class="n">DEFAULT_RELEASEVER</span> <span class="o">=</span> <span class="s2">"36"</span>
|
||||
<span class="n">DEFAULT_PLATFORM_ID</span> <span class="o">=</span> <span class="s2">"platform:f34"</span>
|
||||
|
||||
<div class="viewcode-block" id="ArchData"><a class="viewcode-back" href="../pylorax.html#pylorax.ArchData">[docs]</a><span class="k">class</span> <span class="nc">ArchData</span><span class="p">(</span><span class="n">DataHolder</span><span class="p">):</span>
|
||||
<span class="n">lib64_arches</span> <span class="o">=</span> <span class="p">(</span><span class="s2">"x86_64"</span><span class="p">,</span> <span class="s2">"ppc64le"</span><span class="p">,</span> <span class="s2">"s390x"</span><span class="p">,</span> <span class="s2">"ia64"</span><span class="p">,</span> <span class="s2">"aarch64"</span><span class="p">)</span>
|
||||
@ -531,30 +618,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -7,7 +7,7 @@
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.base — Lorax 35.1 documentation</title>
|
||||
<title>pylorax.base — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
|
||||
<div class="version">
|
||||
35.1
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.buildstamp — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.buildstamp — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.buildstamp</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.buildstamp</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># buildstamp.py</span>
|
||||
@ -139,30 +228,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.cmdline — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.cmdline — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.cmdline</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.cmdline</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># cmdline.py</span>
|
||||
@ -94,7 +183,7 @@
|
||||
<span class="kn">import</span> <span class="nn">sys</span>
|
||||
<span class="kn">import</span> <span class="nn">argparse</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">DEFAULT_RELEASEVER</span><span class="p">,</span> <span class="n">vernum</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">vernum</span>
|
||||
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="s2">"</span><span class="si">{0}</span><span class="s2">-</span><span class="si">{1}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">vernum</span><span class="p">)</span>
|
||||
|
||||
@ -378,7 +467,7 @@
|
||||
|
||||
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--project"</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">"Linux"</span><span class="p">,</span>
|
||||
<span class="n">help</span><span class="o">=</span><span class="s2">"substituted for @PROJECT@ in bootloader config files"</span><span class="p">)</span>
|
||||
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--releasever"</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">DEFAULT_RELEASEVER</span><span class="p">,</span>
|
||||
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--releasever"</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">"34"</span><span class="p">,</span>
|
||||
<span class="n">help</span><span class="o">=</span><span class="s2">"substituted for @VERSION@ in bootloader config files"</span><span class="p">)</span>
|
||||
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--volid"</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">"volume id"</span><span class="p">)</span>
|
||||
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--squashfs-only"</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">"store_true"</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
||||
@ -394,30 +483,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.creator — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.creator — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.creator</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.creator</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># Copyright (C) 2011-2018 Red Hat, Inc.</span>
|
||||
@ -106,10 +195,10 @@
|
||||
<span class="kn">from</span> <span class="nn">pykickstart.version</span> <span class="kn">import</span> <span class="n">makeVersion</span>
|
||||
|
||||
<span class="c1"># Use the Lorax treebuilder branch for iso creation</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">DEFAULT_RELEASEVER</span><span class="p">,</span> <span class="n">ArchData</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">ArchData</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.base</span> <span class="kn">import</span> <span class="n">DataHolder</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.executils</span> <span class="kn">import</span> <span class="n">execWithRedirect</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">DracutChroot</span><span class="p">,</span> <span class="n">PartitionMount</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.executils</span> <span class="kn">import</span> <span class="n">execWithRedirect</span><span class="p">,</span> <span class="n">runcmd</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">PartitionMount</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">mount</span><span class="p">,</span> <span class="n">umount</span><span class="p">,</span> <span class="n">Mount</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">mksquashfs</span><span class="p">,</span> <span class="n">mkrootfsimg</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">copytree</span>
|
||||
@ -221,7 +310,7 @@
|
||||
|
||||
<div class="viewcode-block" id="make_appliance"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.make_appliance">[docs]</a><span class="k">def</span> <span class="nf">make_appliance</span><span class="p">(</span><span class="n">disk_img</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">template</span><span class="p">,</span> <span class="n">outfile</span><span class="p">,</span> <span class="n">networks</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ram</span><span class="o">=</span><span class="mi">1024</span><span class="p">,</span>
|
||||
<span class="n">vcpus</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">arch</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">"Linux"</span><span class="p">,</span> <span class="n">project</span><span class="o">=</span><span class="s2">"Linux"</span><span class="p">,</span>
|
||||
<span class="n">releasever</span><span class="o">=</span><span class="n">DEFAULT_RELEASEVER</span><span class="p">):</span>
|
||||
<span class="n">releasever</span><span class="o">=</span><span class="s2">"34"</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Generate an appliance description file</span>
|
||||
|
||||
@ -235,7 +324,7 @@
|
||||
<span class="sd"> :param str arch: CPU architecture. Default is 'x86_64'</span>
|
||||
<span class="sd"> :param str title: Title, passed to template. Default is 'Linux'</span>
|
||||
<span class="sd"> :param str project: Project, passed to template. Default is 'Linux'</span>
|
||||
<span class="sd"> :param str releasever: Release version, passed to template.</span>
|
||||
<span class="sd"> :param str releasever: Release version, passed to template. Default is 34</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">disk_img</span> <span class="ow">and</span> <span class="n">template</span> <span class="ow">and</span> <span class="n">outfile</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
@ -290,7 +379,7 @@
|
||||
<span class="n">product</span> <span class="o">=</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">project</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="n">opts</span><span class="o">.</span><span class="n">releasever</span><span class="p">,</span> <span class="n">release</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span>
|
||||
<span class="n">variant</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">bugurl</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">isfinal</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||
|
||||
<span class="n">rb</span> <span class="o">=</span> <span class="n">RuntimeBuilder</span><span class="p">(</span><span class="n">product</span><span class="p">,</span> <span class="n">arch</span><span class="p">,</span> <span class="n">fake_dbo</span><span class="p">,</span> <span class="n">skip_branding</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
<span class="n">rb</span> <span class="o">=</span> <span class="n">RuntimeBuilder</span><span class="p">(</span><span class="n">product</span><span class="p">,</span> <span class="n">arch</span><span class="p">,</span> <span class="n">fake_dbo</span><span class="p">)</span>
|
||||
<span class="n">compression</span><span class="p">,</span> <span class="n">compressargs</span> <span class="o">=</span> <span class="n">squashfs_args</span><span class="p">(</span><span class="n">opts</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">squashfs_only</span><span class="p">:</span>
|
||||
@ -315,7 +404,7 @@
|
||||
<span class="c1"># cmdline dracut args override the defaults, but need to be parsed</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"dracut args = </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">dracut_args</span><span class="p">(</span><span class="n">opts</span><span class="p">))</span>
|
||||
|
||||
<span class="n">args</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"--nomdadmconf"</span><span class="p">,</span> <span class="s2">"--nolvmconf"</span><span class="p">]</span> <span class="o">+</span> <span class="n">dracut_args</span><span class="p">(</span><span class="n">opts</span><span class="p">)</span>
|
||||
<span class="n">dracut</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"dracut"</span><span class="p">,</span> <span class="s2">"--nomdadmconf"</span><span class="p">,</span> <span class="s2">"--nolvmconf"</span><span class="p">]</span> <span class="o">+</span> <span class="n">dracut_args</span><span class="p">(</span><span class="n">opts</span><span class="p">)</span>
|
||||
|
||||
<span class="n">kdir</span> <span class="o">=</span> <span class="s2">"boot"</span>
|
||||
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">ostree</span><span class="p">:</span>
|
||||
@ -344,18 +433,25 @@
|
||||
|
||||
<span class="c1"># Write the new initramfs directly to the results directory</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="s2">"results"</span><span class="p">))</span>
|
||||
<span class="k">with</span> <span class="n">DracutChroot</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="n">bind</span><span class="o">=</span><span class="p">[(</span><span class="n">results_dir</span><span class="p">,</span> <span class="s2">"/results"</span><span class="p">)])</span> <span class="k">as</span> <span class="n">dracut</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">kernel</span> <span class="ow">in</span> <span class="n">kernels</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">kernel</span><span class="p">,</span> <span class="s2">"initrd"</span><span class="p">):</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">initrd</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Construct an initrd from the kernel name</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">"vmlinuz-"</span><span class="p">,</span> <span class="s2">"initrd-"</span><span class="p">)</span> <span class="o">+</span> <span class="s2">".img"</span><span class="p">)</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"rebuilding </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="n">mount</span><span class="p">(</span><span class="n">results_dir</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="s2">"bind"</span><span class="p">,</span> <span class="n">mnt</span><span class="o">=</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="s2">"results"</span><span class="p">))</span>
|
||||
<span class="c1"># Dracut runs out of space inside the minimal rootfs image</span>
|
||||
<span class="n">mount</span><span class="p">(</span><span class="s2">"/var/tmp"</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="s2">"bind"</span><span class="p">,</span> <span class="n">mnt</span><span class="o">=</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="s2">"var/tmp"</span><span class="p">))</span>
|
||||
<span class="k">for</span> <span class="n">kernel</span> <span class="ow">in</span> <span class="n">kernels</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">kernel</span><span class="p">,</span> <span class="s2">"initrd"</span><span class="p">):</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">initrd</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Construct an initrd from the kernel name</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">"vmlinuz-"</span><span class="p">,</span> <span class="s2">"initrd-"</span><span class="p">)</span> <span class="o">+</span> <span class="s2">".img"</span><span class="p">)</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"rebuilding </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"dracut warnings about /proc are safe to ignore"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">kver</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="n">dracut</span><span class="o">.</span><span class="n">Run</span><span class="p">(</span><span class="n">args</span> <span class="o">+</span> <span class="p">[</span><span class="s2">"/results/"</span><span class="o">+</span><span class="n">outfile</span><span class="p">,</span> <span class="n">kver</span><span class="p">])</span>
|
||||
<span class="n">shutil</span><span class="o">.</span><span class="n">copy2</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="p">),</span> <span class="n">results_dir</span><span class="p">)</span></div>
|
||||
<span class="n">kver</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="n">dracut</span> <span class="o">+</span> <span class="p">[</span><span class="s2">"/results/"</span><span class="o">+</span><span class="n">outfile</span><span class="p">,</span> <span class="n">kver</span><span class="p">]</span>
|
||||
<span class="n">runcmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="n">sys_root_dir</span><span class="p">)</span>
|
||||
|
||||
<span class="n">shutil</span><span class="o">.</span><span class="n">copy2</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="p">),</span> <span class="n">results_dir</span><span class="p">)</span>
|
||||
<span class="n">umount</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="s2">"var/tmp"</span><span class="p">),</span> <span class="n">delete</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">umount</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="n">sys_root_dir</span><span class="p">,</span> <span class="s2">"results"</span><span class="p">),</span> <span class="n">delete</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="create_pxe_config"><a class="viewcode-back" href="../../pylorax.html#pylorax.creator.create_pxe_config">[docs]</a><span class="k">def</span> <span class="nf">create_pxe_config</span><span class="p">(</span><span class="n">template</span><span class="p">,</span> <span class="n">images_dir</span><span class="p">,</span> <span class="n">live_image_name</span><span class="p">,</span> <span class="n">add_args</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
@ -822,30 +918,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -7,7 +7,7 @@
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.decorators — Lorax 35.1 documentation</title>
|
||||
<title>pylorax.decorators — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
|
||||
<div class="version">
|
||||
35.1
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.discinfo — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.discinfo — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.discinfo</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.discinfo</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># discinfo.py</span>
|
||||
@ -118,30 +207,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.dnfbase — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.dnfbase — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.dnfbase</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.dnfbase</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright (C) 2018 Red Hat, Inc.</span>
|
||||
<span class="c1">#</span>
|
||||
@ -92,12 +181,12 @@
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
<span class="kn">import</span> <span class="nn">shutil</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">DEFAULT_PLATFORM_ID</span><span class="p">,</span> <span class="n">DEFAULT_RELEASEVER</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax</span> <span class="kn">import</span> <span class="n">DEFAULT_PLATFORM_ID</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.sysutils</span> <span class="kn">import</span> <span class="n">flatconfig</span>
|
||||
|
||||
<div class="viewcode-block" id="get_dnf_base_object"><a class="viewcode-back" href="../../pylorax.html#pylorax.dnfbase.get_dnf_base_object">[docs]</a><span class="k">def</span> <span class="nf">get_dnf_base_object</span><span class="p">(</span><span class="n">installroot</span><span class="p">,</span> <span class="n">sources</span><span class="p">,</span> <span class="n">mirrorlists</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">repos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
||||
<span class="n">enablerepos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">disablerepos</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
||||
<span class="n">tempdir</span><span class="o">=</span><span class="s2">"/var/tmp"</span><span class="p">,</span> <span class="n">proxy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">releasever</span><span class="o">=</span><span class="n">DEFAULT_RELEASEVER</span><span class="p">,</span>
|
||||
<span class="n">tempdir</span><span class="o">=</span><span class="s2">"/var/tmp"</span><span class="p">,</span> <span class="n">proxy</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">releasever</span><span class="o">=</span><span class="s2">"34"</span><span class="p">,</span>
|
||||
<span class="n">cachedir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logdir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sslverify</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">dnfplugins</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">""" Create a dnf Base object and setup the repositories and installroot</span>
|
||||
|
||||
@ -125,8 +214,6 @@
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
|
||||
<span class="n">mirrorlists</span> <span class="o">=</span> <span class="n">mirrorlists</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
<span class="n">enablerepos</span> <span class="o">=</span> <span class="n">enablerepos</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
<span class="n">disablerepos</span> <span class="o">=</span> <span class="n">disablerepos</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
|
||||
<span class="c1"># sanitize the repositories</span>
|
||||
<span class="n">sources</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">sanitize_repo</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">sources</span><span class="p">)</span>
|
||||
@ -262,30 +349,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.dnfhelper — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.dnfhelper — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.dnfhelper</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.dnfhelper</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># dnfhelper.py</span>
|
||||
@ -183,30 +272,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.executils — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.executils — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.executils</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.executils</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># executil.py - subprocess execution utility functions</span>
|
||||
@ -446,30 +535,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.imgutils — Lorax 36.4 documentation</title>
|
||||
<title>pylorax.imgutils — Lorax 34.13 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.4
|
||||
34.13
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
@ -213,7 +213,7 @@
|
||||
<div class="viewcode-block" id="mksparse"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.mksparse">[docs]</a><span class="k">def</span> <span class="nf">mksparse</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="n">size</span><span class="p">):</span>
|
||||
<span class="sd">'''use os.ftruncate to create a sparse file of the given size.'''</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">fobj</span><span class="p">:</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">ftruncate</span><span class="p">(</span><span class="n">fobj</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="p">))</span></div>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">ftruncate</span><span class="p">(</span><span class="n">fobj</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">size</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="mkqcow2"><a class="viewcode-back" href="../../pylorax.html#pylorax.imgutils.mkqcow2">[docs]</a><span class="k">def</span> <span class="nf">mkqcow2</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">'''use qemu-img to create a file of the given size.</span>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.installer — Lorax 36.4 documentation</title>
|
||||
<title>pylorax.installer — Lorax 34.13 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.4
|
||||
34.13
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
@ -488,17 +488,12 @@
|
||||
<span class="n">setfiles_args</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"-e"</span><span class="p">,</span> <span class="s2">"/proc"</span><span class="p">,</span> <span class="s2">"-e"</span><span class="p">,</span> <span class="s2">"/sys"</span><span class="p">,</span>
|
||||
<span class="s2">"/etc/selinux/targeted/contexts/files/file_contexts"</span><span class="p">,</span> <span class="s2">"/"</span><span class="p">]</span>
|
||||
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"sync"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-f"</span><span class="p">,</span> <span class="n">dirinstall_path</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="s2">"--dirinstall"</span> <span class="ow">in</span> <span class="n">args</span><span class="p">:</span>
|
||||
<span class="c1"># setfiles may not be available, warn instead of fail</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"setfiles"</span><span class="p">,</span> <span class="n">setfiles_args</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="n">dirinstall_path</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="p">(</span><span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span><span class="p">,</span> <span class="ne">OSError</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">"Running setfiles on install tree failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">disk_img</span><span class="p">):</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"du"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-B"</span><span class="p">,</span> <span class="s2">"1"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">])</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"fstrim"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-v"</span><span class="p">,</span> <span class="n">dirinstall_path</span><span class="p">])</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">with</span> <span class="n">PartitionMount</span><span class="p">(</span><span class="n">disk_img</span><span class="p">)</span> <span class="k">as</span> <span class="n">img_mount</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">img_mount</span> <span class="ow">and</span> <span class="n">img_mount</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">:</span>
|
||||
@ -509,10 +504,7 @@
|
||||
|
||||
<span class="c1"># For image installs, run fstrim to discard unused blocks. This way</span>
|
||||
<span class="c1"># unused blocks do not need to be allocated for sparse image types</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"du"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-B"</span><span class="p">,</span> <span class="s2">"1"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">])</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"fstrim"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-v"</span><span class="p">,</span> <span class="n">img_mount</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">disk_img</span><span class="p">):</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"du"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-B"</span><span class="p">,</span> <span class="s2">"1"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">])</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"fstrim"</span><span class="p">,</span> <span class="p">[</span><span class="n">img_mount</span><span class="o">.</span><span class="n">mount_dir</span><span class="p">])</span>
|
||||
|
||||
<span class="k">except</span> <span class="p">(</span><span class="n">subprocess</span><span class="o">.</span><span class="n">CalledProcessError</span><span class="p">,</span> <span class="ne">OSError</span><span class="p">)</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"Running anaconda failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span>
|
||||
@ -604,10 +596,8 @@
|
||||
<span class="k">if</span> <span class="n">rc</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">InstallError</span><span class="p">(</span><span class="s2">"novirt_install mktar failed: rc=</span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">rc</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Examine the image for sections that can be made sparse</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"du"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-B"</span><span class="p">,</span> <span class="s2">"1"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">])</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"fallocate"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"--dig-holes"</span><span class="p">,</span> <span class="s2">"-v"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">],</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"du"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"-B"</span><span class="p">,</span> <span class="s2">"1"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">])</span>
|
||||
<span class="c1"># For raw disk images, use fallocate to deallocate unused space</span>
|
||||
<span class="n">execWithRedirect</span><span class="p">(</span><span class="s2">"fallocate"</span><span class="p">,</span> <span class="p">[</span><span class="s2">"--dig-holes"</span><span class="p">,</span> <span class="n">disk_img</span><span class="p">],</span> <span class="n">raise_err</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># For make_tar_disk, wrap the result in a tar file, and remove the original disk image.</span>
|
||||
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">make_tar_disk</span><span class="p">:</span>
|
||||
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.ltmpl — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.ltmpl — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.ltmpl</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.ltmpl</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># ltmpl.py</span>
|
||||
@ -257,149 +346,8 @@
|
||||
<span class="k">raise</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="InstallpkgMixin"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.InstallpkgMixin">[docs]</a><span class="k">class</span> <span class="nc">InstallpkgMixin</span><span class="p">:</span>
|
||||
<span class="sd">"""Helper class used with *Runner classes"""</span>
|
||||
<span class="k">def</span> <span class="nf">_pkgver</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pkg_spec</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Helper to parse package version compare operators</span>
|
||||
|
||||
<span class="sd"> Returns a list of matching package objects or an empty list</span>
|
||||
|
||||
<span class="sd"> Examples:</span>
|
||||
<span class="sd"> "bash>4.01"</span>
|
||||
<span class="sd"> "tmux>=3.1.4-5"</span>
|
||||
<span class="sd"> "grub2<2.06"</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="c1"># Always return the highest of the filtered results</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'='</span><span class="p">,</span> <span class="s1">'<'</span><span class="p">,</span> <span class="s1">'>'</span><span class="p">,</span> <span class="s1">'!'</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">pkg_spec</span><span class="p">):</span>
|
||||
<span class="n">query</span> <span class="o">=</span> <span class="n">dnf</span><span class="o">.</span><span class="n">subject</span><span class="o">.</span><span class="n">Subject</span><span class="p">(</span><span class="n">pkg_spec</span><span class="p">)</span><span class="o">.</span><span class="n">get_best_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">pcv</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">r</span><span class="s1">'([!<>=]+)'</span><span class="p">,</span> <span class="n">pkg_spec</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"Missing package name"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pcv</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"Missing version"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">pcv</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">3</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"Too many comparisons"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">query</span> <span class="o">=</span> <span class="n">dnf</span><span class="o">.</span><span class="n">subject</span><span class="o">.</span><span class="n">Subject</span><span class="p">(</span><span class="n">pcv</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">.</span><span class="n">get_best_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Parse the comparison operators</span>
|
||||
<span class="k">if</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"="</span> <span class="ow">or</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"=="</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__eq</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">elif</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"!="</span> <span class="ow">or</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"<>"</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__neq</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">elif</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">">"</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__gt</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">elif</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">">="</span> <span class="ow">or</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"=>"</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__gte</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">elif</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"<"</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__lt</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">elif</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"<="</span> <span class="ow">or</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"=<"</span><span class="p">:</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">evr__lte</span> <span class="o">=</span> <span class="n">pcv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
|
||||
|
||||
<span class="c1"># MUST be added last. Otherwise it will only return the latest, not the latest of the</span>
|
||||
<span class="c1"># filtered results.</span>
|
||||
<span class="n">query</span><span class="o">.</span><span class="n">filterm</span><span class="p">(</span><span class="n">latest</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">query</span><span class="o">.</span><span class="n">apply</span><span class="p">()]</span>
|
||||
|
||||
<div class="viewcode-block" id="InstallpkgMixin.installpkg"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.InstallpkgMixin.installpkg">[docs]</a> <span class="k">def</span> <span class="nf">installpkg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">pkgs</span><span class="p">):</span>
|
||||
<span class="sd">'''</span>
|
||||
<span class="sd"> installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</span>
|
||||
<span class="sd"> Request installation of all packages matching the given globs.</span>
|
||||
<span class="sd"> Note that this is just a *request* - nothing is *actually* installed</span>
|
||||
<span class="sd"> until the 'run_pkg_transaction' command is given.</span>
|
||||
|
||||
<span class="sd"> The non-except PKGGLOB can contain a version comparison. This should</span>
|
||||
<span class="sd"> not be used as a substitute for package dependencies, it should be</span>
|
||||
<span class="sd"> used to enforce installation of tools required by the templates. eg.</span>
|
||||
<span class="sd"> grub2 changed the font location in 2.06-2 so the current templates</span>
|
||||
<span class="sd"> require grub2 to be 2.06-2 or later.</span>
|
||||
|
||||
<span class="sd"> installpkg tmux>=2.8 bash=5.0.0-1</span>
|
||||
|
||||
<span class="sd"> It supports the =,!=,>,>=,<,<= operators. == is an alias for =, and</span>
|
||||
<span class="sd"> <> is an alias for !=</span>
|
||||
|
||||
<span class="sd"> There should be no spaces between the package name, the compare</span>
|
||||
<span class="sd"> operator, and the version.</span>
|
||||
|
||||
<span class="sd"> NOTE: When testing for equality you must include the version AND</span>
|
||||
<span class="sd"> release, otherwise it won't match anything.</span>
|
||||
|
||||
<span class="sd"> --required is now the default. If the PKGGLOB can be missing pass --optional</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="k">if</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--optional'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">elif</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--required'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="n">excludes</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">while</span> <span class="s1">'--except'</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="n">idx</span> <span class="o">=</span> <span class="n">pkgs</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'--except'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">pkgs</span><span class="p">)</span> <span class="o">==</span> <span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"installpkg needs an argument after --except"</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># TODO: Check for bare version compare operators</span>
|
||||
<span class="n">excludes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">2</span><span class="p">:]</span>
|
||||
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="c1"># Did a version compare operatore end up in the list?</span>
|
||||
<span class="k">if</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'='</span><span class="p">,</span> <span class="s1">'<'</span><span class="p">,</span> <span class="s1">'>'</span><span class="p">,</span> <span class="s1">'!'</span><span class="p">]:</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"Version compare operators cannot be surrounded by spaces"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># Start by using Subject to generate a package query, which will</span>
|
||||
<span class="c1"># give us a query object similar to what dbo.install would select,</span>
|
||||
<span class="c1"># minus the handling for multilib. This query may contain</span>
|
||||
<span class="c1"># multiple arches. Pull the package names out of that, filter any</span>
|
||||
<span class="c1"># that match the excludes patterns, and pass those names back to</span>
|
||||
<span class="c1"># dbo.install to do the actual, arch and version and multilib</span>
|
||||
<span class="c1"># aware, package selction.</span>
|
||||
|
||||
<span class="c1"># dnf queries don't have a concept of negative globs which is why</span>
|
||||
<span class="c1"># the filtering is done the hard way.</span>
|
||||
|
||||
<span class="c1"># Get the latest package, or package matching the selected version</span>
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pkgver</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pkgnames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">dnf</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">PackageNotFoundError</span><span class="p">(</span><span class="s2">"no package matched"</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Apply excludes to the name only</span>
|
||||
<span class="k">for</span> <span class="n">exclude</span> <span class="ow">in</span> <span class="n">excludes</span><span class="p">:</span>
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)]</span>
|
||||
|
||||
<span class="c1"># Convert to a sorted NVR list for installation</span>
|
||||
<span class="n">pkgnvrs</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">([</span><span class="s2">"</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">release</span><span class="p">)</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
|
||||
|
||||
<span class="c1"># If the request is a glob, expand it in the log</span>
|
||||
<span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'*'</span><span class="p">,</span><span class="s1">'?'</span><span class="p">,</span><span class="s1">'.'</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">p</span><span class="p">):</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"installpkg: </span><span class="si">%s</span><span class="s2"> expands to </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pkgnvrs</span><span class="p">))</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">pkgnvr</span> <span class="ow">in</span> <span class="n">pkgnvrs</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">install</span><span class="p">(</span><span class="n">pkgnvr</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
<span class="k">if</span> <span class="n">required</span><span class="p">:</span>
|
||||
<span class="k">raise</span>
|
||||
<span class="c1"># Not required, log it and continue processing pkgs</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">pkgnvr</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">errors</span> <span class="ow">and</span> <span class="n">required</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Required installpkg failed."</span><span class="p">)</span></div></div>
|
||||
|
||||
|
||||
<span class="c1"># TODO: operate inside an actual chroot for safety? Not that RPM bothers..</span>
|
||||
<div class="viewcode-block" id="LoraxTemplateRunner"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LoraxTemplateRunner">[docs]</a><span class="k">class</span> <span class="nc">LoraxTemplateRunner</span><span class="p">(</span><span class="n">TemplateRunner</span><span class="p">,</span> <span class="n">InstallpkgMixin</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="LoraxTemplateRunner"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LoraxTemplateRunner">[docs]</a><span class="k">class</span> <span class="nc">LoraxTemplateRunner</span><span class="p">(</span><span class="n">TemplateRunner</span><span class="p">):</span>
|
||||
<span class="sd">'''</span>
|
||||
<span class="sd"> This class parses and executes Lorax templates. Sample usage:</span>
|
||||
|
||||
@ -744,6 +692,77 @@
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s1">'command returned failure (</span><span class="si">%d</span><span class="s1">)'</span><span class="p">,</span> <span class="n">e</span><span class="o">.</span><span class="n">returncode</span><span class="p">)</span>
|
||||
<span class="k">raise</span></div>
|
||||
|
||||
<div class="viewcode-block" id="LoraxTemplateRunner.installpkg"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installpkg">[docs]</a> <span class="k">def</span> <span class="nf">installpkg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">pkgs</span><span class="p">):</span>
|
||||
<span class="sd">'''</span>
|
||||
<span class="sd"> installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</span>
|
||||
<span class="sd"> Request installation of all packages matching the given globs.</span>
|
||||
<span class="sd"> Note that this is just a *request* - nothing is *actually* installed</span>
|
||||
<span class="sd"> until the 'run_pkg_transaction' command is given.</span>
|
||||
|
||||
<span class="sd"> --required is now the default. If the PKGGLOB can be missing pass --optional</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="k">if</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--optional'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">elif</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--required'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="n">excludes</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">while</span> <span class="s1">'--except'</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="n">idx</span> <span class="o">=</span> <span class="n">pkgs</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'--except'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">pkgs</span><span class="p">)</span> <span class="o">==</span> <span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"installpkg needs an argument after --except"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">excludes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">2</span><span class="p">:]</span>
|
||||
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># Start by using Subject to generate a package query, which will</span>
|
||||
<span class="c1"># give us a query object similar to what dbo.install would select,</span>
|
||||
<span class="c1"># minus the handling for multilib. This query may contain</span>
|
||||
<span class="c1"># multiple arches. Pull the package names out of that, filter any</span>
|
||||
<span class="c1"># that match the excludes patterns, and pass those names back to</span>
|
||||
<span class="c1"># dbo.install to do the actual, arch and version and multilib</span>
|
||||
<span class="c1"># aware, package selction.</span>
|
||||
|
||||
<span class="c1"># dnf queries don't have a concept of negative globs which is why</span>
|
||||
<span class="c1"># the filtering is done the hard way.</span>
|
||||
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">dnf</span><span class="o">.</span><span class="n">subject</span><span class="o">.</span><span class="n">Subject</span><span class="p">(</span><span class="n">p</span><span class="p">)</span><span class="o">.</span><span class="n">get_best_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">latest</span><span class="o">=</span><span class="kc">True</span><span class="p">)]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pkgnames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">dnf</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">PackageNotFoundError</span><span class="p">(</span><span class="s2">"no package matched"</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Apply excludes to the name only</span>
|
||||
<span class="k">for</span> <span class="n">exclude</span> <span class="ow">in</span> <span class="n">excludes</span><span class="p">:</span>
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)]</span>
|
||||
|
||||
<span class="c1"># Convert to a sorted NVR list for installation</span>
|
||||
<span class="n">pkgnvrs</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">([</span><span class="s2">"</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">release</span><span class="p">)</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
|
||||
|
||||
<span class="c1"># If the request is a glob, expand it in the log</span>
|
||||
<span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'*'</span><span class="p">,</span><span class="s1">'?'</span><span class="p">,</span><span class="s1">'.'</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">p</span><span class="p">):</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"installpkg: </span><span class="si">%s</span><span class="s2"> expands to </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pkgnvrs</span><span class="p">))</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">pkgnvr</span> <span class="ow">in</span> <span class="n">pkgnvrs</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">install</span><span class="p">(</span><span class="n">pkgnvr</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
<span class="k">if</span> <span class="n">required</span><span class="p">:</span>
|
||||
<span class="k">raise</span>
|
||||
<span class="c1"># Not required, log it and continue processing pkgs</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">pkgnvr</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">errors</span> <span class="ow">and</span> <span class="n">required</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Required installpkg failed."</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="LoraxTemplateRunner.removepkg"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removepkg">[docs]</a> <span class="k">def</span> <span class="nf">removepkg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">pkgs</span><span class="p">):</span>
|
||||
<span class="sd">'''</span>
|
||||
<span class="sd"> removepkg PKGGLOB [PKGGLOB...]</span>
|
||||
@ -942,7 +961,7 @@
|
||||
<span class="k">except</span> <span class="n">CalledProcessError</span><span class="p">:</span>
|
||||
<span class="k">pass</span></div></div>
|
||||
|
||||
<div class="viewcode-block" id="LiveTemplateRunner"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LiveTemplateRunner">[docs]</a><span class="k">class</span> <span class="nc">LiveTemplateRunner</span><span class="p">(</span><span class="n">TemplateRunner</span><span class="p">,</span> <span class="n">InstallpkgMixin</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="LiveTemplateRunner"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LiveTemplateRunner">[docs]</a><span class="k">class</span> <span class="nc">LiveTemplateRunner</span><span class="p">(</span><span class="n">TemplateRunner</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> This class parses and executes a limited Lorax template. Sample usage:</span>
|
||||
|
||||
@ -958,34 +977,115 @@
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pkgs</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">LiveTemplateRunner</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">fatalerrors</span><span class="p">,</span> <span class="n">templatedir</span><span class="p">,</span> <span class="n">defaults</span><span class="p">)</span></div>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">LiveTemplateRunner</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">fatalerrors</span><span class="p">,</span> <span class="n">templatedir</span><span class="p">,</span> <span class="n">defaults</span><span class="p">)</span>
|
||||
|
||||
<div class="viewcode-block" id="LiveTemplateRunner.installpkg"><a class="viewcode-back" href="../../pylorax.html#pylorax.ltmpl.LiveTemplateRunner.installpkg">[docs]</a> <span class="k">def</span> <span class="nf">installpkg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">pkgs</span><span class="p">):</span>
|
||||
<span class="sd">'''</span>
|
||||
<span class="sd"> installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</span>
|
||||
<span class="sd"> Request installation of all packages matching the given globs.</span>
|
||||
<span class="sd"> Note that this is just a *request* - nothing is *actually* installed</span>
|
||||
<span class="sd"> until the 'run_pkg_transaction' command is given.</span>
|
||||
|
||||
<span class="sd"> --required is now the default. If the PKGGLOB can be missing pass --optional</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="k">if</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--optional'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">elif</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'--required'</span><span class="p">:</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">required</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="n">excludes</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">while</span> <span class="s1">'--except'</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="n">idx</span> <span class="o">=</span> <span class="n">pkgs</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s1">'--except'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">pkgs</span><span class="p">)</span> <span class="o">==</span> <span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"installpkg needs an argument after --except"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">excludes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span>
|
||||
<span class="n">pkgs</span> <span class="o">=</span> <span class="n">pkgs</span><span class="p">[:</span><span class="n">idx</span><span class="p">]</span> <span class="o">+</span> <span class="n">pkgs</span><span class="p">[</span><span class="n">idx</span><span class="o">+</span><span class="mi">2</span><span class="p">:]</span>
|
||||
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># Start by using Subject to generate a package query, which will</span>
|
||||
<span class="c1"># give us a query object similar to what dbo.install would select,</span>
|
||||
<span class="c1"># minus the handling for multilib. This query may contain</span>
|
||||
<span class="c1"># multiple arches. Pull the package names out of that, filter any</span>
|
||||
<span class="c1"># that match the excludes patterns, and pass those names back to</span>
|
||||
<span class="c1"># dbo.install to do the actual, arch and version and multilib</span>
|
||||
<span class="c1"># aware, package selction.</span>
|
||||
|
||||
<span class="c1"># dnf queries don't have a concept of negative globs which is why</span>
|
||||
<span class="c1"># the filtering is done the hard way.</span>
|
||||
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">dnf</span><span class="o">.</span><span class="n">subject</span><span class="o">.</span><span class="n">Subject</span><span class="p">(</span><span class="n">p</span><span class="p">)</span><span class="o">.</span><span class="n">get_best_query</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="p">)</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">latest</span><span class="o">=</span><span class="kc">True</span><span class="p">)]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pkgnames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">dnf</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">PackageNotFoundError</span><span class="p">(</span><span class="s2">"no package matched"</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Apply excludes to the name only</span>
|
||||
<span class="k">for</span> <span class="n">exclude</span> <span class="ow">in</span> <span class="n">excludes</span><span class="p">:</span>
|
||||
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)]</span>
|
||||
|
||||
<span class="c1"># Convert to a sorted NVR list for installation</span>
|
||||
<span class="n">pkgnvrs</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">([</span><span class="s2">"</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">release</span><span class="p">)</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
|
||||
|
||||
<span class="c1"># If the request is a glob, expand it in the log</span>
|
||||
<span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'*'</span><span class="p">,</span><span class="s1">'?'</span><span class="p">,</span><span class="s1">'.'</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">p</span><span class="p">):</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"installpkg: </span><span class="si">%s</span><span class="s2"> expands to </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pkgnvrs</span><span class="p">))</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pkgs</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">pkgnvrs</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pkgnames</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="n">errors</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">errors</span> <span class="ow">and</span> <span class="n">required</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Required installpkg failed."</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.monitor — Lorax 36.4 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.monitor — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.4
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.monitor</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.monitor</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># monitor.py</span>
|
||||
<span class="c1">#</span>
|
||||
@ -146,25 +235,30 @@
|
||||
<span class="sd"> Loops until self.server.kill is True</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"Processing logs from </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">client_address</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="sa">b</span><span class="s2">""</span>
|
||||
<span class="n">line</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">kill</span><span class="p">:</span>
|
||||
<span class="k">break</span>
|
||||
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">recv</span><span class="p">(</span><span class="mi">4096</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">splitlines</span><span class="p">(</span><span class="n">keepends</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="sa">b</span><span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">):</span>
|
||||
<span class="c1"># Ignore invalid UTF8 inside lines</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">iserror</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">line</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="s2">"utf8"</span><span class="p">,</span> <span class="s2">"ignore"</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">line</span><span class="p">,</span> <span class="s2">"utf8"</span><span class="p">,</span> <span class="s2">"ignore"</span><span class="p">))</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="sa">b</span><span class="s2">""</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">recv</span><span class="p">(</span><span class="mi">4096</span><span class="p">),</span> <span class="s2">"utf8"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># check the data for errors and set error flag</span>
|
||||
<span class="c1"># need to assemble it into lines so we can test for the error</span>
|
||||
<span class="c1"># string.</span>
|
||||
<span class="k">while</span> <span class="n">data</span><span class="p">:</span>
|
||||
<span class="n">more</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="n">line</span> <span class="o">+=</span> <span class="n">more</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">more</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">iserror</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
|
||||
<span class="n">line</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">more</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Not the end of the line, keep for later</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">line</span>
|
||||
<span class="k">break</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="k">except</span> <span class="n">socket</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
|
||||
@ -173,6 +267,7 @@
|
||||
|
||||
<div class="viewcode-block" id="LogRequestHandler.finish"><a class="viewcode-back" href="../../pylorax.html#pylorax.monitor.LogRequestHandler.finish">[docs]</a> <span class="k">def</span> <span class="nf">finish</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"Shutting down log processing"</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
||||
|
||||
@ -267,35 +362,50 @@
|
||||
<div class="viewcode-block" id="LogMonitor.shutdown"><a class="viewcode-back" href="../../pylorax.html#pylorax.monitor.LogMonitor.shutdown">[docs]</a> <span class="k">def</span> <span class="nf">shutdown</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""Force shutdown of the monitoring thread"""</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">kill</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">server_thread</span><span class="o">.</span><span class="n">join</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">server</span><span class="o">.</span><span class="n">server_close</span><span class="p">()</span></div></div>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">server_thread</span><span class="o">.</span><span class="n">join</span><span class="p">()</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.mount — Lorax 36.4 documentation</title>
|
||||
<title>pylorax.mount — Lorax 34.13 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.4
|
||||
34.13
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
@ -93,7 +93,8 @@
|
||||
<span class="n">log</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s2">"livemedia-creator"</span><span class="p">)</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
<span class="kn">import</span> <span class="nn">iso9660</span>
|
||||
<span class="kn">import</span> <span class="nn">pycdlib</span>
|
||||
<span class="kn">from</span> <span class="nn">pycdlib.pycdlibexception</span> <span class="kn">import</span> <span class="n">PyCdlibException</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">mount</span><span class="p">,</span> <span class="n">umount</span>
|
||||
|
||||
@ -131,8 +132,7 @@
|
||||
|
||||
<span class="n">kernel_list</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"/isolinux/vmlinuz"</span><span class="p">,</span> <span class="s2">"/isolinux/initrd.img"</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"/ppc/ppc64/vmlinuz"</span><span class="p">,</span> <span class="s2">"/ppc/ppc64/initrd.img"</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"/images/pxeboot/vmlinuz"</span><span class="p">,</span> <span class="s2">"/images/pxeboot/initrd.img"</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"/images/kernel.img"</span><span class="p">,</span> <span class="s2">"/images/initrd.img"</span><span class="p">)]</span>
|
||||
<span class="p">(</span><span class="s2">"/images/pxeboot/vmlinuz"</span><span class="p">,</span> <span class="s2">"/images/pxeboot/initrd.img"</span><span class="p">)]</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span><span class="o">+</span><span class="s2">"/repodata"</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">repo</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mount_dir</span>
|
||||
@ -164,20 +164,15 @@
|
||||
|
||||
<div class="viewcode-block" id="IsoMountpoint.get_iso_label"><a class="viewcode-back" href="../../pylorax.html#pylorax.mount.IsoMountpoint.get_iso_label">[docs]</a> <span class="k">def</span> <span class="nf">get_iso_label</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> Get the iso's label using pycdio</span>
|
||||
<span class="sd"> Get the iso's label using isoinfo</span>
|
||||
|
||||
<span class="sd"> Sets self.label if one is found</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">iso</span> <span class="o">=</span> <span class="n">iso9660</span><span class="o">.</span><span class="n">ISO9660</span><span class="o">.</span><span class="n">IFS</span><span class="p">(</span><span class="n">source</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">iso_path</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">iso</span><span class="o">.</span><span class="n">is_open</span><span class="p">():</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"error opening file"</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">label</span> <span class="o">=</span> <span class="n">iso</span><span class="o">.</span><span class="n">get_volume_id</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">label</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">label</span> <span class="o">=</span> <span class="s2">""</span>
|
||||
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"error reading volume id"</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">RuntimeError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">iso</span> <span class="o">=</span> <span class="n">pycdlib</span><span class="o">.</span><span class="n">PyCdlib</span><span class="p">()</span>
|
||||
<span class="n">iso</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">iso_path</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">label</span> <span class="o">=</span> <span class="n">iso</span><span class="o">.</span><span class="n">pvd</span><span class="o">.</span><span class="n">volume_identifier</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">"UTF-8"</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">except</span> <span class="n">PyCdlibException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"Problem reading label from </span><span class="si">%s</span><span class="s2">: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">iso_path</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.sysutils — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.sysutils — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.sysutils</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.sysutils</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># sysutils.py</span>
|
||||
@ -233,30 +322,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.treebuilder — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.treebuilder — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.treebuilder</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.treebuilder</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># treebuilder.py - handle arch-specific tree building stuff using templates</span>
|
||||
<span class="c1">#</span>
|
||||
@ -103,7 +192,6 @@
|
||||
<span class="kn">from</span> <span class="nn">pylorax.base</span> <span class="kn">import</span> <span class="n">DataHolder</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.ltmpl</span> <span class="kn">import</span> <span class="n">LoraxTemplateRunner</span>
|
||||
<span class="kn">import</span> <span class="nn">pylorax.imgutils</span> <span class="k">as</span> <span class="nn">imgutils</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.imgutils</span> <span class="kn">import</span> <span class="n">DracutChroot</span>
|
||||
<span class="kn">from</span> <span class="nn">pylorax.executils</span> <span class="kn">import</span> <span class="n">runcmd</span><span class="p">,</span> <span class="n">runcmd_output</span><span class="p">,</span> <span class="n">execWithCapture</span>
|
||||
|
||||
<span class="n">templatemap</span> <span class="o">=</span> <span class="p">{</span>
|
||||
@ -147,6 +235,11 @@
|
||||
<span class="n">add_template_vars</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
||||
<span class="n">skip_branding</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="n">root</span> <span class="o">=</span> <span class="n">dbo</span><span class="o">.</span><span class="n">conf</span><span class="o">.</span><span class="n">installroot</span>
|
||||
<span class="c1"># use a copy of product so we can modify it locally</span>
|
||||
<span class="n">product</span> <span class="o">=</span> <span class="n">product</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
||||
<span class="n">product</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">product</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span> <span class="o">=</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">arch</span><span class="o">=</span><span class="n">arch</span><span class="p">,</span> <span class="n">product</span><span class="o">=</span><span class="n">product</span><span class="p">,</span> <span class="n">dbo</span><span class="o">=</span><span class="n">dbo</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="n">root</span><span class="p">,</span>
|
||||
<span class="n">basearch</span><span class="o">=</span><span class="n">arch</span><span class="o">.</span><span class="n">basearch</span><span class="p">,</span> <span class="n">libdir</span><span class="o">=</span><span class="n">arch</span><span class="o">.</span><span class="n">libdir</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span> <span class="o">=</span> <span class="n">dbo</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span> <span class="o">=</span> <span class="n">LoraxTemplateRunner</span><span class="p">(</span><span class="n">inroot</span><span class="o">=</span><span class="n">root</span><span class="p">,</span> <span class="n">outroot</span><span class="o">=</span><span class="n">root</span><span class="p">,</span>
|
||||
<span class="n">dbo</span><span class="o">=</span><span class="n">dbo</span><span class="p">,</span> <span class="n">templatedir</span><span class="o">=</span><span class="n">templatedir</span><span class="p">)</span>
|
||||
@ -154,29 +247,20 @@
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">add_template_vars</span> <span class="o">=</span> <span class="n">add_template_vars</span> <span class="ow">or</span> <span class="p">{}</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_installpkgs</span> <span class="o">=</span> <span class="n">installpkgs</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_excludepkgs</span> <span class="o">=</span> <span class="n">excludepkgs</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># use a copy of product so we can modify it locally</span>
|
||||
<span class="n">product</span> <span class="o">=</span> <span class="n">product</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
||||
<span class="n">product</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">product</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_branding</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_branding</span><span class="p">(</span><span class="n">skip_branding</span><span class="p">,</span> <span class="n">product</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span> <span class="o">=</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">arch</span><span class="o">=</span><span class="n">arch</span><span class="p">,</span> <span class="n">product</span><span class="o">=</span><span class="n">product</span><span class="p">,</span> <span class="n">dbo</span><span class="o">=</span><span class="n">dbo</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="n">root</span><span class="p">,</span>
|
||||
<span class="n">basearch</span><span class="o">=</span><span class="n">arch</span><span class="o">.</span><span class="n">basearch</span><span class="p">,</span> <span class="n">libdir</span><span class="o">=</span><span class="n">arch</span><span class="o">.</span><span class="n">libdir</span><span class="p">,</span>
|
||||
<span class="n">branding</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_branding</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">defaults</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_skip_branding</span> <span class="o">=</span> <span class="n">skip_branding</span>
|
||||
|
||||
<div class="viewcode-block" id="RuntimeBuilder.get_branding"><a class="viewcode-back" href="../../pylorax.html#pylorax.treebuilder.RuntimeBuilder.get_branding">[docs]</a> <span class="k">def</span> <span class="nf">get_branding</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">skip</span><span class="p">,</span> <span class="n">product</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">_install_branding</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""Select the branding from the available 'system-release' packages</span>
|
||||
<span class="sd"> The *best* way to control this is to have a single package in the repo provide 'system-release'</span>
|
||||
<span class="sd"> When there are more than 1 package it will:</span>
|
||||
<span class="sd"> - Make a list of the available packages</span>
|
||||
<span class="sd"> - If variant is set look for a package ending with lower(variant) and use that</span>
|
||||
<span class="sd"> - If there are one or more non-generic packages, use the first one after sorting</span>
|
||||
|
||||
<span class="sd"> Returns the package names of the system-release and release logos package</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">skip</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">release</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logos</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_skip_branding</span><span class="p">:</span>
|
||||
<span class="k">return</span>
|
||||
|
||||
<span class="n">release</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="n">q</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="o">.</span><span class="n">query</span><span class="p">()</span>
|
||||
@ -185,11 +269,11 @@
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">p</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"generic"</span><span class="p">)])</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">pkgs</span><span class="p">:</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"No system-release packages found, could not get the release"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">release</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">logos</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||||
<span class="k">return</span>
|
||||
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">"system-release packages: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">pkgs</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">product</span><span class="o">.</span><span class="n">variant</span><span class="p">:</span>
|
||||
<span class="n">variant</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pkgs</span> <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s2">"-"</span><span class="o">+</span><span class="n">product</span><span class="o">.</span><span class="n">variant</span><span class="o">.</span><span class="n">lower</span><span class="p">())]</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">variant</span><span class="p">:</span>
|
||||
<span class="n">variant</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">pkgs</span> <span class="k">if</span> <span class="n">p</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s2">"-"</span><span class="o">+</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">variant</span><span class="o">.</span><span class="n">lower</span><span class="p">())]</span>
|
||||
<span class="k">if</span> <span class="n">variant</span><span class="p">:</span>
|
||||
<span class="n">release</span> <span class="o">=</span> <span class="n">variant</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">release</span><span class="p">:</span>
|
||||
@ -197,25 +281,20 @@
|
||||
|
||||
<span class="c1"># release</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s1">'got release: </span><span class="si">%s</span><span class="s1">'</span><span class="p">,</span> <span class="n">release</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">installpkg</span><span class="p">(</span><span class="n">release</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># logos uses the basename from release (fedora, redhat, centos, ...)</span>
|
||||
<span class="n">logos</span><span class="p">,</span> <span class="n">_suffix</span> <span class="o">=</span> <span class="n">release</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'-'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">DataHolder</span><span class="p">(</span><span class="n">release</span><span class="o">=</span><span class="n">release</span><span class="p">,</span> <span class="n">logos</span><span class="o">=</span><span class="n">logos</span><span class="o">+</span><span class="s2">"-logos"</span><span class="p">)</span></div>
|
||||
<span class="c1"># logos</span>
|
||||
<span class="n">release</span><span class="p">,</span> <span class="n">_suffix</span> <span class="o">=</span> <span class="n">release</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'-'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">installpkg</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1">-logos'</span> <span class="o">%</span> <span class="n">release</span><span class="p">)</span>
|
||||
|
||||
<div class="viewcode-block" id="RuntimeBuilder.install"><a class="viewcode-back" href="../../pylorax.html#pylorax.treebuilder.RuntimeBuilder.install">[docs]</a> <span class="k">def</span> <span class="nf">install</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">'''Install packages and do initial setup with runtime-install.tmpl'''</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_branding</span><span class="o">.</span><span class="n">release</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">installpkg</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_branding</span><span class="o">.</span><span class="n">release</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_branding</span><span class="o">.</span><span class="n">logos</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">installpkg</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_branding</span><span class="o">.</span><span class="n">logos</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_install_branding</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_installpkgs</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">installpkg</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">_installpkgs</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_excludepkgs</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">removepkg</span><span class="p">(</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">_excludepkgs</span><span class="p">)</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="s2">"runtime-install.tmpl"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">tmpl</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">add_templates</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_runner</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">tmpl</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">add_template_vars</span><span class="p">)</span></div>
|
||||
|
||||
@ -383,31 +462,32 @@
|
||||
<span class="sd"> name of the kernel.</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="n">add_args</span> <span class="o">=</span> <span class="n">add_args</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
<span class="n">args</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"--nomdadmconf"</span><span class="p">,</span> <span class="s2">"--nolvmconf"</span><span class="p">]</span> <span class="o">+</span> <span class="n">add_args</span>
|
||||
<span class="n">dracut</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"dracut"</span><span class="p">,</span> <span class="s2">"--nomdadmconf"</span><span class="p">,</span> <span class="s2">"--nolvmconf"</span><span class="p">]</span> <span class="o">+</span> <span class="n">add_args</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">backup</span><span class="p">:</span>
|
||||
<span class="n">args</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">"--force"</span><span class="p">)</span>
|
||||
<span class="n">dracut</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s2">"--force"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">kernels</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"No kernels found, cannot rebuild_initrds"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">with</span> <span class="n">DracutChroot</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">inroot</span><span class="p">)</span> <span class="k">as</span> <span class="n">dracut</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">kernel</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kernels</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
|
||||
<span class="n">idir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">idir</span><span class="p">,</span> <span class="n">prefix</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="n">kernel</span><span class="o">.</span><span class="n">version</span><span class="o">+</span><span class="s1">'.img'</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">kernel</span><span class="p">,</span> <span class="s2">"initrd"</span><span class="p">):</span>
|
||||
<span class="c1"># If there is an existing initrd, use that</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">initrd</span><span class="o">.</span><span class="n">path</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Construct an initrd from the kernel name</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">"vmlinuz-"</span><span class="p">,</span> <span class="s2">"initrd-"</span><span class="p">)</span> <span class="o">+</span> <span class="s2">".img"</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"rebuilding </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">kernel</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">kernels</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">prefix</span><span class="p">:</span>
|
||||
<span class="n">idir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="n">idir</span><span class="p">,</span> <span class="n">prefix</span><span class="o">+</span><span class="s1">'-'</span><span class="o">+</span><span class="n">kernel</span><span class="o">.</span><span class="n">version</span><span class="o">+</span><span class="s1">'.img'</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">kernel</span><span class="p">,</span> <span class="s2">"initrd"</span><span class="p">):</span>
|
||||
<span class="c1"># If there is an existing initrd, use that</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">initrd</span><span class="o">.</span><span class="n">path</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Construct an initrd from the kernel name</span>
|
||||
<span class="n">outfile</span> <span class="o">=</span> <span class="n">kernel</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">"vmlinuz-"</span><span class="p">,</span> <span class="s2">"initrd-"</span><span class="p">)</span> <span class="o">+</span> <span class="s2">".img"</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"rebuilding </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"dracut warnings about /proc are safe to ignore"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">backup</span><span class="p">:</span>
|
||||
<span class="n">initrd</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">inroot</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">initrd</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">initrd</span><span class="p">,</span> <span class="n">initrd</span> <span class="o">+</span> <span class="n">backup</span><span class="p">)</span>
|
||||
<span class="n">dracut</span><span class="o">.</span><span class="n">Run</span><span class="p">(</span><span class="n">args</span> <span class="o">+</span> <span class="p">[</span><span class="n">outfile</span><span class="p">,</span> <span class="n">kernel</span><span class="o">.</span><span class="n">version</span><span class="p">])</span></div>
|
||||
<span class="k">if</span> <span class="n">backup</span><span class="p">:</span>
|
||||
<span class="n">initrd</span> <span class="o">=</span> <span class="n">joinpaths</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">inroot</span><span class="p">,</span> <span class="n">outfile</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">initrd</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">initrd</span><span class="p">,</span> <span class="n">initrd</span> <span class="o">+</span> <span class="n">backup</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="n">dracut</span> <span class="o">+</span> <span class="p">[</span><span class="n">outfile</span><span class="p">,</span> <span class="n">kernel</span><span class="o">.</span><span class="n">version</span><span class="p">]</span>
|
||||
<span class="n">runcmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">inroot</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="TreeBuilder.build"><a class="viewcode-back" href="../../pylorax.html#pylorax.treebuilder.TreeBuilder.build">[docs]</a> <span class="k">def</span> <span class="nf">build</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">templatefile</span> <span class="o">=</span> <span class="n">templatemap</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">arch</span><span class="o">.</span><span class="n">basearch</span><span class="p">]</span>
|
||||
@ -505,30 +585,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,31 +1,69 @@
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax.treeinfo — Lorax 36.0 documentation</title>
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>pylorax.treeinfo — Lorax 34.10 documentation</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||||
<script src="../../_static/jquery.js"></script>
|
||||
<script src="../../_static/underscore.js"></script>
|
||||
<script src="../../_static/doctools.js"></script>
|
||||
<script src="../../_static/js/theme.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../_static/js/theme.js"></script>
|
||||
|
||||
|
||||
<link rel="index" title="Index" href="../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<body class="wy-body-for-nav">
|
||||
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="version">
|
||||
36.0
|
||||
34.10
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
@ -33,7 +71,18 @@
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||
@ -44,31 +93,71 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
|
||||
|
||||
<nav class="wy-nav-top" aria-label="top navigation">
|
||||
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../../index.html">Lorax</a>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="wy-nav-content">
|
||||
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||
|
||||
<ul class="wy-breadcrumbs">
|
||||
|
||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||
|
||||
<li><a href="../index.html">Module code</a> »</li>
|
||||
|
||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||
|
||||
<li>pylorax.treeinfo</li>
|
||||
|
||||
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1>Source code for pylorax.treeinfo</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1">#</span>
|
||||
<span class="c1"># treeinfo.py</span>
|
||||
@ -136,30 +225,46 @@
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
<p>
|
||||
© Copyright 2018, Red Hat, Inc..
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,99 +0,0 @@
|
||||
image-minimizer
|
||||
===============
|
||||
|
||||
:Authors:
|
||||
Brian C. Lane <bcl@redhat.com>
|
||||
|
||||
`image-minimizer` is a script used as an interpreter for kickstart `%post`
|
||||
sections. It is used to remove rpm packages and individual files from the
|
||||
system that Anaconda has just installed.
|
||||
|
||||
It processes a list of commands that tell it which files or rpms to remove, and
|
||||
which to keep.
|
||||
|
||||
|
||||
image-minimizer cmdline arguments
|
||||
---------------------------------
|
||||
|
||||
`usage: image-minimizer [-h] [-i STRING] [--dryrun] [-v] STRING`
|
||||
|
||||
Optional arguments
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-h, --help show this help message and exit
|
||||
-i STRING, --installroot STRING
|
||||
Root path to prepend to all file patterns and
|
||||
installation root for RPM operations. Defaults to
|
||||
INSTALL_ROOT or /mnt/sysimage/
|
||||
--dryrun If set, no filesystem changes are made.
|
||||
-v, --verbose Display every action as it is performed.
|
||||
|
||||
Positional arguments
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
:STRING: Filename to process
|
||||
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
||||
You cannot pass any arguments to `image-minimizer` when using it from the
|
||||
kickstart `%post`.
|
||||
|
||||
When using this from a kickstart the image-minimizer package needs to be available.
|
||||
It is not included on the standard boot.iso, so you will need to include `lorax` in
|
||||
the `%package` section. You can use `image-minimizer` to remove lorax from the install.
|
||||
|
||||
If you are using this with `livemedia-creator` it can be installed on the host
|
||||
system so that `lorax` isn't needed in the `%package` list, and it doesn't need
|
||||
to be removed.
|
||||
|
||||
|
||||
commands
|
||||
--------
|
||||
|
||||
Commands are listed one per line, followed by a space, and then by the
|
||||
package, file, or glob. The globs used are Unix style pathname patterns using
|
||||
`*`, `?`, and `[]` character ranges. globbing is implemented using the python
|
||||
glob module.
|
||||
|
||||
|
||||
* drop <PATTERN>
|
||||
This will remove files from the installation.
|
||||
|
||||
* keep <PATTERN>
|
||||
This will keep files, and should follow any `drop` commands including globs.
|
||||
|
||||
* droprpm <PATTERN>
|
||||
Remove matching rpm packages. Dependencies are not remove, just individual
|
||||
packages matching the glob.
|
||||
|
||||
* keeprpm <PATTERN>
|
||||
Do not remove matching rpm packages, it should follow any `droprpm` commands
|
||||
that include globs.
|
||||
|
||||
|
||||
example
|
||||
-------
|
||||
|
||||
Example Anaconda `%post` usage::
|
||||
|
||||
%post --interpreter=image-minimizer --nochroot
|
||||
|
||||
drop /lib/modules/*/kernel/fs
|
||||
keep /lib/modules/*/kernel/fs/ext*
|
||||
keep /lib/modules/*/kernel/fs/mbcache*
|
||||
keep /lib/modules/*/kernel/fs/squashfs
|
||||
|
||||
droprpm make
|
||||
droprpm mtools
|
||||
droprpm mysql-libs
|
||||
droprpm perl
|
||||
droprpm perl-Pod-*
|
||||
droprpm syslinux
|
||||
keeprpm perl-Pod-Simple
|
||||
|
||||
# Not needed after image-minimizer is done
|
||||
droprpm lorax
|
||||
|
||||
%end
|
@ -16,13 +16,11 @@ Contents:
|
||||
livemedia-creator
|
||||
mkksiso
|
||||
product-images
|
||||
image-minimizer
|
||||
modules
|
||||
|
||||
Documentation for other Lorax Branches
|
||||
======================================
|
||||
|
||||
* `Fedora 35 <f35-branch/>`_
|
||||
* `Fedora 34 <f34-branch/>`_
|
||||
* `Fedora 33 <f33-branch/>`_
|
||||
* `RHEL8 lorax-composer <rhel8-branch/>`_
|
||||
|
@ -171,6 +171,7 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.
|
||||
dracut-live
|
||||
-dracut-config-rescue
|
||||
grub2-efi
|
||||
memtest86+
|
||||
syslinux
|
||||
|
||||
User created repositories
|
||||
|
@ -51,7 +51,7 @@ You can add your own repos with ``-s`` and packages with higher NVRs will
|
||||
override the ones in the distribution repositories.
|
||||
|
||||
Under ``./results/`` will be the release tree files: .discinfo, .treeinfo, everything that
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under ``./results/images/``.
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under ``./images/``.
|
||||
|
||||
|
||||
Branding
|
||||
|
@ -10,9 +10,7 @@ the iso is booted. If the original iso was created with EFI and Mac support the
|
||||
kickstart boot.iso will include this support as well.
|
||||
|
||||
``mkksiso`` needs to be run as root, it depends on mounting the original iso
|
||||
and you need to be root to be able to do that. The host system architecture
|
||||
needs to match that of the iso. ``mkksiso`` will raise an error if it finds a
|
||||
.discinfo on the iso with a mismatched arch.
|
||||
and you need to be root to be able to do that.
|
||||
|
||||
|
||||
mkksiso cmdline arguments
|
||||
|
@ -1,6 +1,6 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
VERSION: '36.5',
|
||||
VERSION: '34.12',
|
||||
LANGUAGE: 'None',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — Lorax 36.5 documentation</title>
|
||||
<title>Index — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -41,7 +41,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -311,10 +310,12 @@
|
||||
</li>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installkernel">installkernel() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||
</li>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.InstallpkgMixin.installpkg">installpkg() (pylorax.ltmpl.InstallpkgMixin method)</a>
|
||||
</li>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.InstallpkgMixin">InstallpkgMixin (class in pylorax.ltmpl)</a>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.LiveTemplateRunner.installpkg">installpkg() (pylorax.ltmpl.LiveTemplateRunner method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installpkg">(pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd">installupgradeinitrd() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||
</li>
|
||||
<li><a href="pylorax.html#pylorax.creator.is_image_mounted">is_image_mounted() (in module pylorax.creator)</a>
|
||||
|
@ -1,222 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>image-minimizer — Lorax 36.5 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="src" href="modules.html" />
|
||||
<link rel="prev" title="Product and Updates Images" href="product-images.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction to Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="intro.html#before-lorax">Before Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="lorax.html">Lorax</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">image-minimizer</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#image-minimizer-cmdline-arguments">image-minimizer cmdline arguments</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#optional-arguments">Optional arguments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#positional-arguments">Positional arguments</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#notes">NOTES</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#commands">commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#example">example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">Lorax</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home"></a> »</li>
|
||||
<li>image-minimizer</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="_sources/image-minimizer.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<section id="image-minimizer">
|
||||
<h1>image-minimizer<a class="headerlink" href="#image-minimizer" title="Permalink to this headline">¶</a></h1>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Authors</dt>
|
||||
<dd class="field-odd"><p>Brian C. Lane <<a class="reference external" href="mailto:bcl%40redhat.com">bcl<span>@</span>redhat<span>.</span>com</a>></p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p><cite>image-minimizer</cite> is a script used as an interpreter for kickstart <cite>%post</cite>
|
||||
sections. It is used to remove rpm packages and individual files from the
|
||||
system that Anaconda has just installed.</p>
|
||||
<p>It processes a list of commands that tell it which files or rpms to remove, and
|
||||
which to keep.</p>
|
||||
<section id="image-minimizer-cmdline-arguments">
|
||||
<h2>image-minimizer cmdline arguments<a class="headerlink" href="#image-minimizer-cmdline-arguments" title="Permalink to this headline">¶</a></h2>
|
||||
<blockquote>
|
||||
<div><p><cite>usage: image-minimizer [-h] [-i STRING] [--dryrun] [-v] STRING</cite></p>
|
||||
</div></blockquote>
|
||||
<section id="optional-arguments">
|
||||
<h3>Optional arguments<a class="headerlink" href="#optional-arguments" title="Permalink to this headline">¶</a></h3>
|
||||
<blockquote>
|
||||
<div><dl class="option-list">
|
||||
<dt><kbd><span class="option">-h</span>, <span class="option">--help</span></kbd></dt>
|
||||
<dd><p>show this help message and exit</p>
|
||||
</dd>
|
||||
<dt><kbd><span class="option">-i <var>STRING</var></span>, <span class="option">--installroot <var>STRING</var></span></kbd></dt>
|
||||
<dd><p>Root path to prepend to all file patterns and
|
||||
installation root for RPM operations. Defaults to
|
||||
INSTALL_ROOT or /mnt/sysimage/</p>
|
||||
</dd>
|
||||
<dt><kbd><span class="option">--dryrun</span></kbd></dt>
|
||||
<dd><p>If set, no filesystem changes are made.</p>
|
||||
</dd>
|
||||
<dt><kbd><span class="option">-v</span>, <span class="option">--verbose</span></kbd></dt>
|
||||
<dd><p>Display every action as it is performed.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div></blockquote>
|
||||
</section>
|
||||
<section id="positional-arguments">
|
||||
<h3>Positional arguments<a class="headerlink" href="#positional-arguments" title="Permalink to this headline">¶</a></h3>
|
||||
<blockquote>
|
||||
<div><dl class="field-list simple">
|
||||
<dt class="field-odd">STRING</dt>
|
||||
<dd class="field-odd"><p>Filename to process</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div></blockquote>
|
||||
</section>
|
||||
</section>
|
||||
<section id="notes">
|
||||
<h2>NOTES<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
|
||||
<p>You cannot pass any arguments to <cite>image-minimizer</cite> when using it from the
|
||||
kickstart <cite>%post</cite>.</p>
|
||||
<p>When using this from a kickstart the image-minimizer package needs to be available.
|
||||
It is not included on the standard boot.iso, so you will need to include <cite>lorax</cite> in
|
||||
the <cite>%package</cite> section. You can use <cite>image-minimizer</cite> to remove lorax from the install.</p>
|
||||
<p>If you are using this with <cite>livemedia-creator</cite> it can be installed on the host
|
||||
system so that <cite>lorax</cite> isn't needed in the <cite>%package</cite> list, and it doesn't need
|
||||
to be removed.</p>
|
||||
</section>
|
||||
<section id="commands">
|
||||
<h2>commands<a class="headerlink" href="#commands" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Commands are listed one per line, followed by a space, and then by the
|
||||
package, file, or glob. The globs used are Unix style pathname patterns using
|
||||
<cite>*</cite>, <cite>?</cite>, and <cite>[]</cite> character ranges. globbing is implemented using the python
|
||||
glob module.</p>
|
||||
<ul class="simple">
|
||||
<li><p>drop <PATTERN>
|
||||
This will remove files from the installation.</p></li>
|
||||
<li><p>keep <PATTERN>
|
||||
This will keep files, and should follow any <cite>drop</cite> commands including globs.</p></li>
|
||||
<li><p>droprpm <PATTERN>
|
||||
Remove matching rpm packages. Dependencies are not remove, just individual
|
||||
packages matching the glob.</p></li>
|
||||
<li><p>keeprpm <PATTERN>
|
||||
Do not remove matching rpm packages, it should follow any <cite>droprpm</cite> commands
|
||||
that include globs.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="example">
|
||||
<h2>example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Example Anaconda <cite>%post</cite> usage:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">%</span><span class="n">post</span> <span class="o">--</span><span class="n">interpreter</span><span class="o">=</span><span class="n">image</span><span class="o">-</span><span class="n">minimizer</span> <span class="o">--</span><span class="n">nochroot</span>
|
||||
|
||||
<span class="n">drop</span> <span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">modules</span><span class="o">/*/</span><span class="n">kernel</span><span class="o">/</span><span class="n">fs</span>
|
||||
<span class="n">keep</span> <span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">modules</span><span class="o">/*/</span><span class="n">kernel</span><span class="o">/</span><span class="n">fs</span><span class="o">/</span><span class="n">ext</span><span class="o">*</span>
|
||||
<span class="n">keep</span> <span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">modules</span><span class="o">/*/</span><span class="n">kernel</span><span class="o">/</span><span class="n">fs</span><span class="o">/</span><span class="n">mbcache</span><span class="o">*</span>
|
||||
<span class="n">keep</span> <span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">modules</span><span class="o">/*/</span><span class="n">kernel</span><span class="o">/</span><span class="n">fs</span><span class="o">/</span><span class="n">squashfs</span>
|
||||
|
||||
<span class="n">droprpm</span> <span class="n">make</span>
|
||||
<span class="n">droprpm</span> <span class="n">mtools</span>
|
||||
<span class="n">droprpm</span> <span class="n">mysql</span><span class="o">-</span><span class="n">libs</span>
|
||||
<span class="n">droprpm</span> <span class="n">perl</span>
|
||||
<span class="n">droprpm</span> <span class="n">perl</span><span class="o">-</span><span class="n">Pod</span><span class="o">-*</span>
|
||||
<span class="n">droprpm</span> <span class="n">syslinux</span>
|
||||
<span class="n">keeprpm</span> <span class="n">perl</span><span class="o">-</span><span class="n">Pod</span><span class="o">-</span><span class="n">Simple</span>
|
||||
|
||||
<span class="c1"># Not needed after image-minimizer is done</span>
|
||||
<span class="n">droprpm</span> <span class="n">lorax</span>
|
||||
|
||||
<span class="o">%</span><span class="n">end</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="product-images.html" class="btn btn-neutral float-left" title="Product and Updates Images" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="modules.html" class="btn btn-neutral float-right" title="src" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Welcome to Lorax's documentation! — Lorax 36.5 documentation</title>
|
||||
<title>Welcome to Lorax's documentation! — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
<a href="#" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -43,7 +43,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -82,7 +81,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -90,7 +88,6 @@
|
||||
<section id="documentation-for-other-lorax-branches">
|
||||
<h1>Documentation for other Lorax Branches<a class="headerlink" href="#documentation-for-other-lorax-branches" title="Permalink to this headline">¶</a></h1>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="f35-branch/">Fedora 35</a></p></li>
|
||||
<li><p><a class="reference external" href="f34-branch/">Fedora 34</a></p></li>
|
||||
<li><p><a class="reference external" href="f33-branch/">Fedora 33</a></p></li>
|
||||
<li><p><a class="reference external" href="rhel8-branch/">RHEL8 lorax-composer</a></p></li>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Introduction to Lorax — Lorax 36.5 documentation</title>
|
||||
<title>Introduction to Lorax — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -44,7 +44,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>livemedia-creator — Lorax 36.5 documentation</title>
|
||||
<title>livemedia-creator — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -80,7 +80,6 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -276,7 +275,7 @@ you have the anaconda-tui package installed.</p>
|
||||
</dd>
|
||||
<dt><kbd>--releasever</kbd></dt>
|
||||
<dd><p>substituted for @VERSION@ in bootloader config files</p>
|
||||
<p>Default: "36"</p>
|
||||
<p>Default: "34"</p>
|
||||
</dd>
|
||||
<dt><kbd>--volid</kbd></dt>
|
||||
<dd><p>volume id</p>
|
||||
@ -548,6 +547,7 @@ dracut-config-generic
|
||||
dracut-live
|
||||
-dracut-config-rescue
|
||||
grub2-efi
|
||||
memtest86+
|
||||
syslinux</p></li>
|
||||
</ol>
|
||||
<section id="user-created-repositories">
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Lorax — Lorax 36.5 documentation</title>
|
||||
<title>Lorax — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -70,7 +70,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -316,7 +315,7 @@ repositories.</p>
|
||||
<p>You can add your own repos with <code class="docutils literal notranslate"><span class="pre">-s</span></code> and packages with higher NVRs will
|
||||
override the ones in the distribution repositories.</p>
|
||||
<p>Under <code class="docutils literal notranslate"><span class="pre">./results/</span></code> will be the release tree files: .discinfo, .treeinfo, everything that
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under <code class="docutils literal notranslate"><span class="pre">./results/images/</span></code>.</p>
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under <code class="docutils literal notranslate"><span class="pre">./images/</span></code>.</p>
|
||||
</section>
|
||||
<section id="branding">
|
||||
<h2>Branding<a class="headerlink" href="#branding" title="Permalink to this headline">¶</a></h2>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>mkksiso — Lorax 36.5 documentation</title>
|
||||
<title>mkksiso — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -55,7 +55,6 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -95,9 +94,7 @@ you can add a kickstart to a boot.iso and the kickstart will be executed when
|
||||
the iso is booted. If the original iso was created with EFI and Mac support the
|
||||
kickstart boot.iso will include this support as well.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">mkksiso</span></code> needs to be run as root, it depends on mounting the original iso
|
||||
and you need to be root to be able to do that. The host system architecture
|
||||
needs to match that of the iso. <code class="docutils literal notranslate"><span class="pre">mkksiso</span></code> will raise an error if it finds a
|
||||
.discinfo on the iso with a mismatched arch.</p>
|
||||
and you need to be root to be able to do that.</p>
|
||||
<section id="mkksiso-cmdline-arguments">
|
||||
<h2>mkksiso cmdline arguments<a class="headerlink" href="#mkksiso-cmdline-arguments" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Add a kickstart and files to an iso</p>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>src — Lorax 36.5 documentation</title>
|
||||
<title>src — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="pylorax package" href="pylorax.html" />
|
||||
<link rel="prev" title="image-minimizer" href="image-minimizer.html" />
|
||||
<link rel="prev" title="Product and Updates Images" href="product-images.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -44,7 +44,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">src</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="pylorax.html">pylorax package</a></li>
|
||||
</ul>
|
||||
@ -110,7 +109,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="image-minimizer.html" class="btn btn-neutral float-left" title="image-minimizer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="product-images.html" class="btn btn-neutral float-left" title="Product and Updates Images" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="pylorax.html" class="btn btn-neutral float-right" title="pylorax package" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
|
Binary file not shown.
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Product and Updates Images — Lorax 36.5 documentation</title>
|
||||
<title>Product and Updates Images — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="image-minimizer" href="image-minimizer.html" />
|
||||
<link rel="next" title="src" href="modules.html" />
|
||||
<link rel="prev" title="mkksiso" href="mkksiso.html" />
|
||||
</head>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -44,7 +44,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
@ -101,7 +100,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="mkksiso.html" class="btn btn-neutral float-left" title="mkksiso" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="image-minimizer.html" class="btn btn-neutral float-right" title="image-minimizer" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
<a href="modules.html" class="btn btn-neutral float-right" title="src" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Python Module Index — Lorax 36.5 documentation</title>
|
||||
<title>Python Module Index — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -44,7 +44,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>pylorax package — Lorax 36.5 documentation</title>
|
||||
<title>pylorax package — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
@ -43,7 +43,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">src</a><ul class="current">
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">pylorax package</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#submodules">Submodules</a></li>
|
||||
@ -307,7 +306,7 @@ has been used.</p>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="pylorax.creator.make_appliance">
|
||||
<span class="sig-prename descclassname"><span class="pre">pylorax.creator.</span></span><span class="sig-name descname"><span class="pre">make_appliance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">disk_img</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">template</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outfile</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">networks</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ram</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1024</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vcpus</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Linux'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">project</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Linux'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">releasever</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'36'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#make_appliance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.creator.make_appliance" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">pylorax.creator.</span></span><span class="sig-name descname"><span class="pre">make_appliance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">disk_img</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">template</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outfile</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">networks</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ram</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1024</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">vcpus</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Linux'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">project</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Linux'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">releasever</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'34'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/creator.html#make_appliance"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.creator.make_appliance" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Generate an appliance description file</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
@ -322,7 +321,7 @@ has been used.</p>
|
||||
<li><p><strong>arch</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- CPU architecture. Default is 'x86_64'</p></li>
|
||||
<li><p><strong>title</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- Title, passed to template. Default is 'Linux'</p></li>
|
||||
<li><p><strong>project</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- Project, passed to template. Default is 'Linux'</p></li>
|
||||
<li><p><strong>releasever</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- Release version, passed to template.</p></li>
|
||||
<li><p><strong>releasever</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- Release version, passed to template. Default is 34</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
@ -511,7 +510,7 @@ See the cmdline --help for livemedia-creator for the possible options</p>
|
||||
<span id="pylorax-dnfbase-module"></span><h2>pylorax.dnfbase module<a class="headerlink" href="#module-pylorax.dnfbase" title="Permalink to this headline">¶</a></h2>
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="pylorax.dnfbase.get_dnf_base_object">
|
||||
<span class="sig-prename descclassname"><span class="pre">pylorax.dnfbase.</span></span><span class="sig-name descname"><span class="pre">get_dnf_base_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">installroot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sources</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mirrorlists</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">enablerepos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disablerepos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tempdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'/var/tmp'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proxy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">releasever</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'36'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cachedir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sslverify</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dnfplugins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/dnfbase.html#get_dnf_base_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.dnfbase.get_dnf_base_object" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">pylorax.dnfbase.</span></span><span class="sig-name descname"><span class="pre">get_dnf_base_object</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">installroot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sources</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mirrorlists</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">repos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">enablerepos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disablerepos</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tempdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'/var/tmp'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proxy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">releasever</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'34'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cachedir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">logdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sslverify</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dnfplugins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/dnfbase.html#get_dnf_base_object"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.dnfbase.get_dnf_base_object" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Create a dnf Base object and setup the repositories and installroot</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
@ -1196,41 +1195,10 @@ image and then optionally, based on the opts passed, creates tarfile.</p>
|
||||
</section>
|
||||
<section id="module-pylorax.ltmpl">
|
||||
<span id="pylorax-ltmpl-module"></span><h2>pylorax.ltmpl module<a class="headerlink" href="#module-pylorax.ltmpl" title="Permalink to this headline">¶</a></h2>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.InstallpkgMixin">
|
||||
<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">pylorax.ltmpl.</span></span><span class="sig-name descname"><span class="pre">InstallpkgMixin</span></span><a class="reference internal" href="_modules/pylorax/ltmpl.html#InstallpkgMixin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.InstallpkgMixin" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
|
||||
<p>Helper class used with <a href="#id1"><span class="problematic" id="id2">*</span></a>Runner classes</p>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.InstallpkgMixin.installpkg">
|
||||
<span class="sig-name descname"><span class="pre">installpkg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">pkgs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#InstallpkgMixin.installpkg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.InstallpkgMixin.installpkg" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><dl>
|
||||
<dt>installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</dt><dd><p>Request installation of all packages matching the given globs.
|
||||
Note that this is just a <em>request</em> - nothing is <em>actually</em> installed
|
||||
until the 'run_pkg_transaction' command is given.</p>
|
||||
<p>The non-except PKGGLOB can contain a version comparison. This should
|
||||
not be used as a substitute for package dependencies, it should be
|
||||
used to enforce installation of tools required by the templates. eg.
|
||||
grub2 changed the font location in 2.06-2 so the current templates
|
||||
require grub2 to be 2.06-2 or later.</p>
|
||||
<p>installpkg tmux>=2.8 bash=5.0.0-1</p>
|
||||
<p>It supports the =,!=,>,>=,<,<= operators. == is an alias for =, and
|
||||
<> is an alias for !=</p>
|
||||
<p>There should be no spaces between the package name, the compare
|
||||
operator, and the version.</p>
|
||||
<p>NOTE: When testing for equality you must include the version AND
|
||||
release, otherwise it won't match anything.</p>
|
||||
<p>--required is now the default. If the PKGGLOB can be missing pass --optional</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LiveTemplateRunner">
|
||||
<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">pylorax.ltmpl.</span></span><span class="sig-name descname"><span class="pre">LiveTemplateRunner</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dbo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fatalerrors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">templatedir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">defaults</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LiveTemplateRunner"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.LiveTemplateRunner" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#pylorax.ltmpl.TemplateRunner" title="pylorax.ltmpl.TemplateRunner"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.TemplateRunner</span></code></a>, <a class="reference internal" href="#pylorax.ltmpl.InstallpkgMixin" title="pylorax.ltmpl.InstallpkgMixin"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.InstallpkgMixin</span></code></a></p>
|
||||
<dd><p>Bases: <a class="reference internal" href="#pylorax.ltmpl.TemplateRunner" title="pylorax.ltmpl.TemplateRunner"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.TemplateRunner</span></code></a></p>
|
||||
<p>This class parses and executes a limited Lorax template. Sample usage:</p>
|
||||
<blockquote>
|
||||
<div><p># install a bunch of packages
|
||||
@ -1239,6 +1207,18 @@ runner.run("live-install.tmpl")</p>
|
||||
<p>It is meant to be used with the live-install.tmpl which lists the per-arch
|
||||
pacages needed to build the live-iso output.</p>
|
||||
</div></blockquote>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LiveTemplateRunner.installpkg">
|
||||
<span class="sig-name descname"><span class="pre">installpkg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">pkgs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LiveTemplateRunner.installpkg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.LiveTemplateRunner.installpkg" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><dl>
|
||||
<dt>installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</dt><dd><p>Request installation of all packages matching the given globs.
|
||||
Note that this is just a <em>request</em> - nothing is <em>actually</em> installed
|
||||
until the 'run_pkg_transaction' command is given.</p>
|
||||
<p>--required is now the default. If the PKGGLOB can be missing pass --optional</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
@ -1255,7 +1235,7 @@ pacages needed to build the live-iso output.</p>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LoraxTemplateRunner">
|
||||
<em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">pylorax.ltmpl.</span></span><span class="sig-name descname"><span class="pre">LoraxTemplateRunner</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">inroot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outroot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dbo</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fatalerrors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">templatedir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">defaults</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#pylorax.ltmpl.TemplateRunner" title="pylorax.ltmpl.TemplateRunner"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.TemplateRunner</span></code></a>, <a class="reference internal" href="#pylorax.ltmpl.InstallpkgMixin" title="pylorax.ltmpl.InstallpkgMixin"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.InstallpkgMixin</span></code></a></p>
|
||||
<dd><p>Bases: <a class="reference internal" href="#pylorax.ltmpl.TemplateRunner" title="pylorax.ltmpl.TemplateRunner"><code class="xref py py-class docutils literal notranslate"><span class="pre">pylorax.ltmpl.TemplateRunner</span></code></a></p>
|
||||
<p>This class parses and executes Lorax templates. Sample usage:</p>
|
||||
<blockquote>
|
||||
<div><p># install a bunch of packages
|
||||
@ -1405,6 +1385,18 @@ treeinfo SECTION kernel DEST</p>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LoraxTemplateRunner.installpkg">
|
||||
<span class="sig-name descname"><span class="pre">installpkg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">pkgs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installpkg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installpkg" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><dl>
|
||||
<dt>installpkg [--required|--optional] [--except PKGGLOB [--except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</dt><dd><p>Request installation of all packages matching the given globs.
|
||||
Note that this is just a <em>request</em> - nothing is <em>actually</em> installed
|
||||
until the 'run_pkg_transaction' command is given.</p>
|
||||
<p>--required is now the default. If the PKGGLOB can be missing pass --optional</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd">
|
||||
<span class="sig-name descname"><span class="pre">installupgradeinitrd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">section</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">src</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dest</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installupgradeinitrd"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd" title="Permalink to this definition">¶</a></dt>
|
||||
@ -1758,7 +1750,7 @@ iso's label.</p>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="pylorax.mount.IsoMountpoint.get_iso_label">
|
||||
<span class="sig-name descname"><span class="pre">get_iso_label</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/mount.html#IsoMountpoint.get_iso_label"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pylorax.mount.IsoMountpoint.get_iso_label" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Get the iso's label using pycdio</p>
|
||||
<dd><p>Get the iso's label using isoinfo</p>
|
||||
<p>Sets self.label if one is found</p>
|
||||
</dd></dl>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — Lorax 36.5 documentation</title>
|
||||
<title>Search — Lorax 34.12 documentation</title>
|
||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<a href="index.html" class="icon icon-home"> Lorax
|
||||
</a>
|
||||
<div class="version">
|
||||
36.5
|
||||
34.12
|
||||
</div>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="#" method="get">
|
||||
@ -44,7 +44,6 @@
|
||||
<li class="toctree-l1"><a class="reference internal" href="livemedia-creator.html">livemedia-creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="product-images.html">Product and Updates Images</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="image-minimizer.html">image-minimizer</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||
</ul>
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,99 +0,0 @@
|
||||
image-minimizer
|
||||
===============
|
||||
|
||||
:Authors:
|
||||
Brian C. Lane <bcl@redhat.com>
|
||||
|
||||
`image-minimizer` is a script used as an interpreter for kickstart `%post`
|
||||
sections. It is used to remove rpm packages and individual files from the
|
||||
system that Anaconda has just installed.
|
||||
|
||||
It processes a list of commands that tell it which files or rpms to remove, and
|
||||
which to keep.
|
||||
|
||||
|
||||
image-minimizer cmdline arguments
|
||||
---------------------------------
|
||||
|
||||
`usage: image-minimizer [-h] [-i STRING] [--dryrun] [-v] STRING`
|
||||
|
||||
Optional arguments
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-h, --help show this help message and exit
|
||||
-i STRING, --installroot STRING
|
||||
Root path to prepend to all file patterns and
|
||||
installation root for RPM operations. Defaults to
|
||||
INSTALL_ROOT or /mnt/sysimage/
|
||||
--dryrun If set, no filesystem changes are made.
|
||||
-v, --verbose Display every action as it is performed.
|
||||
|
||||
Positional arguments
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
:STRING: Filename to process
|
||||
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
||||
You cannot pass any arguments to `image-minimizer` when using it from the
|
||||
kickstart `%post`.
|
||||
|
||||
When using this from a kickstart the image-minimizer package needs to be available.
|
||||
It is not included on the standard boot.iso, so you will need to include `lorax` in
|
||||
the `%package` section. You can use `image-minimizer` to remove lorax from the install.
|
||||
|
||||
If you are using this with `livemedia-creator` it can be installed on the host
|
||||
system so that `lorax` isn't needed in the `%package` list, and it doesn't need
|
||||
to be removed.
|
||||
|
||||
|
||||
commands
|
||||
--------
|
||||
|
||||
Commands are listed one per line, followed by a space, and then by the
|
||||
package, file, or glob. The globs used are Unix style pathname patterns using
|
||||
`*`, `?`, and `[]` character ranges. globbing is implemented using the python
|
||||
glob module.
|
||||
|
||||
|
||||
* drop <PATTERN>
|
||||
This will remove files from the installation.
|
||||
|
||||
* keep <PATTERN>
|
||||
This will keep files, and should follow any `drop` commands including globs.
|
||||
|
||||
* droprpm <PATTERN>
|
||||
Remove matching rpm packages. Dependencies are not remove, just individual
|
||||
packages matching the glob.
|
||||
|
||||
* keeprpm <PATTERN>
|
||||
Do not remove matching rpm packages, it should follow any `droprpm` commands
|
||||
that include globs.
|
||||
|
||||
|
||||
example
|
||||
-------
|
||||
|
||||
Example Anaconda `%post` usage::
|
||||
|
||||
%post --interpreter=image-minimizer --nochroot
|
||||
|
||||
drop /lib/modules/*/kernel/fs
|
||||
keep /lib/modules/*/kernel/fs/ext*
|
||||
keep /lib/modules/*/kernel/fs/mbcache*
|
||||
keep /lib/modules/*/kernel/fs/squashfs
|
||||
|
||||
droprpm make
|
||||
droprpm mtools
|
||||
droprpm mysql-libs
|
||||
droprpm perl
|
||||
droprpm perl-Pod-*
|
||||
droprpm syslinux
|
||||
keeprpm perl-Pod-Simple
|
||||
|
||||
# Not needed after image-minimizer is done
|
||||
droprpm lorax
|
||||
|
||||
%end
|
@ -16,13 +16,11 @@ Contents:
|
||||
livemedia-creator
|
||||
mkksiso
|
||||
product-images
|
||||
image-minimizer
|
||||
modules
|
||||
|
||||
Documentation for other Lorax Branches
|
||||
======================================
|
||||
|
||||
* `Fedora 35 <f35-branch/>`_
|
||||
* `Fedora 34 <f34-branch/>`_
|
||||
* `Fedora 33 <f33-branch/>`_
|
||||
* `RHEL8 lorax-composer <rhel8-branch/>`_
|
||||
|
@ -171,6 +171,7 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.
|
||||
dracut-live
|
||||
-dracut-config-rescue
|
||||
grub2-efi
|
||||
memtest86+
|
||||
syslinux
|
||||
|
||||
User created repositories
|
||||
|
@ -51,7 +51,7 @@ You can add your own repos with ``-s`` and packages with higher NVRs will
|
||||
override the ones in the distribution repositories.
|
||||
|
||||
Under ``./results/`` will be the release tree files: .discinfo, .treeinfo, everything that
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under ``./results/images/``.
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under ``./images/``.
|
||||
|
||||
|
||||
Branding
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,152 +0,0 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "IMAGE-MINIMIZER" "1" "Dec 21, 2021" "36.5" "Lorax"
|
||||
.SH NAME
|
||||
image-minimizer \- Utility script to remove files and packages
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B Authors
|
||||
Brian C. Lane <\fI\%bcl@redhat.com\fP>
|
||||
.UNINDENT
|
||||
.sp
|
||||
\fIimage\-minimizer\fP is a script used as an interpreter for kickstart \fI%post\fP
|
||||
sections. It is used to remove rpm packages and individual files from the
|
||||
system that Anaconda has just installed.
|
||||
.sp
|
||||
It processes a list of commands that tell it which files or rpms to remove, and
|
||||
which to keep.
|
||||
.SH IMAGE-MINIMIZER CMDLINE ARGUMENTS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
\fIusage: image\-minimizer [\-h] [\-i STRING] [\-\-dryrun] [\-v] STRING\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SS Optional arguments
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-h\fP,\fB \-\-help
|
||||
show this help message and exit
|
||||
.TP
|
||||
.BI \-i \ STRING\fR,\fB \ \-\-installroot \ STRING
|
||||
Root path to prepend to all file patterns and
|
||||
installation root for RPM operations. Defaults to
|
||||
INSTALL_ROOT or /mnt/sysimage/
|
||||
.TP
|
||||
.B \-\-dryrun
|
||||
If set, no filesystem changes are made.
|
||||
.TP
|
||||
.B \-v\fP,\fB \-\-verbose
|
||||
Display every action as it is performed.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SS Positional arguments
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B STRING
|
||||
Filename to process
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH NOTES
|
||||
.sp
|
||||
You cannot pass any arguments to \fIimage\-minimizer\fP when using it from the
|
||||
kickstart \fI%post\fP\&.
|
||||
.sp
|
||||
When using this from a kickstart the image\-minimizer package needs to be available.
|
||||
It is not included on the standard boot.iso, so you will need to include \fIlorax\fP in
|
||||
the \fI%package\fP section. You can use \fIimage\-minimizer\fP to remove lorax from the install.
|
||||
.sp
|
||||
If you are using this with \fIlivemedia\-creator\fP it can be installed on the host
|
||||
system so that \fIlorax\fP isn\(aqt needed in the \fI%package\fP list, and it doesn\(aqt need
|
||||
to be removed.
|
||||
.SH COMMANDS
|
||||
.sp
|
||||
Commands are listed one per line, followed by a space, and then by the
|
||||
package, file, or glob. The globs used are Unix style pathname patterns using
|
||||
\fI*\fP, \fI?\fP, and \fI[]\fP character ranges. globbing is implemented using the python
|
||||
glob module.
|
||||
.INDENT 0.0
|
||||
.IP \(bu 2
|
||||
drop <PATTERN>
|
||||
This will remove files from the installation.
|
||||
.IP \(bu 2
|
||||
keep <PATTERN>
|
||||
This will keep files, and should follow any \fIdrop\fP commands including globs.
|
||||
.IP \(bu 2
|
||||
droprpm <PATTERN>
|
||||
Remove matching rpm packages. Dependencies are not remove, just individual
|
||||
packages matching the glob.
|
||||
.IP \(bu 2
|
||||
keeprpm <PATTERN>
|
||||
Do not remove matching rpm packages, it should follow any \fIdroprpm\fP commands
|
||||
that include globs.
|
||||
.UNINDENT
|
||||
.SH EXAMPLE
|
||||
.sp
|
||||
Example Anaconda \fI%post\fP usage:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
%post \-\-interpreter=image\-minimizer \-\-nochroot
|
||||
|
||||
drop /lib/modules/*/kernel/fs
|
||||
keep /lib/modules/*/kernel/fs/ext*
|
||||
keep /lib/modules/*/kernel/fs/mbcache*
|
||||
keep /lib/modules/*/kernel/fs/squashfs
|
||||
|
||||
droprpm make
|
||||
droprpm mtools
|
||||
droprpm mysql\-libs
|
||||
droprpm perl
|
||||
droprpm perl\-Pod\-*
|
||||
droprpm syslinux
|
||||
keeprpm perl\-Pod\-Simple
|
||||
|
||||
# Not needed after image\-minimizer is done
|
||||
droprpm lorax
|
||||
|
||||
%end
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
Weldr Team
|
||||
.SH COPYRIGHT
|
||||
2018, Red Hat, Inc.
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LIVEMEDIA-CREATOR" "1" "Dec 21, 2021" "36.5" "Lorax"
|
||||
.TH "LIVEMEDIA-CREATOR" "1" "Oct 11, 2021" "34.12" "Lorax"
|
||||
.SH NAME
|
||||
livemedia-creator \- Live Media Creator Documentation
|
||||
.INDENT 0.0
|
||||
@ -236,7 +236,7 @@ Default: "Linux"
|
||||
.B \-\-releasever
|
||||
substituted for @VERSION@ in bootloader config files
|
||||
.sp
|
||||
Default: "36"
|
||||
Default: "34"
|
||||
.TP
|
||||
.B \-\-volid
|
||||
volume id
|
||||
@ -553,6 +553,7 @@ dracut\-config\-generic
|
||||
dracut\-live
|
||||
\-dracut\-config\-rescue
|
||||
grub2\-efi
|
||||
memtest86+
|
||||
syslinux
|
||||
.UNINDENT
|
||||
.SS User created repositories
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LORAX" "1" "Dec 21, 2021" "36.5" "Lorax"
|
||||
.TH "LORAX" "1" "Oct 11, 2021" "34.12" "Lorax"
|
||||
.SH NAME
|
||||
lorax \- Lorax Documentation
|
||||
.INDENT 0.0
|
||||
@ -278,7 +278,7 @@ You can add your own repos with \fB\-s\fP and packages with higher NVRs will
|
||||
override the ones in the distribution repositories.
|
||||
.sp
|
||||
Under \fB\&./results/\fP will be the release tree files: .discinfo, .treeinfo, everything that
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under \fB\&./results/images/\fP\&.
|
||||
goes onto the boot.iso, the pxeboot directory, and the boot.iso under \fB\&./images/\fP\&.
|
||||
.SH BRANDING
|
||||
.sp
|
||||
By default lorax will search for the first package that provides \fBsystem\-release\fP
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "MKKSISO" "1" "Dec 21, 2021" "36.5" "Lorax"
|
||||
.TH "MKKSISO" "1" "Oct 11, 2021" "34.12" "Lorax"
|
||||
.SH NAME
|
||||
mkksiso \- Make Kickstart ISO Utility Documentation
|
||||
.INDENT 0.0
|
||||
@ -42,9 +42,7 @@ the iso is booted. If the original iso was created with EFI and Mac support the
|
||||
kickstart boot.iso will include this support as well.
|
||||
.sp
|
||||
\fBmkksiso\fP needs to be run as root, it depends on mounting the original iso
|
||||
and you need to be root to be able to do that. The host system architecture
|
||||
needs to match that of the iso. \fBmkksiso\fP will raise an error if it finds a
|
||||
\&.discinfo on the iso with a mismatched arch.
|
||||
and you need to be root to be able to do that.
|
||||
.SH MKKSISO CMDLINE ARGUMENTS
|
||||
.sp
|
||||
Add a kickstart and files to an iso
|
||||
|
@ -10,9 +10,7 @@ the iso is booted. If the original iso was created with EFI and Mac support the
|
||||
kickstart boot.iso will include this support as well.
|
||||
|
||||
``mkksiso`` needs to be run as root, it depends on mounting the original iso
|
||||
and you need to be root to be able to do that. The host system architecture
|
||||
needs to match that of the iso. ``mkksiso`` will raise an error if it finds a
|
||||
.discinfo on the iso with a mismatched arch.
|
||||
and you need to be root to be able to do that.
|
||||
|
||||
|
||||
mkksiso cmdline arguments
|
||||
|
211
lorax.spec
211
lorax.spec
@ -3,7 +3,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: lorax
|
||||
Version: 36.9
|
||||
Version: 34.14
|
||||
Release: 1%{?dist}
|
||||
Summary: Tool for creating the anaconda install images
|
||||
|
||||
@ -161,7 +161,6 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
|
||||
%{_mandir}/man1/lorax.1*
|
||||
%{_mandir}/man1/livemedia-creator.1*
|
||||
%{_mandir}/man1/mkksiso.1*
|
||||
%{_mandir}/man1/image-minimizer.1*
|
||||
%{_tmpfilesdir}/lorax.conf
|
||||
|
||||
%files docs
|
||||
@ -176,142 +175,34 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
|
||||
%{_datadir}/lorax/templates.d/*
|
||||
|
||||
%changelog
|
||||
* Mon Feb 28 2022 Brian C. Lane <bcl@redhat.com> 36.9-1
|
||||
- Don't move the restart-anaconda file (vponcova@redhat.com)
|
||||
|
||||
* Wed Feb 16 2022 Brian C. Lane <bcl@redhat.com> 36.8-1
|
||||
- runtime-cleanup: Remove ncurses package (bcl@redhat.com)
|
||||
|
||||
* Mon Feb 14 2022 Brian C. Lane <bcl@redhat.com> 36.7-1
|
||||
- postinstall: Restore reproducible build timestamps on /usr/share/fonts (bcl@redhat.com)
|
||||
- tests: Fix the image minimizer test dnf usage (bcl@redhat.com)
|
||||
- runtime-cleanup: drop kernel drivers/iio (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop gallium-pipe drivers from mesa-dri-drivers (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop yelp's local MathJax library copy (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop eapol_test from wpa_supplicant (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop /usr/bin/cyrusbdb2current (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop systemd-analyze (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop mtools and glibc-gconv-extra (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop guile22's ccache (awilliam@redhat.com)
|
||||
- runtime-cleanup: fix warnings from old or changed packages (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop Italic from google-noto-sans-vf-fonts (awilliam@redhat.com)
|
||||
- runtime-install: drop some unnecessary font packages (awilliam@redhat.com)
|
||||
|
||||
* Fri Feb 04 2022 Brian C. Lane <bcl@redhat.com> 36.6-1
|
||||
- mkksiso: Fix check for unsupported arch error (bcl@redhat.com)
|
||||
|
||||
* Thu Feb 03 2022 Brian C. Lane <bcl@redhat.com> 36.5-1
|
||||
- mkksiso: Improve debug message about unsupported arch (bcl@redhat.com)
|
||||
- mkksiso: Fix the order of the ppc mkisofs command (bcl@redhat.com)
|
||||
- mkksiso: mkfsiso argument order matters (bcl@redhat.com)
|
||||
- mkksiso: Add kickstart to s390x cdboot.prm (bcl@redhat.com)
|
||||
- cleanup: handle RPM database move to /usr (awilliam@redhat.com)
|
||||
- Install the variable font of the Cantarell font (akira@tagoh.org)
|
||||
- Update the template for f36 Change proposal:
|
||||
https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts (akira@tagoh.org)
|
||||
- Update Malayalam font to its new renamed package name rit-meera-new-fonts (pnemade@fedoraproject.org)
|
||||
- Enable sftp when using inst.sshd (bcl@redhat.com)
|
||||
- Add inst.rngd cmdline option (bcl@redhat.com)
|
||||
- docs: Update docs for image-minimizer (bcl@redhat.com)
|
||||
- tests: Add tests for image-minimizer (bcl@redhat.com)
|
||||
- image-minimizer: Check for missing root directory (bcl@redhat.com)
|
||||
- image-minimizer: Fix utf8 error and add docs (bcl@redhat.com)
|
||||
|
||||
* Tue Dec 14 2021 Brian C. Lane <bcl@redhat.com> 36.4-1
|
||||
* Tue Dec 14 2021 Brian C. Lane <bcl@redhat.com> 34.14-1
|
||||
- cleanup: remove binaries from lilv (awilliam@redhat.com)
|
||||
- runtime-cleanup: remove pipewire-related packages (awilliam@redhat.com)
|
||||
- New lorax documentation - 36.3 (bcl@redhat.com)
|
||||
|
||||
* Thu Dec 09 2021 Brian C. Lane <bcl@redhat.com> 36.3-1
|
||||
- mkksiso: Check the length of the filenames (bcl@redhat.com)
|
||||
- mkksiso: Check the iso's arch against the host's (bcl@redhat.com)
|
||||
- mkksiso: Add missing implantisomd5 tool requirements (bcl@redhat.com)
|
||||
- mkksiso: Raise error if no volume id is found (bcl@redhat.com)
|
||||
- mount: Add s390x support to IsoMountopoint (bcl@redhat.com)
|
||||
- mkksiso: Skip mkefiboot for non-UEFI isos (bcl@redhat.com)
|
||||
- mkksiso: Add -joliet-long (bcl@redhat.com)
|
||||
- mkksiso: Return 1 on errors (bcl@redhat.com)
|
||||
- Fix monitor problem with split UTF8 characters (bcl@redhat.com)
|
||||
|
||||
* Wed Nov 10 2021 Brian C. Lane <bcl@redhat.com> 36.2-1
|
||||
- Remove memtest86+ from example kickstarts (bcl@redhat.com)
|
||||
- fedora-livemedia: Update example kickstart (bcl@redhat.com)
|
||||
- mount: Switch to using pycdio instead of pycdlib (bcl@redhat.com)
|
||||
- Move default releasever into pylorax DEFAULT_RELEASEVER (bcl@redhat.com)
|
||||
- runtime-postinstall: Drop raidstart/stop stub code (bcl@redhat.com)
|
||||
- runtime-install: Fix grub2 epoch, it is 1 not 0 (bcl@redhat.com)
|
||||
- Update runtime-install/cleanup for Marvell Prestera fw split (awilliam@redhat.com)
|
||||
|
||||
* Thu Oct 28 2021 Brian C. Lane <bcl@redhat.com> 36.1-1
|
||||
* Mon Nov 08 2021 Brian C. Lane <bcl@redhat.com> 34.13-1
|
||||
- Use fedora:34 for Dockerfile.test (bcl@redhat.com)
|
||||
- dnfbase: Handle defaults better (bcl@redhat.com)
|
||||
- ltmpl: Add version compare support to installpkg (bcl@redhat.com)
|
||||
|
||||
* Mon Oct 11 2021 Brian C. Lane <bcl@redhat.com> 36.0-1
|
||||
- New lorax documentation - 36.0 (bcl@redhat.com)
|
||||
- docs: Remove logging command from examples (bcl@redhat.com)
|
||||
- runtime-install: exclude liquidio and netronome firmwares (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop Marvell Prestera firmware files (awilliam@redhat.com)
|
||||
- runtime-cleanup: drop some Qualcomm smartphone firmwares (awilliam@redhat.com)
|
||||
- Fix pylint warnings about string formatting (bcl@redhat.com)
|
||||
- tests: Ignore new pylint warnings (bcl@redhat.com)
|
||||
- Add fstrim to disk and filesystem image creation (bcl@redhat.com)
|
||||
|
||||
* Tue Sep 07 2021 Brian C. Lane <bcl@redhat.com> 35.7-1
|
||||
- templates: Remove memtest86+ (bcl@redhat.com)
|
||||
|
||||
* Thu Jul 08 2021 Brian C. Lane <bcl@redhat.com> 35.6-1
|
||||
- Install unicode.pf2 from new directory (bcl@redhat.com)
|
||||
- Makefile: Use sudo to fix ownership of docs (bcl@redhat.com)
|
||||
- Makefile: Make sure container is built before docs (bcl@redhat.com)
|
||||
- Makefile: Add local-srpm target to create a .src.rpm from HEAD (bcl@redhat.com)
|
||||
- mkksiso: cmdline should default to empty string (bcl@redhat.com)
|
||||
- runtime-install: Remove gfs2-utils (bcl@redhat.com)
|
||||
- mount.py: Fix docstring (jkucera@redhat.com)
|
||||
- fedora-livemedia: Add anaconda-install-img-deps (bcl@redhat.com)
|
||||
- New lorax documentation - 34.12 (bcl@redhat.com)
|
||||
|
||||
* Fri Jun 11 2021 Brian C. Lane <bcl@redhat.com> 35.5-1
|
||||
- pylorax: Fix mksparse ftruncate size handling (bcl@redhat.com)
|
||||
|
||||
* Thu Jun 10 2021 Brian C. Lane <bcl@redhat.com> 35.4-1
|
||||
- livemedia-creator: Check for mkfs.hfsplus (bcl@redhat.com)
|
||||
- Drop retired icfg (zbyszek@in.waw.pl)
|
||||
|
||||
* Tue May 25 2021 Brian C. Lane <bcl@redhat.com> 35.3-1
|
||||
* Tue Jun 01 2021 Brian C. Lane <bcl@redhat.com> 34.12-1
|
||||
- Add a context manager for dracut (bcl@redhat.com)
|
||||
Resolves: rhbz#1962975
|
||||
- Remove unneeded aajohan-comfortaa-fonts (bcl@redhat.com)
|
||||
|
||||
* Wed May 05 2021 Brian C. Lane <bcl@redhat.com> 35.2-1
|
||||
* Wed May 05 2021 Brian C. Lane <bcl@redhat.com> 34.11-1
|
||||
- runtime-cleanup: Use branding package name instead of product.name (bcl@redhat.com)
|
||||
- treebuilder: Add branding package to template variables (bcl@redhat.com)
|
||||
- livemedia-creator: Use inst.ks on cmdline for virt (bcl@redhat.com)
|
||||
- docs: Remove composer-cli.1 (bcl@redhat.com)
|
||||
|
||||
* Mon Apr 26 2021 Brian C. Lane <bcl@redhat.com> 35.1-1
|
||||
- New lorax documentation - 35.1 (bcl@redhat.com)
|
||||
- Makefile: Use podman as a user for testing and docs (bcl@redhat.com)
|
||||
- composer-cli: Remove all traces of composer-cli (bcl@redhat.com)
|
||||
- livemedia-creator: Add rhgb to live iso cmdline (#1943312) (bcl@redhat.com)
|
||||
- tests: Fix pocketlint use of removed pylint messages (bcl@redhat.com)
|
||||
- Disable X11 forwarding from installation environment. (vslavik@redhat.com)
|
||||
- Remove display-related packages (vslavik@redhat.com)
|
||||
- Drop trying to install reiserfs-utils (kevin@scrye.com)
|
||||
- test: Fix URL to bots testmap (martin@piware.de)
|
||||
- Change khmeros-base-fonts to khmer-os-system-fonts. (pnemade@fedoraproject.org)
|
||||
- Fix output path in docs (vslavik@redhat.com)
|
||||
- runtime-cleanup: don't wipe /usr/bin/report-cli (#1937550) (awilliam@redhat.com)
|
||||
- Change khmeros-base-fonts to khmer-os-system-fonts. This font got renamed last year. (pnemade@fedoraproject.org)
|
||||
- xorg-x11-font-utils is now four packages, remove all of them (peter.hutterer@who-t.net)
|
||||
- xorg-x11-server-utils was split up in Fedora 34, so adjust templates (kevin@scrye.com)
|
||||
* Wed Mar 03 2021 Brian C. Lane <bcl@redhat.com> 35.0-1
|
||||
- New lorax documentation - 35.0 (bcl@redhat.com)
|
||||
- Makefile: Add test-in-podman and docs-in-podman build targets (bcl@redhat.com)
|
||||
- isolinux.cfg: Rename the 'vesa' menu entry to 'basic' (bcl@redhat.com)
|
||||
- composer-cli: Add support for start-ostree --url URL (bcl@redhat.com)
|
||||
|
||||
* Wed Mar 03 2021 Brian C. Lane <bcl@redhat.com>
|
||||
- New lorax documentation - 35.0 (bcl@redhat.com)
|
||||
- Makefile: Add test-in-podman and docs-in-podman build targets (bcl@redhat.com)
|
||||
- isolinux.cfg: Rename the 'vesa' menu entry to 'basic' (bcl@redhat.com)
|
||||
- composer-cli: Add support for start-ostree --url URL (bcl@redhat.com)
|
||||
* Mon Apr 26 2021 Brian C. Lane <bcl@redhat.com> 34.10-1
|
||||
- New lorax documentation - 34.10 (bcl@redhat.com)
|
||||
- composer-cli: Remove all traces of composer-cli (bcl@redhat.com)
|
||||
- runtime-cleanup: don't wipe /usr/bin/report-cli (#1937550) (awilliam@redhat.com)
|
||||
|
||||
* Mon Feb 15 2021 Brian C. Lane <bcl@redhat.com> 34.9-1
|
||||
- Use inst.rescue to trigger rescue mode (awilliam@redhat.com)
|
||||
@ -376,3 +267,79 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
|
||||
- runtime-install: exclude gnome-firmware and sigrok-firmware (awilliam@redhat.com)
|
||||
- runtime-cleanup: Drop video playback acceleration drivers (awilliam@redhat.com)
|
||||
- runtime-install: don't install notification-daemon (awilliam@redhat.com)
|
||||
|
||||
* Tue Sep 08 2020 Brian C. Lane <bcl@redhat.com> 33.9-1
|
||||
- config_files: Update aarch64, ppc, and sparc timeouts to 60s (bcl@redhat.com)
|
||||
- templates: Ensure nano is installed for the runtime environment (ngompa13@gmail.com)
|
||||
- tests: Ignore W0707 raise-missing-from warnings (bcl@redhat.com)
|
||||
- Switch VMware testing env to improve stability results (chrobert@redhat.com)
|
||||
- tests: Allow skipping image build in compose sanity test (atodorov@redhat.com)
|
||||
|
||||
* Thu Jul 23 2020 Brian C. Lane <bcl@redhat.com> 33.8-1
|
||||
- composer-cli: Make start-ostree parent and ref optional (bcl@redhat.com)
|
||||
- composer-cli: Add a get_arg function (bcl@redhat.com)
|
||||
- Set BACKEND=osbuild-composer if running that test scenario (atodorov@redhat.com)
|
||||
- tests: Don't check info after compose cancel with osbuild-composer (atodorov@redhat.com)
|
||||
- tests: Compare blueprints as TOML objects, not strings (atodorov@redhat.com)
|
||||
- tests: Remove lorax-composer specific checks (atodorov@redhat.com)
|
||||
- tests: Remove compose after we're done (atodorov@redhat.com)
|
||||
- tests: don't use beakerlib in blueprint (lars@karlitski.net)
|
||||
- tests: don't depend on internal state of composer (lars@karlitski.net)
|
||||
- tests: Do not rely on example blueprints (atodorov@redhat.com)
|
||||
- tests: Special case compose types for osbuild-composer (atodorov@redhat.com)
|
||||
- tests: Don't check example blueprints if we don't have to (atodorov@redhat.com)
|
||||
- tests: Use BACKEND env variable instead of hard-coded values (atodorov@redhat.com)
|
||||
- tests: Disable non-cli test scenarios b/c osbuild-composer (atodorov@redhat.com)
|
||||
|
||||
* Mon Jul 20 2020 Brian C. Lane <bcl@redhat.com> 33.7-1
|
||||
- Add log entry about dracut and /proc (bcl@redhat.com)
|
||||
- Skip creating empty /proc/modules for dracut (bcl@redhat.com)
|
||||
- lorax: Install fcoe-utils (vponcova@redhat.com)
|
||||
- lorax: Enable swap on zram (vponcova@redhat.com)
|
||||
- Fix EFI booting for ISOs generated by `mkksiso` (michel@michel-slm.name)
|
||||
- tests: Disable cloud-init status check (atodorov@redhat.com)
|
||||
|
||||
* Thu Jun 18 2020 Brian C. Lane <bcl@redhat.com> 33.6-1
|
||||
- lorax.spec: Add psmisc for fuser debugging of failed umounts in pylorax.imgutils (bcl@redhat.com)
|
||||
- composer-cli: Disable retry counter on connection timeout (bcl@redhat.com)
|
||||
- composer-cli: Change timeout to 5 minutes (bcl@redhat.com)
|
||||
|
||||
* Thu Jun 11 2020 Brian C. Lane <bcl@redhat.com> 33.5-1
|
||||
- lorax-composer: Add deprecation notice to documentation (bcl@redhat.com)
|
||||
- composer-cli: Return a better error with no value (bcl@redhat.com)
|
||||
- tests: Add tests for composer-cli compose start JSON POST (bcl@redhat.com)
|
||||
- composer-cli: Update bash completion for start-ostree (bcl@redhat.com)
|
||||
- composer-cli: Add new start-ostree command (bcl@redhat.com)
|
||||
- composer-cli: Add support for --size to compose start (bcl@redhat.com)
|
||||
- include generic.ins for s390 boot iso (dan@danny.cz)
|
||||
- test: Put VM image overlay into /var/tmp (martin@piware.de)
|
||||
|
||||
* Mon Jun 01 2020 Brian C. Lane <bcl@redhat.com> 33.4-1
|
||||
- Revert "lorax: Remove vmlinuz from install.img /boot" (bcl@redhat.com)
|
||||
- composer-cli: Add osbuild-composer to connection failure message (bcl@redhat.com)
|
||||
- composer-cli: Update docs to mention osbuild-composer and debug options (bcl@redhat.com)
|
||||
- lorax-composer: Check compose/status for invalid characters (bcl@redhat.com)
|
||||
- lorax-composer: deleting an unknown workspace should return an error (bcl@redhat.com)
|
||||
- lorax-composer: Check for valid characters in the undo commit (bcl@redhat.com)
|
||||
- drop 32-bit support from ppc live image grub.cfg (dan@danny.cz)
|
||||
- mksquashfs: Catch errors with mksquashfs and report them (bcl@redhat.com)
|
||||
|
||||
* Tue May 05 2020 Brian C. Lane <bcl@redhat.com> 33.3-1
|
||||
- Don't use f-string without interpolation (atodorov@redhat.com)
|
||||
- lmc-no-virt: Add requirement on anaconda-install-env-deps (bcl@redhat.com)
|
||||
- rsyslog: Disable journal ratelimits during install (bcl@redhat.com)
|
||||
|
||||
* Tue Apr 28 2020 Brian C. Lane <bcl@redhat.com> 33.2-1
|
||||
- New lorax documentation - 33.2 (bcl@redhat.com)
|
||||
- test: Work around invalid fedora baseurls (marusak.matej@gmail.com)
|
||||
- lorax: Add --skip-branding cmdline argument (bcl@redhat.com)
|
||||
- Update datastore for VMware testing (chrobert@redhat.com)
|
||||
|
||||
* Mon Mar 30 2020 Brian C. Lane <bcl@redhat.com> 33.1-1
|
||||
- lorax: Remove vmlinuz from install.img /boot (bcl@redhat.com)
|
||||
|
||||
* Fri Mar 20 2020 Brian C. Lane <bcl@redhat.com> 33.0-1
|
||||
- tests: Add tests for _install_branding with and without variant (bcl@redhat.com)
|
||||
- lorax: Update how the release package is chosen (bcl@redhat.com)
|
||||
- ltmpl: Fix package logging format (bcl@redhat.com)
|
||||
Resolves: rhbz#1815000
|
||||
|
@ -1 +1 @@
|
||||
36.9-1 ./
|
||||
34.14-1 ./
|
||||
|
@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Hardware RNG Entropy Gatherer Daemon
|
||||
ConditionVirtualization=!container
|
||||
ConditionKernelCommandLine=|inst.rngd
|
||||
ConditionKernelCommandLine=!inst.rngd=0
|
||||
|
||||
# The "-f" option is required for the systemd service rngd to work with Type=simple
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/sysconfig/rngd
|
||||
ExecStart=/usr/sbin/rngd -f $RNGD_ARGS
|
@ -1,7 +1,8 @@
|
||||
PermitRootLogin yes
|
||||
X11Forwarding yes
|
||||
X11DisplayOffset 10
|
||||
PrintMotd yes
|
||||
SyslogFacility AUTHPRIV
|
||||
PasswordAuthentication yes
|
||||
PermitEmptyPasswords yes
|
||||
PermitUserEnvironment yes
|
||||
Subsystem sftp internal-sftp
|
||||
|
@ -73,11 +73,11 @@ menu separator # insert an empty line
|
||||
|
||||
# utilities submenu
|
||||
menu begin ^Troubleshooting
|
||||
menu title Troubleshooting @PRODUCT@ @VERSION@
|
||||
menu title Troubleshooting
|
||||
|
||||
label basic
|
||||
label vesa
|
||||
menu indent count 5
|
||||
menu label Install using ^basic graphics mode
|
||||
menu label Install @PRODUCT@ @VERSION@ in ^basic graphics mode
|
||||
text help
|
||||
Try this option out if you're having trouble installing
|
||||
@PRODUCT@ @VERSION@.
|
||||
@ -95,6 +95,15 @@ label rescue
|
||||
kernel vmlinuz
|
||||
append initrd=initrd.img @ROOT@ inst.rescue quiet
|
||||
|
||||
label memtest
|
||||
menu label Run a ^memory test
|
||||
text help
|
||||
If your system is having issues, a problem with your
|
||||
system's memory may be the cause. Use this utility to
|
||||
see if the memory is working correctly.
|
||||
endtext
|
||||
kernel memtest
|
||||
|
||||
menu separator # insert an empty line
|
||||
|
||||
label local
|
||||
|
@ -27,7 +27,7 @@ search --no-floppy --set=root -l '@ISOLABEL@'
|
||||
|
||||
### BEGIN /etc/grub.d/10_linux ###
|
||||
menuentry 'Start @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
|
||||
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet rhgb
|
||||
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
|
||||
initrd @INITRDPATH@
|
||||
}
|
||||
menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
|
||||
@ -36,7 +36,7 @@ menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class red --class gnu-
|
||||
}
|
||||
submenu 'Troubleshooting -->' {
|
||||
menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class red --class gnu-linux --class gnu --class os {
|
||||
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image nomodeset quiet rhgb
|
||||
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image nomodeset quiet
|
||||
initrd @INITRDPATH@
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ set timeout=5
|
||||
echo -e "\nWelcome to the @PRODUCT@ @VERSION@ installer!\n\n"
|
||||
|
||||
menuentry "Start @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
|
||||
linux /ppc/ppc64/vmlinuz @ROOT@ @EXTRA@ ro rd.live.image quiet rhgb
|
||||
linux /ppc/ppc64/vmlinuz @ROOT@ @EXTRA@ ro rd.live.image quiet
|
||||
initrd /ppc/ppc64/initrd.img
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@ timeout 60
|
||||
hiddenmenu
|
||||
title Start @PRODUCT@ @VERSION@
|
||||
findiso
|
||||
kernel @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet rhgb
|
||||
kernel @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
|
||||
initrd @INITRDPATH@
|
||||
title Test this media & start @PRODUCT@ @VERSION@
|
||||
findiso
|
||||
|
@ -21,7 +21,7 @@ search --no-floppy --set=root -l '@ISOLABEL@'
|
||||
|
||||
### BEGIN /etc/grub.d/10_linux ###
|
||||
menuentry 'Start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
|
||||
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet rhgb
|
||||
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
|
||||
initrdefi @INITRDPATH@
|
||||
}
|
||||
menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
|
||||
@ -30,7 +30,7 @@ menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class fedora --class g
|
||||
}
|
||||
submenu 'Troubleshooting -->' {
|
||||
menuentry 'Start @PRODUCT@ @VERSION@ in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os {
|
||||
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image nomodeset quiet rhgb
|
||||
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image nomodeset quiet
|
||||
initrdefi @INITRDPATH@
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ menu separator # insert an empty line
|
||||
label linux
|
||||
menu label ^Start @PRODUCT@ @VERSION@
|
||||
kernel vmlinuz
|
||||
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image quiet rhgb
|
||||
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image quiet
|
||||
|
||||
label check
|
||||
menu label Test this ^media & start @PRODUCT@ @VERSION@
|
||||
@ -73,17 +73,26 @@ menu separator # insert an empty line
|
||||
|
||||
# utilities submenu
|
||||
menu begin ^Troubleshooting
|
||||
menu title Troubleshooting @PRODUCT@ @VERSION@
|
||||
menu title Troubleshooting
|
||||
|
||||
label basic
|
||||
label vesa
|
||||
menu indent count 5
|
||||
menu label Start using ^basic graphics mode
|
||||
menu label Start @PRODUCT@ @VERSION@ in ^basic graphics mode
|
||||
text help
|
||||
Try this option out if you're having trouble starting
|
||||
@PRODUCT@ @VERSION@.
|
||||
endtext
|
||||
kernel vmlinuz
|
||||
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image nomodeset quiet rhgb
|
||||
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image nomodeset quiet
|
||||
|
||||
label memtest
|
||||
menu label Run a ^memory test
|
||||
text help
|
||||
If your system is having issues, a problem with your
|
||||
system's memory may be the cause. Use this utility to
|
||||
see if the memory is working correctly.
|
||||
endtext
|
||||
kernel memtest
|
||||
|
||||
menu separator # insert an empty line
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
installpkg shim-ia32 grub2-efi-ia32-cdboot
|
||||
%endif
|
||||
%if basearch in ("i386", "x86_64"):
|
||||
installpkg biosdevname syslinux
|
||||
installpkg biosdevname memtest86+ syslinux
|
||||
installpkg grub2-tools grub2-tools-minimal grub2-tools-extra
|
||||
%endif
|
||||
%if basearch == "ppc64le":
|
||||
|
@ -40,6 +40,7 @@ install ${configdir}/isolinux.cfg ${BOOTDIR}
|
||||
install ${configdir}/boot.msg ${BOOTDIR}
|
||||
install ${configdir}/grub.conf ${BOOTDIR}
|
||||
install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
|
||||
install boot/memtest* ${BOOTDIR}/memtest
|
||||
|
||||
## configure bootloader
|
||||
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
|
||||
|
@ -11,6 +11,8 @@ remove usr/share/i18n
|
||||
|
||||
## no sound support, thanks
|
||||
removepkg flac-libs libsndfile pipewire pulseaudio* rtkit sound-theme-freedesktop wireplumber*
|
||||
## lv2appy requires removed libsndfile, we don't need the rest either
|
||||
removefrom lilv /usr/bin/*
|
||||
## we don't create new initramfs/bootloader conf inside anaconda
|
||||
## (that happens inside the target system after we install dracut/grubby)
|
||||
removepkg dracut-network grubby anaconda-dracut
|
||||
@ -27,6 +29,8 @@ removepkg selinux-policy libselinux-utils
|
||||
## The removepkg above removes it, create an empty one. See rhbz#1243168
|
||||
append etc/selinux/config ""
|
||||
|
||||
removepkg fedora-release-rawhide
|
||||
|
||||
## keep enough of shadow-utils to create accounts
|
||||
removefrom shadow-utils --allbut /usr/bin/chage /usr/sbin/chpasswd \
|
||||
/usr/sbin/groupadd /usr/sbin/useradd
|
||||
@ -35,32 +39,29 @@ removefrom shadow-utils --allbut /usr/bin/chage /usr/sbin/chpasswd \
|
||||
removefrom initscripts /usr/sbin/* /usr/share/locale/* /usr/share/doc/* /usr/share/man/*
|
||||
|
||||
## no storage device monitoring
|
||||
removepkg device-mapper-event
|
||||
removepkg device-mapper-event dmraid-events sgpio
|
||||
## logrotate isn't useful in anaconda
|
||||
removepkg logrotate
|
||||
remove /etc/logrotate.d
|
||||
## anaconda needs this to do media check
|
||||
removefrom isomd5sum --allbut /usr/bin/checkisomd5
|
||||
|
||||
## there's no need for a bunch of zsh files without zsh,
|
||||
## systemd-analyze is quite large and not essential
|
||||
removefrom systemd /usr/bin/systemd-analyze /usr/share/zsh/site-functions/*
|
||||
|
||||
## we only need syslinux to make the installer image bootable, we don't
|
||||
## run anything from it that uses mtools, and that's the only thing
|
||||
## that pulls in glibc-gconv-extra
|
||||
removepkg mtools glibc-gconv-extra
|
||||
## systemd-nspawn isn't very useful and doesn't link anyway without iptables,
|
||||
## and there's no need for a bunch of zsh files without zsh
|
||||
removefrom systemd /usr/share/zsh/site-functions/*
|
||||
|
||||
## various other things we remove to save space
|
||||
removepkg diffutils file
|
||||
removepkg jasper-libs
|
||||
removepkg libasyncns
|
||||
removepkg libtiff
|
||||
removepkg lvm2-libs
|
||||
removepkg libmcpp libtiff
|
||||
removepkg lvm2-libs mcpp
|
||||
removepkg mobile-broadband-provider-info
|
||||
removepkg rmt rpcbind squashfs-tools
|
||||
removepkg pkgconf pkgconf-m4 pkgconf-pkg-config ppp pth
|
||||
removepkg rmt rpcbind squashfs-tools system-config-firewall-base
|
||||
removepkg tigervnc-license xml-common
|
||||
removepkg mkfontscale fonttosfnt
|
||||
removepkg xorg-x11-font-utils bdftopcf mkfontscale fonttosfnt
|
||||
removepkg xorg-x11-server-common
|
||||
# do not remove this, required for ppc64le and s390x !!!
|
||||
removepkg ncurses
|
||||
|
||||
## other removals
|
||||
@ -73,7 +74,7 @@ remove /usr/share/mime/multipart /usr/share/mime/packages /usr/share/mime/text
|
||||
remove /usr/share/mime/video /usr/share/mime/x-content /usr/share/mime/x-epoc
|
||||
remove /var/db /var/games /var/tmp /var/yp /var/nis /var/opt /var/local
|
||||
remove /var/mail /var/spool /var/preserve /var/report
|
||||
remove /usr/lib/sysimage/rpm/* /var/lib/rpm/* /var/lib/yum /var/lib/dnf
|
||||
remove /var/lib/rpm/* /var/lib/yum /var/lib/dnf
|
||||
## clean up the files created by various '> /dev/null's
|
||||
remove /dev/*
|
||||
|
||||
@ -81,7 +82,7 @@ remove /dev/*
|
||||
remove /usr/share/icons/*/icon-theme.cache
|
||||
|
||||
## clean up kernel modules
|
||||
removekmod sound drivers/media drivers/hwmon drivers/iio \
|
||||
removekmod sound drivers/media drivers/hwmon \
|
||||
net/atm net/bluetooth net/sched net/sctp \
|
||||
net/rds net/l2tp net/decnet net/netfilter net/ipv4 net/ipv6 \
|
||||
drivers/watchdog drivers/rtc drivers/input/joystick \
|
||||
@ -103,8 +104,11 @@ remove lib/modules/*/{build,source,*.map}
|
||||
## NOTE: depmod gets re-run after cleanup finishes
|
||||
|
||||
## remove unused themes, theme engines, icons, etc.
|
||||
removefrom gtk2 /usr/${libdir}/gtk-2.0/*/{engines,printbackends}/*
|
||||
removefrom gtk2 /usr/share/themes/*
|
||||
removefrom gtk3 /usr/${libdir}/gtk-3.0/*/printbackends/*
|
||||
removefrom gtk3 /usr/share/themes/*
|
||||
removefrom metacity --allbut /usr/bin/* /usr/${libdir}/*
|
||||
|
||||
## filesystem tools
|
||||
removefrom e2fsprogs /usr/share/locale/*
|
||||
@ -116,14 +120,15 @@ removefrom gsettings-desktop-schemas /usr/share/locale/*
|
||||
removefrom NetworkManager-libnm /usr/share/locale/*/NetworkManager.mo
|
||||
removefrom nm-connection-editor /usr/share/applications/*
|
||||
removefrom atk /usr/share/locale/*
|
||||
removefrom audit /etc/* /usr/sbin/auditctl /usr/sbin/aureport
|
||||
removefrom audit /usr/sbin/ausearch /usr/sbin/autrace /usr/bin/*
|
||||
removefrom audit-libs /etc/* /usr/${libdir}/libauparse*
|
||||
removefrom audit /etc/* /sbin/auditctl /sbin/aureport
|
||||
removefrom audit /sbin/ausearch /sbin/autrace /usr/bin/*
|
||||
removefrom audit-libs /etc/* /${libdir}/libauparse*
|
||||
removefrom bash /etc/* /usr/bin/bashbug* /usr/share/*
|
||||
removefrom bind-utils /usr/bin/host /usr/bin/nsupdate
|
||||
removefrom bitmap-fangsongti-fonts /usr/share/fonts/*
|
||||
removefrom ca-certificates /etc/pki/java/*
|
||||
removefrom ca-certificates /etc/pki/tls/certs/ca-bundle.trust.crt
|
||||
removefrom cairo /usr/${libdir}/libcairo-script* /usr/bin/cairo-sphinx
|
||||
removefrom coreutils /usr/bin/link /usr/bin/nice /usr/bin/stty /usr/bin/unlink
|
||||
removefrom coreutils /usr/bin/[ /usr/bin/base64 /usr/bin/chcon
|
||||
removefrom coreutils /usr/bin/cksum /usr/bin/csplit
|
||||
@ -147,8 +152,10 @@ removefrom cracklib /usr/sbin/*
|
||||
removefrom cracklib-dicts /usr/${libdir}/* /usr/sbin/*
|
||||
removefrom cryptsetup /usr/share/*
|
||||
removefrom cryptsetup-libs /usr/share/locale/*
|
||||
removefrom cyrus-sasl-lib /usr/sbin/* /usr/bin/*
|
||||
removefrom cyrus-sasl-lib /usr/sbin/*
|
||||
removefrom dbus-x11 /etc/X11/*
|
||||
removefrom dejavu-sans-fonts --allbut *.conf */DejaVuSans{,-Bold}.ttf
|
||||
removefrom dejavu-sans-mono-fonts --allbut *.conf */DejaVuSansMono.ttf
|
||||
removefrom dnf /usr/share/locale/*
|
||||
removefrom dump /etc/*
|
||||
removefrom elfutils-libelf /usr/share/locale/*
|
||||
@ -165,14 +172,15 @@ removefrom gdb /usr/share/* /usr/include/*
|
||||
removefrom gdb-headless /usr/share/* /etc/gdbinit*
|
||||
removefrom gdisk /usr/share/*
|
||||
removefrom gdk-pixbuf2 /usr/share/locale*
|
||||
removefrom gfs2-utils /usr/sbin/*
|
||||
removefrom glib2 /usr/bin/* /usr/share/locale/*
|
||||
removefrom glibc /etc/gai.conf /etc/rpc
|
||||
removefrom glibc /${libdir}/libBrokenLocale*
|
||||
removefrom glibc /${libdir}/libanl*
|
||||
removefrom glibc /${libdir}/libSegFault* /${libdir}/libanl*
|
||||
removefrom glibc /${libdir}/libnss_compat*
|
||||
# python-pyudev uses ctypes.util.find_library, which uses /sbin/ldconfig
|
||||
removefrom glibc /usr/libexec/* /usr/sbin/*
|
||||
removefrom glibc-common /usr/bin/gencat
|
||||
removefrom glibc-common /usr/bin/catchsegv /usr/bin/gencat
|
||||
removefrom glibc-common /usr/bin/getent
|
||||
removefrom glibc-common /usr/bin/locale /usr/bin/sprof
|
||||
# NB: we keep /usr/bin/localedef so anaconda can inspect payload locale info
|
||||
@ -180,14 +188,14 @@ removefrom glibc-common /usr/bin/tzselect
|
||||
removefrom glibc-common /usr/sbin/*
|
||||
removefrom gnutls /usr/share/locale/*
|
||||
removefrom google-noto-sans-cjk-ttc-fonts /usr/share/fonts/google-noto-cjk/NotoSansCJK-{Black,Bold,*Light,Medium,Thin}.ttc
|
||||
removefrom google-noto-sans-vf-fonts /usr/share/fonts/google-noto-vf/NotoSans-Italic-VF.ttf
|
||||
removefrom grep /etc/* /usr/share/locale/*
|
||||
removefrom gtk2 /usr/bin/update-gtk-immodules
|
||||
removefrom gtk3 /usr/${libdir}/gtk-3.0/*
|
||||
removefrom guile22 /usr/${libdir}/guile/2.2/ccache*
|
||||
removefrom gzip /usr/bin/{gzexe,zcmp,zdiff,zegrep,zfgrep,zforce,zgrep,zless,zmore,znew}
|
||||
removefrom hwdata /usr/share/hwdata/oui.txt /usr/share/hwdata/pnp.ids
|
||||
removefrom iproute --allbut /usr/sbin/{ip,routef,routel,rtpr}
|
||||
removefrom kbd --allbut */bin/{dumpkeys,kbd_mode,loadkeys,setfont,unicode_*,chvt}
|
||||
removefrom kmod /usr/sbin/weak-modules
|
||||
removefrom less /etc/*
|
||||
removefrom libX11-common /usr/share/X11/XErrorDB
|
||||
removefrom libcanberra /usr/${libdir}/libcanberra-*
|
||||
@ -206,7 +214,7 @@ removefrom linux-firmware /usr/lib/firmware/dvb*
|
||||
removefrom linux-firmware /usr/lib/firmware/*_12mhz*
|
||||
removefrom linux-firmware /usr/lib/firmware/v4l*
|
||||
removefrom linux-firmware /usr/lib/firmware/brcm/BCM-*
|
||||
removefrom linux-firmware /usr/lib/firmware/ttusb-budget/dspbootcode.bin*
|
||||
removefrom linux-firmware /usr/lib/firmware/ttusb-budget/dspbootcode.bin
|
||||
removefrom linux-firmware /usr/lib/firmware/emi26/*
|
||||
removefrom linux-firmware /usr/lib/firmware/emi62/*
|
||||
removefrom linux-firmware /usr/lib/firmware/cpia2/*
|
||||
@ -215,19 +223,17 @@ removefrom linux-firmware /usr/lib/firmware/vicam/*
|
||||
removefrom linux-firmware /usr/lib/firmware/dsp56k/*
|
||||
removefrom linux-firmware /usr/lib/firmware/sun/*
|
||||
removefrom linux-firmware /usr/lib/firmware/av7110/*
|
||||
removefrom linux-firmware /usr/lib/firmware/usbdux*
|
||||
removefrom linux-firmware /usr/lib/firmware/f2255usb.bin*
|
||||
removefrom linux-firmware /usr/lib/firmware/lgs8g75.fw*
|
||||
removefrom linux-firmware /usr/lib/firmware/usbdux/*
|
||||
removefrom linux-firmware /usr/lib/firmware/f2255usb.bin
|
||||
removefrom linux-firmware /usr/lib/firmware/lgs8g75.fw
|
||||
removefrom linux-firmware /usr/lib/firmware/TDA7706*
|
||||
removefrom linux-firmware /usr/lib/firmware/tlg2300_firmware.bin*
|
||||
removefrom linux-firmware /usr/lib/firmware/tlg2300_firmware.bin
|
||||
removefrom linux-firmware /usr/lib/firmware/s5p-mfc*
|
||||
removefrom linux-firmware /usr/lib/firmware/go7007/*
|
||||
removefrom linux-firmware /usr/lib/firmware/intel/IntcSST2.bin*
|
||||
removefrom linux-firmware /usr/lib/firmware/intel/IntcSST2.bin
|
||||
removefrom linux-firmware /usr/lib/firmware/intel/fw_sst*
|
||||
removefrom linux-firmware /usr/lib/firmware/intel/dsp*
|
||||
removefrom linux-firmware /usr/lib/firmware/as102*
|
||||
removefrom linux-firmware /usr/lib/firmware/qcom/sdm845/*
|
||||
removefrom linux-firmware /usr/lib/firmware/qcom/sm8250/*
|
||||
removefrom linux-firmware /usr/lib/firmware/qcom/venus*/*
|
||||
removefrom linux-firmware /usr/lib/firmware/meson/vdec/*
|
||||
removefrom linux-firmware /usr/lib/firmware/mellanox/mlxsw_spectrum*
|
||||
@ -236,8 +242,7 @@ removefrom linux-firmware /usr/lib/firmware/mellanox/mlxsw_spectrum*
|
||||
%endif
|
||||
removefrom lldpad /etc/*
|
||||
removefrom mdadm /etc/* /usr/lib/systemd/system/mdmonitor*
|
||||
## gallium-pipe stuff is for compute (opencl), not needed for video
|
||||
removefrom mesa-dri-drivers /usr/${libdir}/dri/*_video.so /usr/lib64/gallium-pipe/*
|
||||
removefrom mesa-dri-drivers /usr/${libdir}/dri/*_video.so
|
||||
removefrom mt-st /usr/sbin/*
|
||||
removefrom mtools /etc/*
|
||||
removefrom ncurses-libs /usr/${libdir}/libform*
|
||||
@ -266,6 +271,7 @@ removefrom openssh /usr/libexec/*
|
||||
removefrom openssh-clients /etc/ssh/* /usr/bin/ssh-*
|
||||
removefrom openssh-clients /usr/libexec/*
|
||||
removefrom openssh-server /etc/ssh/* /usr/libexec/openssh/sftp-server
|
||||
removefrom openssl /usr/bin/*
|
||||
removefrom pam /usr/sbin/* /usr/share/locale/*
|
||||
removefrom policycoreutils /etc/* /usr/bin/* /usr/share/locale/*
|
||||
removefrom polkit /usr/bin/*
|
||||
@ -288,25 +294,23 @@ removefrom smartmontools /usr/share/smartmontools/*
|
||||
removefrom tar /usr/share/locale/*
|
||||
removefrom usbutils /usr/bin/*
|
||||
removefrom util-linux --allbut \
|
||||
/usr/bin/{chmem,eject,getopt,hexdump,login,lscpu,lsmem,lsblk} \
|
||||
/etc/pam.d/login /etc/pam.d/remote \
|
||||
/usr/sbin/{clock,fdisk,fsfreeze,fstrim,hwclock,nologin,sfdisk,swaplabel,wipefs,zramctl}
|
||||
removefrom util-linux-core --allbut \
|
||||
/usr/bin/{dmesg,findmnt,flock,kill,logger,more,mount,mountpoint,umount} \
|
||||
/etc/mtab \
|
||||
/usr/sbin/{agetty,blkid,blockdev,fsck,losetup,mkswap,partx,swapoff,swapon}
|
||||
/usr/bin/{dmesg,eject,getopt,kill,login,lsblk,more,mount,umount,mountpoint,findmnt} \
|
||||
/etc/mtab /etc/pam.d/login /etc/pam.d/remote \
|
||||
/usr/sbin/{agetty,blkid,blockdev,clock,fdisk,fsck,fstrim,hwclock,losetup,zramctl} \
|
||||
/usr/sbin/{mkswap,swaplabel,nologin,sfdisk,swapoff,swapon,wipefs,partx,fsfreeze} \
|
||||
/usr/bin/{logger,hexdump,flock,chmem,lsmem,lscpu}
|
||||
removefrom volume_key-libs /usr/share/locale/*
|
||||
removefrom wget /etc/* /usr/share/locale/*
|
||||
removefrom wpa_supplicant /usr/sbin/eapol_test
|
||||
removefrom xorg-x11-drv-intel /usr/${libdir}/libI*
|
||||
removefrom xorg-x11-drv-openchrome /usr/${libdir}/libchrome*
|
||||
removefrom xorg-x11-drv-wacom /usr/bin/*
|
||||
removefrom yelp /usr/share/yelp/mathjax*
|
||||
removefrom xorg-x11-fonts-misc --allbut /usr/share/X11/fonts/misc/{6x13,encodings,fonts,*cursor}*
|
||||
|
||||
%if branding.release:
|
||||
removefrom ${branding.logos} /usr/share/plymouth/*
|
||||
removefrom ${branding.logos} /etc/*
|
||||
removefrom ${branding.logos} /usr/share/icons/{Bluecurve,oxygen}/*
|
||||
removefrom ${branding.logos} /usr/share/{kde4,pixmaps}/*
|
||||
removefrom ${branding.logos} /usr/share/{firstboot,kde4,pixmaps}/*
|
||||
%endif
|
||||
|
||||
## cleanup /boot/ leaving vmlinuz, and .*hmac files
|
||||
|
@ -2,7 +2,7 @@
|
||||
<%page args="basearch, product"/>
|
||||
<%
|
||||
# This version of grub2 moves the font directory and is needed to keep the efi template from failing.
|
||||
GRUB2VER="1:2.06-3"
|
||||
GRUB2VER="1:2.06-7"
|
||||
%>
|
||||
|
||||
## anaconda package
|
||||
@ -21,17 +21,12 @@ installpkg grubby
|
||||
%if basearch != "s390x":
|
||||
## skip the firmware for sound, video, and scanners, none of which will
|
||||
## do much good for the installer. Also skip uhd-firmware which is not
|
||||
## even a kernel firmware package. liquidio and netronome firmwares are
|
||||
## for enterprise switch devices, netinst deployment does not work on
|
||||
## these so there is no point shipping them - see
|
||||
## https://bugzilla.redhat.com/show_bug.cgi?id=2011615
|
||||
## even a kernel firmware package.
|
||||
installpkg --optional *-firmware --except alsa* --except midisport-firmware \
|
||||
--except crystalhd-firmware --except ivtv-firmware \
|
||||
--except cx18-firmware --except iscan-firmware \
|
||||
--except uhd-firmware --except lulzbot-marlin-firmware \
|
||||
--except gnome-firmware --except sigrok-firmware \
|
||||
--except liquidio-firmware --except netronome-firmware \
|
||||
--except mrvlprestera-firmware
|
||||
--except gnome-firmware --except sigrok-firmware
|
||||
installpkg b43-openfwwf
|
||||
%endif
|
||||
|
||||
@ -64,7 +59,7 @@ installpkg glibc-all-langpacks
|
||||
installpkg grub2-efi-ia32-cdboot>=${GRUB2VER}
|
||||
%endif
|
||||
%if basearch in ("i386", "x86_64"):
|
||||
installpkg biosdevname syslinux
|
||||
installpkg biosdevname memtest86+ syslinux
|
||||
installpkg grub2-tools>=${GRUB2VER} grub2-tools-minimal>=${GRUB2VER}
|
||||
installpkg grub2-tools-extra>=${GRUB2VER}
|
||||
%endif
|
||||
@ -101,8 +96,15 @@ installpkg tar xz curl bzip2
|
||||
installpkg systemd-sysv systemd-units
|
||||
installpkg rsyslog
|
||||
|
||||
## xorg/GUI packages
|
||||
installpkg xorg-x11-drivers xorg-x11-server-Xorg
|
||||
installpkg xrandr xrdb xorg-x11-xauth
|
||||
installpkg dbus-x11 metacity gsettings-desktop-schemas
|
||||
installpkg nm-connection-editor
|
||||
installpkg librsvg2
|
||||
|
||||
## filesystem tools
|
||||
installpkg btrfs-progs jfsutils xfsprogs ntfs-3g ntfsprogs
|
||||
installpkg btrfs-progs jfsutils xfsprogs reiserfs-utils gfs2-utils ntfs-3g ntfsprogs
|
||||
installpkg system-storage-manager
|
||||
installpkg device-mapper-persistent-data
|
||||
installpkg xfsdump
|
||||
@ -151,13 +153,12 @@ installpkg dmidecode
|
||||
|
||||
|
||||
## fonts & themes
|
||||
installpkg abattis-cantarell-vf-fonts
|
||||
installpkg aajohan-comfortaa-fonts
|
||||
installpkg abattis-cantarell-fonts
|
||||
installpkg bitmap-fangsongti-fonts
|
||||
installpkg google-noto-sans-vf-fonts google-noto-sans-mono-vf-fonts
|
||||
installpkg google-noto-sans-arabic-vf-fonts
|
||||
installpkg dejavu-sans-fonts dejavu-sans-mono-fonts
|
||||
installpkg google-noto-sans-cjk-ttc-fonts
|
||||
installpkg google-noto-sans-ethiopic-vf-fonts google-noto-sans-georgian-vf-fonts
|
||||
installpkg google-noto-sans-gurmukhi-vf-fonts google-noto-sans-hebrew-vf-fonts
|
||||
installpkg google-noto-sans-gurmukhi-fonts
|
||||
installpkg google-noto-sans-sinhala-vf-fonts
|
||||
installpkg jomolhari-fonts
|
||||
installpkg khmer-os-system-fonts
|
||||
@ -171,9 +172,12 @@ installpkg lohit-odia-fonts
|
||||
installpkg lohit-tamil-fonts
|
||||
installpkg lohit-telugu-fonts
|
||||
installpkg paktype-naskh-basic-fonts
|
||||
installpkg sil-abyssinica-fonts
|
||||
installpkg sil-padauk-fonts
|
||||
installpkg rit-meera-new-fonts
|
||||
installpkg sil-scheherazade-fonts
|
||||
installpkg smc-meera-fonts
|
||||
installpkg thai-scalable-waree-fonts
|
||||
installpkg xorg-x11-fonts-misc
|
||||
|
||||
## debugging/bug reporting tools
|
||||
installpkg gdb-gdbserver
|
||||
@ -185,7 +189,7 @@ installpkg python3-pyatspi
|
||||
installpkg nano nano-default-editor
|
||||
installpkg vim-minimal strace lsof dump xz less
|
||||
installpkg wget rsync bind-utils ftp mtr vconfig
|
||||
installpkg spice-vdagent
|
||||
installpkg icfg spice-vdagent
|
||||
installpkg gdisk hexedit sg3_utils
|
||||
|
||||
## actually install all the requested packages
|
||||
|
@ -3,13 +3,17 @@
|
||||
|
||||
<%page args="root, basearch, libdir, configdir"/>
|
||||
<%
|
||||
stubs = ("list-harddrives", "raidstart", "raidstop")
|
||||
configdir = configdir + "/common"
|
||||
import os, time
|
||||
SOURCE_DATE_EPOCH = os.environ.get('SOURCE_DATE_EPOCH', str(int(time.time())))
|
||||
%>
|
||||
|
||||
## move_stubs()
|
||||
move usr/share/anaconda/list-harddrives-stub usr/bin/list-harddrives
|
||||
move usr/share/anaconda/restart-anaconda usr/bin
|
||||
%for stub in stubs:
|
||||
-move usr/share/anaconda/${stub}-stub usr/bin/${stub}
|
||||
%endfor
|
||||
|
||||
## move_repos()
|
||||
move etc/yum.repos.d etc/anaconda.repos.d
|
||||
@ -26,6 +30,10 @@ symlink /lib/systemd/system/anaconda.target etc/systemd/system/default.target
|
||||
mkdir etc/systemd/system/local-fs.target.wants/
|
||||
symlink /lib/systemd/system/tmp.mount etc/systemd/system/local-fs.target.wants/tmp.mount
|
||||
|
||||
## Start rngd
|
||||
mkdir etc/systemd/system/basic.target.wants/
|
||||
symlink /lib/systemd/system/rngd.service etc/systemd/system/basic.target.wants/rngd.service
|
||||
|
||||
## Disable unwanted systemd services
|
||||
systemctl disable systemd-readahead-collect.service \
|
||||
systemd-readahead-replay.service \
|
||||
@ -38,7 +46,6 @@ systemctl mask fedora-configure.service fedora-loadmodules.service \
|
||||
fedora-wait-storage.service media.mount \
|
||||
systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer \
|
||||
ldconfig.service
|
||||
remove usr/lib/systemd/system/rngd.service
|
||||
|
||||
## remove because it cannot be disabled
|
||||
remove usr/lib/systemd/system-generators/lvm2-activation-generator
|
||||
@ -76,11 +83,6 @@ install ${configdir}/pam.sshd etc/pam.d/sshd
|
||||
install ${configdir}/pam.sshd etc/pam.d/login
|
||||
install ${configdir}/pam.sshd etc/pam.d/remote
|
||||
|
||||
## set up inst.rngd support
|
||||
install ${configdir}/inst.rngd.service etc/systemd/system/inst.rngd.service
|
||||
mkdir etc/systemd/system/basic.target.wants/
|
||||
symlink /etc/systemd/system/inst.rngd.service etc/systemd/system/basic.target.wants/inst.rngd.service
|
||||
|
||||
## set up "install" user account
|
||||
append etc/passwd "install:x:0:0:root:/root:/usr/libexec/anaconda/run-anaconda"
|
||||
append etc/shadow "install::14438:0:99999:7:::"
|
||||
@ -118,6 +120,6 @@ append etc/lvm/lvm.conf "global {\n\tuse_lvmetad = 1\n}\n"
|
||||
## TODO: we could run prelink here if we wanted?
|
||||
|
||||
## fix fonconfig cache containing timestamps
|
||||
runcmd chroot ${root} /usr/bin/find /usr/share/fonts -newermt "@${SOURCE_DATE_EPOCH}" -exec \
|
||||
runcmd chroot ${root} /usr/bin/find /usr/share/fonts /usr/share/X11/fonts -newermt "@${SOURCE_DATE_EPOCH}" -exec \
|
||||
touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
|
||||
runcmd chroot ${root} /usr/bin/fc-cache -f
|
||||
|
@ -40,6 +40,7 @@ install ${configdir}/isolinux.cfg ${BOOTDIR}
|
||||
install ${configdir}/boot.msg ${BOOTDIR}
|
||||
install ${configdir}/grub.conf ${BOOTDIR}
|
||||
install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
|
||||
install boot/memtest* ${BOOTDIR}/memtest
|
||||
|
||||
## configure bootloader
|
||||
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
|
||||
|
@ -70,7 +70,7 @@ class ImageMinimizer:
|
||||
not_found = True
|
||||
for hdr in mi:
|
||||
not_found = False
|
||||
rpms.add(hdr['name'])
|
||||
rpms.add(hdr['name'].decode("utf8"))
|
||||
if self.verbose and not_found:
|
||||
print("%s package not found" % pattern)
|
||||
|
||||
@ -145,13 +145,8 @@ class ImageMinimizer:
|
||||
self.ts.run(runCallback, "erase")
|
||||
|
||||
def filter(self):
|
||||
if not os.path.isdir(self.prefix):
|
||||
raise FileNotFoundError(f"No such directory: '{self.prefix}")
|
||||
|
||||
with open(self.filename) as f:
|
||||
for line in f:
|
||||
self.parse_line(line.strip())
|
||||
|
||||
for line in (open(self.filename).readlines()):
|
||||
self.parse_line(line.strip())
|
||||
self.remove()
|
||||
self.remove_rpm()
|
||||
|
||||
@ -184,7 +179,7 @@ def main():
|
||||
minimizer.filter()
|
||||
except SystemExit as e:
|
||||
sys.exit(e.code)
|
||||
except KeyboardInterrupt:
|
||||
except KeyboardInterrupt as e:
|
||||
print("Aborted at user request")
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
@ -61,8 +61,7 @@ else:
|
||||
DRACUT_DEFAULT = ["--xz", "--install", "/.buildstamp", "--no-early-microcode", "--add", "fips"]
|
||||
|
||||
# Used for DNF conf.module_platform_id
|
||||
DEFAULT_PLATFORM_ID = "platform:f36"
|
||||
DEFAULT_RELEASEVER = "36"
|
||||
DEFAULT_PLATFORM_ID = "platform:f34"
|
||||
|
||||
class ArchData(DataHolder):
|
||||
lib64_arches = ("x86_64", "ppc64le", "s390x", "ia64", "aarch64")
|
||||
|
@ -22,7 +22,7 @@ import os
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
from pylorax import DEFAULT_RELEASEVER, vernum
|
||||
from pylorax import vernum
|
||||
|
||||
version = "{0}-{1}".format(os.path.basename(sys.argv[0]), vernum)
|
||||
|
||||
@ -306,7 +306,7 @@ def lmc_parser(dracut_default=""):
|
||||
|
||||
parser.add_argument("--project", default="Linux",
|
||||
help="substituted for @PROJECT@ in bootloader config files")
|
||||
parser.add_argument("--releasever", default=DEFAULT_RELEASEVER,
|
||||
parser.add_argument("--releasever", default="34",
|
||||
help="substituted for @VERSION@ in bootloader config files")
|
||||
parser.add_argument("--volid", default=None, help="volume id")
|
||||
parser.add_argument("--squashfs-only", action="store_true", default=False,
|
||||
|
@ -34,7 +34,7 @@ from pykickstart.constants import KS_SHUTDOWN
|
||||
from pykickstart.version import makeVersion
|
||||
|
||||
# Use the Lorax treebuilder branch for iso creation
|
||||
from pylorax import DEFAULT_RELEASEVER, ArchData
|
||||
from pylorax import ArchData
|
||||
from pylorax.base import DataHolder
|
||||
from pylorax.executils import execWithRedirect
|
||||
from pylorax.imgutils import DracutChroot, PartitionMount
|
||||
@ -149,7 +149,7 @@ def dracut_args(opts):
|
||||
|
||||
def make_appliance(disk_img, name, template, outfile, networks=None, ram=1024,
|
||||
vcpus=1, arch=None, title="Linux", project="Linux",
|
||||
releasever=DEFAULT_RELEASEVER):
|
||||
releasever="34"):
|
||||
"""
|
||||
Generate an appliance description file
|
||||
|
||||
@ -163,7 +163,7 @@ def make_appliance(disk_img, name, template, outfile, networks=None, ram=1024,
|
||||
:param str arch: CPU architecture. Default is 'x86_64'
|
||||
:param str title: Title, passed to template. Default is 'Linux'
|
||||
:param str project: Project, passed to template. Default is 'Linux'
|
||||
:param str releasever: Release version, passed to template.
|
||||
:param str releasever: Release version, passed to template. Default is 34
|
||||
"""
|
||||
if not (disk_img and template and outfile):
|
||||
return None
|
||||
|
@ -20,12 +20,12 @@ import dnf
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from pylorax import DEFAULT_PLATFORM_ID, DEFAULT_RELEASEVER
|
||||
from pylorax import DEFAULT_PLATFORM_ID
|
||||
from pylorax.sysutils import flatconfig
|
||||
|
||||
def get_dnf_base_object(installroot, sources, mirrorlists=None, repos=None,
|
||||
enablerepos=None, disablerepos=None,
|
||||
tempdir="/var/tmp", proxy=None, releasever=DEFAULT_RELEASEVER,
|
||||
tempdir="/var/tmp", proxy=None, releasever="34",
|
||||
cachedir=None, logdir=None, sslverify=True, dnfplugins=None):
|
||||
""" Create a dnf Base object and setup the repositories and installroot
|
||||
|
||||
|
@ -141,7 +141,7 @@ def mkrootfsimg(rootdir, outfile, label, size=2, sysroot=""):
|
||||
def mksparse(outfile, size):
|
||||
'''use os.ftruncate to create a sparse file of the given size.'''
|
||||
with open(outfile, "w") as fobj:
|
||||
os.ftruncate(fobj.fileno(), int(size))
|
||||
os.ftruncate(fobj.fileno(), size)
|
||||
|
||||
def mkqcow2(outfile, size, options=None):
|
||||
'''use qemu-img to create a file of the given size.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user