Compare commits
19 Commits
master
...
f35-branch
Author | SHA1 | Date | |
---|---|---|---|
|
f5a09d8719 | ||
|
4b1825859f | ||
|
da745793e2 | ||
|
722ad85abd | ||
|
225adff76c | ||
|
88f948f2eb | ||
|
47fff53459 | ||
|
be166dc724 | ||
|
f2c8d4f6bb | ||
|
e3694eaf58 | ||
|
e70c2de02d | ||
|
72b68e5d7b | ||
|
3ab2a5925e | ||
|
3169ea213a | ||
|
d03749ea98 | ||
|
16b76846c6 | ||
|
7942c7b39f | ||
|
694664b518 | ||
|
49e3f60d80 |
@ -1,4 +1,4 @@
|
|||||||
FROM registry.fedoraproject.org/fedora:rawhide
|
FROM registry.fedoraproject.org/fedora:35
|
||||||
COPY test-packages .
|
COPY test-packages .
|
||||||
RUN dnf -y install $(cat test-packages) && touch /.in-container
|
RUN dnf -y install $(cat test-packages) && touch /.in-container
|
||||||
RUN useradd weldr
|
RUN useradd weldr
|
||||||
|
2
Makefile
2
Makefile
@ -47,7 +47,7 @@ check:
|
|||||||
test:
|
test:
|
||||||
@echo "*** Running tests ***"
|
@echo "*** Running tests ***"
|
||||||
PYTHONPATH=$(PYTHONPATH):./src/ $(PYTHON) -X dev -m pytest -v --cov-branch \
|
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
|
coverage3 report -m
|
||||||
[ -f "/usr/bin/coveralls" ] && [ -n "$(COVERALLS_REPO_TOKEN)" ] && coveralls || echo
|
[ -f "/usr/bin/coveralls" ] && [ -n "$(COVERALLS_REPO_TOKEN)" ] && coveralls || echo
|
||||||
|
@ -266,7 +266,6 @@ man_pages = [
|
|||||||
('lorax', 'lorax', u'Lorax Documentation', [u'Weldr Team'], 1),
|
('lorax', 'lorax', u'Lorax Documentation', [u'Weldr Team'], 1),
|
||||||
('livemedia-creator', 'livemedia-creator', u'Live Media Creator 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),
|
('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.
|
# If true, show URL addresses after external links.
|
||||||
|
@ -13,6 +13,8 @@ keyboard --xlayouts=us --vckeymap=us
|
|||||||
lang en_US.UTF-8
|
lang en_US.UTF-8
|
||||||
# SELinux configuration
|
# SELinux configuration
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
# Installation logging level
|
||||||
|
logging --level=info
|
||||||
# Shutdown after installation
|
# Shutdown after installation
|
||||||
shutdown
|
shutdown
|
||||||
# System timezone
|
# System timezone
|
||||||
|
@ -18,7 +18,7 @@ network --bootproto=dhcp --device=link --activate
|
|||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
|
||||||
# System services
|
# System services
|
||||||
services --disabled="sshd" --enabled="NetworkManager,ModemManager"
|
services --disabled="network,sshd" --enabled="NetworkManager,ModemManager"
|
||||||
|
|
||||||
# livemedia-creator modifications.
|
# livemedia-creator modifications.
|
||||||
shutdown
|
shutdown
|
||||||
@ -63,14 +63,21 @@ livedir="LiveOS"
|
|||||||
for arg in \`cat /proc/cmdline\` ; do
|
for arg in \`cat /proc/cmdline\` ; do
|
||||||
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
|
if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
|
||||||
livedir=\${arg##rd.live.dir=}
|
livedir=\${arg##rd.live.dir=}
|
||||||
continue
|
return
|
||||||
fi
|
fi
|
||||||
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
|
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
|
||||||
livedir=\${arg##live_dir=}
|
livedir=\${arg##live_dir=}
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
done
|
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
|
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
|
action "Enabling swap file" swapon /run/initramfs/live/\${livedir}/swap.img
|
||||||
fi
|
fi
|
||||||
@ -115,6 +122,7 @@ findPersistentHome() {
|
|||||||
for arg in \`cat /proc/cmdline\` ; do
|
for arg in \`cat /proc/cmdline\` ; do
|
||||||
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
|
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
|
||||||
homedev=\${arg##persistenthome=}
|
homedev=\${arg##persistenthome=}
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -134,7 +142,7 @@ if [ -n "\$configdone" ]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# add liveuser user with no passwd
|
# add fedora user with no passwd
|
||||||
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
|
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
|
||||||
passwd -d liveuser > /dev/null
|
passwd -d liveuser > /dev/null
|
||||||
usermod -aG wheel liveuser > /dev/null
|
usermod -aG wheel liveuser > /dev/null
|
||||||
@ -178,7 +186,9 @@ sed -i 's/rtcsync//' /etc/chrony.conf
|
|||||||
touch /.liveimg-configured
|
touch /.liveimg-configured
|
||||||
|
|
||||||
# add static hostname to work around xauth bug
|
# 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
|
EOF
|
||||||
|
|
||||||
# bah, hal starts way too late
|
# bah, hal starts way too late
|
||||||
@ -261,7 +271,7 @@ releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release)
|
|||||||
basearch=$(uname -i)
|
basearch=$(uname -i)
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
echo "Packages within this LiveCD"
|
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
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
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
|
# make sure there aren't core files lying around
|
||||||
rm -f /core*
|
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
|
# convince readahead not to collect
|
||||||
# FIXME: for systemd
|
# FIXME: for systemd
|
||||||
|
|
||||||
echo 'File created by kickstart. See systemd-update-done.service(8).' \
|
echo 'File created by kickstart. See systemd-update-done.service(8).' \
|
||||||
| tee /etc/.updated >/var/.updated
|
| tee /etc/.updated >/var/.updated
|
||||||
|
|
||||||
|
# Remove random-seed
|
||||||
|
rm /var/lib/systemd/random-seed
|
||||||
|
|
||||||
# Remove the rescue kernel and image to save space
|
# Remove the rescue kernel and image to save space
|
||||||
# Installation will recreate these on the target
|
# Installation will recreate these on the target
|
||||||
rm -f /boot/*-rescue*
|
rm -f /boot/*-rescue*
|
||||||
|
|
||||||
# Remove machine-id on pre generated images
|
|
||||||
rm -f /etc/machine-id
|
|
||||||
touch /etc/machine-id
|
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%post
|
%post
|
||||||
@ -313,18 +318,6 @@ FOE
|
|||||||
mkdir ~liveuser/.config
|
mkdir ~liveuser/.config
|
||||||
touch ~liveuser/.config/gnome-initial-setup-done
|
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
|
# make the installer show up
|
||||||
if [ -f /usr/share/applications/liveinst.desktop ]; then
|
if [ -f /usr/share/applications/liveinst.desktop ]; then
|
||||||
# Show harddisk install in shell dash
|
# 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
|
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
||||||
[org.gnome.shell]
|
[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
|
FOE
|
||||||
|
|
||||||
# Make the welcome screen show up
|
# Make the welcome screen show up
|
||||||
@ -379,12 +372,22 @@ EOF
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
@^workstation-product-environment
|
|
||||||
@anaconda-tools
|
@anaconda-tools
|
||||||
aajohan-comfortaa-fonts
|
@base-x
|
||||||
|
@core
|
||||||
|
@firefox
|
||||||
|
@fonts
|
||||||
|
@guest-desktop-agents
|
||||||
|
@hardware-support
|
||||||
|
@libreoffice
|
||||||
|
@multimedia
|
||||||
|
@networkmanager-submodules
|
||||||
|
@printing
|
||||||
|
@workstation-product
|
||||||
|
gnome-terminal
|
||||||
anaconda
|
anaconda
|
||||||
anaconda-install-env-deps
|
|
||||||
anaconda-live
|
anaconda-live
|
||||||
|
anaconda-install-img-deps
|
||||||
dracut-config-generic
|
dracut-config-generic
|
||||||
dracut-live
|
dracut-live
|
||||||
glibc-all-langpacks
|
glibc-all-langpacks
|
||||||
@ -392,12 +395,13 @@ kernel
|
|||||||
# Make sure that DNF doesn't pull in debug kernel to satisfy kmod() requires
|
# Make sure that DNF doesn't pull in debug kernel to satisfy kmod() requires
|
||||||
kernel-modules
|
kernel-modules
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
|
memtest86+
|
||||||
syslinux
|
syslinux
|
||||||
-@dial-up
|
-@dial-up
|
||||||
-@input-methods
|
-@input-methods
|
||||||
-@standard
|
-@standard
|
||||||
-gfs2-utils
|
-gfs2-utils
|
||||||
-gnome-boxes
|
-reiserfs-utils
|
||||||
|
|
||||||
# This package is needed to boot the iso on UEFI
|
# This package is needed to boot the iso on UEFI
|
||||||
shim
|
shim
|
||||||
|
@ -16,6 +16,8 @@ keyboard --xlayouts=us --vckeymap=us
|
|||||||
lang en_US.UTF-8
|
lang en_US.UTF-8
|
||||||
# SELinux configuration
|
# SELinux configuration
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
# Installation logging level
|
||||||
|
logging --level=info
|
||||||
# Shutdown after installation
|
# Shutdown after installation
|
||||||
shutdown
|
shutdown
|
||||||
# System timezone
|
# System timezone
|
||||||
@ -44,6 +46,7 @@ kernel
|
|||||||
kernel-modules
|
kernel-modules
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
|
|
||||||
|
memtest86+
|
||||||
grub2-efi
|
grub2-efi
|
||||||
grub2
|
grub2
|
||||||
shim
|
shim
|
||||||
|
@ -16,6 +16,8 @@ keyboard --xlayouts=us --vckeymap=us
|
|||||||
lang en_US.UTF-8
|
lang en_US.UTF-8
|
||||||
# SELinux configuration
|
# SELinux configuration
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
# Installation logging level
|
||||||
|
logging --level=info
|
||||||
# Shutdown after installation
|
# Shutdown after installation
|
||||||
shutdown
|
shutdown
|
||||||
# System timezone
|
# System timezone
|
||||||
@ -43,6 +45,7 @@ kernel
|
|||||||
kernel-modules
|
kernel-modules
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
|
|
||||||
|
memtest86+
|
||||||
grub2-efi
|
grub2-efi
|
||||||
grub2
|
grub2
|
||||||
shim
|
shim
|
||||||
|
@ -15,6 +15,8 @@ keyboard --xlayouts=us --vckeymap=us
|
|||||||
lang en_US.UTF-8
|
lang en_US.UTF-8
|
||||||
# SELinux configuration
|
# SELinux configuration
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
# Installation logging level
|
||||||
|
logging --level=info
|
||||||
# Shutdown after installation
|
# Shutdown after installation
|
||||||
shutdown
|
shutdown
|
||||||
# System timezone
|
# System timezone
|
||||||
@ -40,6 +42,7 @@ kernel
|
|||||||
kernel-modules
|
kernel-modules
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
|
|
||||||
|
memtest86+
|
||||||
grub2-efi
|
grub2-efi
|
||||||
grub2
|
grub2
|
||||||
shim
|
shim
|
||||||
|
@ -21,6 +21,8 @@ keyboard --xlayouts=us --vckeymap=us
|
|||||||
lang en_US.UTF-8
|
lang en_US.UTF-8
|
||||||
# SELinux configuration
|
# SELinux configuration
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
|
# Installation logging level
|
||||||
|
logging --level=info
|
||||||
# Shutdown after installation
|
# Shutdown after installation
|
||||||
shutdown
|
shutdown
|
||||||
# System timezone
|
# System timezone
|
||||||
@ -52,6 +54,7 @@ kernel
|
|||||||
kernel-modules
|
kernel-modules
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
|
|
||||||
|
memtest86+
|
||||||
grub2-efi
|
grub2-efi
|
||||||
grub2
|
grub2
|
||||||
shim
|
shim
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Sphinx build info version 1
|
# 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.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: 3dbb02a107cfe7acde05f2a0794f42a8
|
config: 75aacdd0614612610c6e455505ebf8fa
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
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.
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<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 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="../_static/css/theme.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 href="../index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
<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="../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="../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="../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>
|
<li class="toctree-l1"><a class="reference internal" href="../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../_static/underscore.js"></script>
|
<script src="../_static/underscore.js"></script>
|
||||||
<script src="../_static/doctools.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="index" title="Index" href="../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../search.html" />
|
<link rel="search" title="Search" href="../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../index.html" class="icon icon-home"> Lorax
|
<a href="../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,25 +93,64 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../index.html">Lorax</a>
|
<a href="../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="index.html">Module code</a> »</li>
|
<li><a href="index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li>pylorax</li>
|
<li>pylorax</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -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="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="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_PLATFORM_ID</span> <span class="o">=</span> <span class="s2">"platform:f34"</span>
|
||||||
<span class="n">DEFAULT_RELEASEVER</span> <span class="o">=</span> <span class="s2">"36"</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>
|
<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>
|
<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>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.buildstamp</li>
|
<li>pylorax.buildstamp</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -139,30 +228,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.cmdline</li>
|
<li>pylorax.cmdline</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -94,7 +183,7 @@
|
|||||||
<span class="kn">import</span> <span class="nn">sys</span>
|
<span class="kn">import</span> <span class="nn">sys</span>
|
||||||
<span class="kn">import</span> <span class="nn">argparse</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>
|
<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">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">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">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">"--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>
|
<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>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.creator</li>
|
<li>pylorax.creator</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -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="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="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.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.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">DracutChroot</span><span class="p">,</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">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">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">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>
|
<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>
|
<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">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">"""</span>
|
||||||
<span class="sd"> Generate an appliance description file</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 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 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 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="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">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>
|
<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">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">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="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>
|
<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="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">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="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>
|
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">ostree</span><span class="p">:</span>
|
||||||
@ -344,7 +433,9 @@
|
|||||||
|
|
||||||
<span class="c1"># Write the new initramfs directly to the results directory</span>
|
<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="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="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">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="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="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>
|
||||||
@ -352,10 +443,15 @@
|
|||||||
<span class="c1"># Construct an initrd from the kernel name</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">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">"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">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">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">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">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>
|
<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>
|
<span class="sd">"""</span>
|
||||||
@ -822,30 +918,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.discinfo</li>
|
<li>pylorax.discinfo</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -118,30 +207,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.dnfbase</li>
|
<li>pylorax.dnfbase</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -92,12 +181,12 @@
|
|||||||
<span class="kn">import</span> <span class="nn">os</span>
|
<span class="kn">import</span> <span class="nn">os</span>
|
||||||
<span class="kn">import</span> <span class="nn">shutil</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>
|
<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>
|
<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">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="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>
|
<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="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">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="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>
|
<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>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.dnfhelper</li>
|
<li>pylorax.dnfhelper</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -183,30 +272,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.executils</li>
|
<li>pylorax.executils</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -446,30 +535,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>pylorax.imgutils — Lorax 36.4 documentation</title>
|
<title>pylorax.imgutils — Lorax 35.8 documentation</title>
|
||||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="../../_static/css/theme.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 href="../../index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.8
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>pylorax.installer — 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.installer — Lorax 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.installer</li>
|
<li>pylorax.installer</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -280,7 +369,7 @@
|
|||||||
|
|
||||||
<span class="c1"># Setup the cmdline args</span>
|
<span class="c1"># Setup the cmdline args</span>
|
||||||
<span class="c1"># ======================</span>
|
<span class="c1"># ======================</span>
|
||||||
<span class="n">cmdline_args</span> <span class="o">=</span> <span class="s2">"inst.ks=file:/</span><span class="si">%s</span><span class="s2">"</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">ks_paths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
<span class="n">cmdline_args</span> <span class="o">=</span> <span class="s2">"ks=file:/</span><span class="si">%s</span><span class="s2">"</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">ks_paths</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||||
<span class="n">cmdline_args</span> <span class="o">+=</span> <span class="s2">" inst.stage2=hd:LABEL=</span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">udev_escape</span><span class="p">(</span><span class="n">iso</span><span class="o">.</span><span class="n">label</span><span class="p">)</span>
|
<span class="n">cmdline_args</span> <span class="o">+=</span> <span class="s2">" inst.stage2=hd:LABEL=</span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">udev_escape</span><span class="p">(</span><span class="n">iso</span><span class="o">.</span><span class="n">label</span><span class="p">)</span>
|
||||||
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">proxy</span><span class="p">:</span>
|
<span class="k">if</span> <span class="n">opts</span><span class="o">.</span><span class="n">proxy</span><span class="p">:</span>
|
||||||
<span class="n">cmdline_args</span> <span class="o">+=</span> <span class="s2">" inst.proxy=</span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">opts</span><span class="o">.</span><span class="n">proxy</span>
|
<span class="n">cmdline_args</span> <span class="o">+=</span> <span class="s2">" inst.proxy=</span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="n">opts</span><span class="o">.</span><span class="n">proxy</span>
|
||||||
@ -488,17 +577,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="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="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="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="c1"># setfiles may not be available, warn instead of fail</span>
|
||||||
<span class="k">try</span><span class="p">:</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="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="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="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">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">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>
|
<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 +593,7 @@
|
|||||||
|
|
||||||
<span class="c1"># For image installs, run fstrim to discard unused blocks. This way</span>
|
<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="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="n">img_mount</span><span class="o">.</span><span class="n">mount_dir</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="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="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>
|
<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 +685,8 @@
|
|||||||
<span class="k">if</span> <span class="n">rc</span><span class="p">:</span>
|
<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">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="k">else</span><span class="p">:</span>
|
||||||
<span class="c1"># Examine the image for sections that can be made sparse</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">"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="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">"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 make_tar_disk, wrap the result in a tar file, and remove the original disk image.</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>
|
<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>
|
||||||
@ -764,30 +843,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.ltmpl</li>
|
<li>pylorax.ltmpl</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -257,149 +346,8 @@
|
|||||||
<span class="k">raise</span></div>
|
<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>
|
<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">'''</span>
|
||||||
<span class="sd"> This class parses and executes Lorax templates. Sample usage:</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="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>
|
<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>
|
<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">'''</span>
|
||||||
<span class="sd"> removepkg PKGGLOB [PKGGLOB...]</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">except</span> <span class="n">CalledProcessError</span><span class="p">:</span>
|
||||||
<span class="k">pass</span></div></div>
|
<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">"""</span>
|
||||||
<span class="sd"> This class parses and executes a limited Lorax template. Sample usage:</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">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="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>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.monitor</li>
|
<li>pylorax.monitor</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -146,25 +235,30 @@
|
|||||||
<span class="sd"> Loops until self.server.kill is True</span>
|
<span class="sd"> Loops until self.server.kill is True</span>
|
||||||
<span class="sd"> """</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">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">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">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">break</span>
|
||||||
|
|
||||||
<span class="k">try</span><span class="p">:</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="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">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="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">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="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="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="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="kc">None</span>
|
||||||
<span class="n">data</span> <span class="o">=</span> <span class="n">line</span>
|
|
||||||
<span class="k">break</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">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">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>
|
<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>
|
<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="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="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>
|
<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>
|
<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="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</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_thread</span><span class="o">.</span><span class="n">join</span><span class="p">()</span></div></div>
|
||||||
<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>
|
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>pylorax.mount — Lorax 36.4 documentation</title>
|
<title>pylorax.mount — Lorax 35.8 documentation</title>
|
||||||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="../../_static/css/theme.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 href="../../index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.4
|
35.8
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<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="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">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>
|
<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="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">"/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/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="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="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>
|
<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>
|
<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">"""</span>
|
||||||
<span class="sd"> Get the iso's label using pycdio</span>
|
<span class="sd"> Get the iso's label using pycdlib</span>
|
||||||
|
|
||||||
<span class="sd"> Sets self.label if one is found</span>
|
<span class="sd"> Sets self.label if one is found</span>
|
||||||
<span class="sd"> """</span>
|
<span class="sd"> """</span>
|
||||||
<span class="k">try</span><span class="p">:</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="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="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="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="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">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="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">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>
|
<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>
|
</pre></div>
|
||||||
|
|
||||||
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.sysutils</li>
|
<li>pylorax.sysutils</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -233,30 +322,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.treebuilder</li>
|
<li>pylorax.treebuilder</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -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.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">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">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="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>
|
<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">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">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="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">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="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>
|
<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">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">_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">_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">_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">"""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"> 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"> When there are more than 1 package it will:</span>
|
||||||
<span class="sd"> - Make a list of the available packages</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 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"> - 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="sd"> """</span>
|
||||||
<span class="k">if</span> <span class="n">skip</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">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">release</span> <span class="o">=</span> <span class="kc">None</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>
|
<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">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="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="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="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="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="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="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="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="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>
|
<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="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="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="c1"># logos</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="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="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="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>
|
<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="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">_install_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">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="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="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="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="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">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="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="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>
|
<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,14 +462,13 @@
|
|||||||
<span class="sd"> name of the kernel.</span>
|
<span class="sd"> name of the kernel.</span>
|
||||||
<span class="sd"> '''</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">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="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">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">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">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="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">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>
|
||||||
@ -402,12 +480,14 @@
|
|||||||
<span class="c1"># Construct an initrd from the kernel name</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">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">"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="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="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="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">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="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>
|
<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>
|
<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>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -1,31 +1,69 @@
|
|||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html class="writer-html5" lang="en" >
|
<html class="writer-html5" lang="en" >
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<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 35.1 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/jquery.js"></script>
|
||||||
<script src="../../_static/underscore.js"></script>
|
<script src="../../_static/underscore.js"></script>
|
||||||
<script src="../../_static/doctools.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="index" title="Index" href="../../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../../search.html" />
|
<link rel="search" title="Search" href="../../search.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-grid-for-nav">
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
<div class="wy-side-scroll">
|
<div class="wy-side-scroll">
|
||||||
<div class="wy-side-nav-search" >
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="../../index.html" class="icon icon-home"> Lorax
|
<a href="../../index.html" class="icon icon-home"> Lorax
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.0
|
35.1
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||||
<input type="text" name="q" placeholder="Search docs" />
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
@ -33,7 +71,18 @@
|
|||||||
<input type="hidden" name="area" value="default" />
|
<input type="hidden" name="area" value="default" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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>
|
<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">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="../../intro.html#before-lorax">Before Lorax</a></li>
|
||||||
@ -44,26 +93,66 @@
|
|||||||
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</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>
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
<a href="../../index.html">Lorax</a>
|
<a href="../../index.html">Lorax</a>
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<div class="wy-nav-content">
|
<div class="wy-nav-content">
|
||||||
|
|
||||||
<div class="rst-content">
|
<div class="rst-content">
|
||||||
<div role="navigation" aria-label="Page navigation">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
|
||||||
<ul class="wy-breadcrumbs">
|
<ul class="wy-breadcrumbs">
|
||||||
|
|
||||||
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
<li><a href="../../index.html" class="icon icon-home"></a> »</li>
|
||||||
|
|
||||||
<li><a href="../index.html">Module code</a> »</li>
|
<li><a href="../index.html">Module code</a> »</li>
|
||||||
|
|
||||||
<li><a href="../pylorax.html">pylorax</a> »</li>
|
<li><a href="../pylorax.html">pylorax</a> »</li>
|
||||||
|
|
||||||
<li>pylorax.treeinfo</li>
|
<li>pylorax.treeinfo</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="wy-breadcrumbs-aside">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
</div>
|
</div>
|
||||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
@ -136,30 +225,46 @@
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
<div role="contentinfo">
|
<div role="contentinfo">
|
||||||
<p>© Copyright 2018, Red Hat, Inc..</p>
|
<p>
|
||||||
|
© Copyright 2018, Red Hat, Inc..
|
||||||
|
|
||||||
|
</p>
|
||||||
</div>
|
</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>.
|
|
||||||
|
|
||||||
|
|
||||||
|
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>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
SphinxRtdTheme.Navigation.enable(true);
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</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,7 +16,6 @@ Contents:
|
|||||||
livemedia-creator
|
livemedia-creator
|
||||||
mkksiso
|
mkksiso
|
||||||
product-images
|
product-images
|
||||||
image-minimizer
|
|
||||||
modules
|
modules
|
||||||
|
|
||||||
Documentation for other Lorax Branches
|
Documentation for other Lorax Branches
|
||||||
|
@ -171,6 +171,7 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.
|
|||||||
dracut-live
|
dracut-live
|
||||||
-dracut-config-rescue
|
-dracut-config-rescue
|
||||||
grub2-efi
|
grub2-efi
|
||||||
|
memtest86+
|
||||||
syslinux
|
syslinux
|
||||||
|
|
||||||
User created repositories
|
User created repositories
|
||||||
|
@ -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.
|
kickstart boot.iso will include this support as well.
|
||||||
|
|
||||||
``mkksiso`` needs to be run as root, it depends on mounting the original iso
|
``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
|
and you need to be root to be able to do that.
|
||||||
needs to match that of the iso. ``mkksiso`` will raise an error if it finds a
|
|
||||||
.discinfo on the iso with a mismatched arch.
|
|
||||||
|
|
||||||
|
|
||||||
mkksiso cmdline arguments
|
mkksiso cmdline arguments
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
var DOCUMENTATION_OPTIONS = {
|
var DOCUMENTATION_OPTIONS = {
|
||||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||||
VERSION: '36.5',
|
VERSION: '35.7',
|
||||||
LANGUAGE: 'None',
|
LANGUAGE: 'None',
|
||||||
COLLAPSE_INDEX: false,
|
COLLAPSE_INDEX: false,
|
||||||
BUILDER: 'html',
|
BUILDER: 'html',
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Index — Lorax 36.5 documentation</title>
|
<title>Index — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -311,10 +310,12 @@
|
|||||||
</li>
|
</li>
|
||||||
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installkernel">installkernel() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installkernel">installkernel() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="pylorax.html#pylorax.ltmpl.InstallpkgMixin.installpkg">installpkg() (pylorax.ltmpl.InstallpkgMixin method)</a>
|
<li><a href="pylorax.html#pylorax.ltmpl.LiveTemplateRunner.installpkg">installpkg() (pylorax.ltmpl.LiveTemplateRunner method)</a>
|
||||||
</li>
|
|
||||||
<li><a href="pylorax.html#pylorax.ltmpl.InstallpkgMixin">InstallpkgMixin (class in pylorax.ltmpl)</a>
|
<ul>
|
||||||
|
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installpkg">(pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||||
</li>
|
</li>
|
||||||
|
</ul></li>
|
||||||
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd">installupgradeinitrd() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
<li><a href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd">installupgradeinitrd() (pylorax.ltmpl.LoraxTemplateRunner method)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="pylorax.html#pylorax.creator.is_image_mounted">is_image_mounted() (in module pylorax.creator)</a>
|
<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 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" />
|
<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 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="#" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<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" />
|
<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 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>livemedia-creator — Lorax 36.5 documentation</title>
|
<title>livemedia-creator — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
@ -80,7 +80,6 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="mkksiso.html">mkksiso</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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -276,7 +275,7 @@ you have the anaconda-tui package installed.</p>
|
|||||||
</dd>
|
</dd>
|
||||||
<dt><kbd>--releasever</kbd></dt>
|
<dt><kbd>--releasever</kbd></dt>
|
||||||
<dd><p>substituted for @VERSION@ in bootloader config files</p>
|
<dd><p>substituted for @VERSION@ in bootloader config files</p>
|
||||||
<p>Default: "36"</p>
|
<p>Default: "34"</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><kbd>--volid</kbd></dt>
|
<dt><kbd>--volid</kbd></dt>
|
||||||
<dd><p>volume id</p>
|
<dd><p>volume id</p>
|
||||||
@ -548,6 +547,7 @@ dracut-config-generic
|
|||||||
dracut-live
|
dracut-live
|
||||||
-dracut-config-rescue
|
-dracut-config-rescue
|
||||||
grub2-efi
|
grub2-efi
|
||||||
|
memtest86+
|
||||||
syslinux</p></li>
|
syslinux</p></li>
|
||||||
</ol>
|
</ol>
|
||||||
<section id="user-created-repositories">
|
<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 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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Lorax — Lorax 36.5 documentation</title>
|
<title>Lorax — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>mkksiso — Lorax 36.5 documentation</title>
|
<title>mkksiso — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
@ -55,7 +55,6 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</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
|
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>
|
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
|
<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
|
and you need to be root to be able to do that.</p>
|
||||||
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>
|
|
||||||
<section id="mkksiso-cmdline-arguments">
|
<section id="mkksiso-cmdline-arguments">
|
||||||
<h2>mkksiso cmdline arguments<a class="headerlink" href="#mkksiso-cmdline-arguments" title="Permalink to this headline">¶</a></h2>
|
<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>
|
<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 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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>src — Lorax 36.5 documentation</title>
|
<title>src — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
<link rel="next" title="pylorax package" href="pylorax.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>
|
</head>
|
||||||
|
|
||||||
<body class="wy-body-for-nav">
|
<body class="wy-body-for-nav">
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<a href="index.html" class="icon icon-home"> Lorax
|
<a href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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-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>
|
<li class="toctree-l2"><a class="reference internal" href="pylorax.html">pylorax package</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -110,7 +109,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
<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>
|
<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>
|
</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 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" />
|
<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 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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>
|
<script src="_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.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" />
|
<link rel="prev" title="mkksiso" href="mkksiso.html" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<a href="index.html" class="icon icon-home"> Lorax
|
<a href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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 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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -101,7 +100,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
|
|||||||
</div>
|
</div>
|
||||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
<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="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>
|
</div>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<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 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>pylorax package — Lorax 36.5 documentation</title>
|
<title>pylorax package — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
<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="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="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="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-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-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>
|
<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">
|
<dl class="py function">
|
||||||
<dt class="sig sig-object py" id="pylorax.creator.make_appliance">
|
<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>
|
<dd><p>Generate an appliance description file</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters</dt>
|
<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>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>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>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>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</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>
|
<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">
|
<dl class="py function">
|
||||||
<dt class="sig sig-object py" id="pylorax.dnfbase.get_dnf_base_object">
|
<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>
|
<dd><p>Create a dnf Base object and setup the repositories and installroot</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Parameters</dt>
|
<dt class="field-odd">Parameters</dt>
|
||||||
@ -1196,41 +1195,10 @@ image and then optionally, based on the opts passed, creates tarfile.</p>
|
|||||||
</section>
|
</section>
|
||||||
<section id="module-pylorax.ltmpl">
|
<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>
|
<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">
|
<dl class="py class">
|
||||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LiveTemplateRunner">
|
<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>
|
<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>
|
<p>This class parses and executes a limited Lorax template. Sample usage:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<div><p># install a bunch of packages
|
<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
|
<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>
|
pacages needed to build the live-iso output.</p>
|
||||||
</div></blockquote>
|
</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>
|
</dd></dl>
|
||||||
|
|
||||||
<dl class="py class">
|
<dl class="py class">
|
||||||
@ -1255,7 +1235,7 @@ pacages needed to build the live-iso output.</p>
|
|||||||
<dl class="py class">
|
<dl class="py class">
|
||||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LoraxTemplateRunner">
|
<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>
|
<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>
|
<p>This class parses and executes Lorax templates. Sample usage:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<div><p># install a bunch of packages
|
<div><p># install a bunch of packages
|
||||||
@ -1405,6 +1385,18 @@ treeinfo SECTION kernel DEST</p>
|
|||||||
</dl>
|
</dl>
|
||||||
</dd></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">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd">
|
<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>
|
<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">
|
<dl class="py method">
|
||||||
<dt class="sig sig-object py" id="pylorax.mount.IsoMountpoint.get_iso_label">
|
<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>
|
<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 pycdlib</p>
|
||||||
<p>Sets self.label if one is found</p>
|
<p>Sets self.label if one is found</p>
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Search — Lorax 36.5 documentation</title>
|
<title>Search — Lorax 35.7 documentation</title>
|
||||||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="_static/css/theme.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 href="index.html" class="icon icon-home"> Lorax
|
||||||
</a>
|
</a>
|
||||||
<div class="version">
|
<div class="version">
|
||||||
36.5
|
35.7
|
||||||
</div>
|
</div>
|
||||||
<div role="search">
|
<div role="search">
|
||||||
<form id="rtd-search-form" class="wy-form" action="#" method="get">
|
<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="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="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="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>
|
<li class="toctree-l1"><a class="reference internal" href="modules.html">src</a></li>
|
||||||
</ul>
|
</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,7 +16,6 @@ Contents:
|
|||||||
livemedia-creator
|
livemedia-creator
|
||||||
mkksiso
|
mkksiso
|
||||||
product-images
|
product-images
|
||||||
image-minimizer
|
|
||||||
modules
|
modules
|
||||||
|
|
||||||
Documentation for other Lorax Branches
|
Documentation for other Lorax Branches
|
||||||
|
@ -171,6 +171,7 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.
|
|||||||
dracut-live
|
dracut-live
|
||||||
-dracut-config-rescue
|
-dracut-config-rescue
|
||||||
grub2-efi
|
grub2-efi
|
||||||
|
memtest86+
|
||||||
syslinux
|
syslinux
|
||||||
|
|
||||||
User created repositories
|
User created repositories
|
||||||
|
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]]
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
.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" "35.7" "Lorax"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
livemedia-creator \- Live Media Creator Documentation
|
livemedia-creator \- Live Media Creator Documentation
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
@ -236,7 +236,7 @@ Default: "Linux"
|
|||||||
.B \-\-releasever
|
.B \-\-releasever
|
||||||
substituted for @VERSION@ in bootloader config files
|
substituted for @VERSION@ in bootloader config files
|
||||||
.sp
|
.sp
|
||||||
Default: "36"
|
Default: "34"
|
||||||
.TP
|
.TP
|
||||||
.B \-\-volid
|
.B \-\-volid
|
||||||
volume id
|
volume id
|
||||||
@ -553,6 +553,7 @@ dracut\-config\-generic
|
|||||||
dracut\-live
|
dracut\-live
|
||||||
\-dracut\-config\-rescue
|
\-dracut\-config\-rescue
|
||||||
grub2\-efi
|
grub2\-efi
|
||||||
|
memtest86+
|
||||||
syslinux
|
syslinux
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS User created repositories
|
.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]]
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||||
..
|
..
|
||||||
.TH "LORAX" "1" "Dec 21, 2021" "36.5" "Lorax"
|
.TH "LORAX" "1" "Oct 11, 2021" "35.7" "Lorax"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
lorax \- Lorax Documentation
|
lorax \- Lorax Documentation
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||||
..
|
..
|
||||||
.TH "MKKSISO" "1" "Dec 21, 2021" "36.5" "Lorax"
|
.TH "MKKSISO" "1" "Oct 11, 2021" "35.7" "Lorax"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
mkksiso \- Make Kickstart ISO Utility Documentation
|
mkksiso \- Make Kickstart ISO Utility Documentation
|
||||||
.INDENT 0.0
|
.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.
|
kickstart boot.iso will include this support as well.
|
||||||
.sp
|
.sp
|
||||||
\fBmkksiso\fP needs to be run as root, it depends on mounting the original iso
|
\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
|
and you need to be root to be able to do that.
|
||||||
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.
|
|
||||||
.SH MKKSISO CMDLINE ARGUMENTS
|
.SH MKKSISO CMDLINE ARGUMENTS
|
||||||
.sp
|
.sp
|
||||||
Add a kickstart and files to an iso
|
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.
|
kickstart boot.iso will include this support as well.
|
||||||
|
|
||||||
``mkksiso`` needs to be run as root, it depends on mounting the original iso
|
``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
|
and you need to be root to be able to do that.
|
||||||
needs to match that of the iso. ``mkksiso`` will raise an error if it finds a
|
|
||||||
.discinfo on the iso with a mismatched arch.
|
|
||||||
|
|
||||||
|
|
||||||
mkksiso cmdline arguments
|
mkksiso cmdline arguments
|
||||||
|
84
lorax.spec
84
lorax.spec
@ -3,7 +3,7 @@
|
|||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
|
||||||
Name: lorax
|
Name: lorax
|
||||||
Version: 36.9
|
Version: 35.9
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Tool for creating the anaconda install images
|
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/lorax.1*
|
||||||
%{_mandir}/man1/livemedia-creator.1*
|
%{_mandir}/man1/livemedia-creator.1*
|
||||||
%{_mandir}/man1/mkksiso.1*
|
%{_mandir}/man1/mkksiso.1*
|
||||||
%{_mandir}/man1/image-minimizer.1*
|
|
||||||
%{_tmpfilesdir}/lorax.conf
|
%{_tmpfilesdir}/lorax.conf
|
||||||
|
|
||||||
%files docs
|
%files docs
|
||||||
@ -176,85 +175,26 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
|
|||||||
%{_datadir}/lorax/templates.d/*
|
%{_datadir}/lorax/templates.d/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Feb 28 2022 Brian C. Lane <bcl@redhat.com> 36.9-1
|
* Tue Dec 14 2021 Brian C. Lane <bcl@redhat.com> 35.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
|
|
||||||
- cleanup: remove binaries from lilv (awilliam@redhat.com)
|
- cleanup: remove binaries from lilv (awilliam@redhat.com)
|
||||||
- runtime-cleanup: remove pipewire-related packages (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
|
* Wed Nov 10 2021 Brian C. Lane <bcl@redhat.com> 35.8-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)
|
- mount: Switch to using pycdio instead of pycdlib (bcl@redhat.com)
|
||||||
- Move default releasever into pylorax DEFAULT_RELEASEVER (bcl@redhat.com)
|
- fedora-livemedia: Turn off GNOME welcome tour (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
|
|
||||||
- dnfbase: Handle defaults better (bcl@redhat.com)
|
- dnfbase: Handle defaults better (bcl@redhat.com)
|
||||||
- ltmpl: Add version compare support to installpkg (bcl@redhat.com)
|
- ltmpl: Add version compare support to installpkg (bcl@redhat.com)
|
||||||
|
- fedora-livemedia: Add anaconda-install-img-deps (bcl@redhat.com)
|
||||||
* Mon Oct 11 2021 Brian C. Lane <bcl@redhat.com> 36.0-1
|
- Use fedora:35 for Dockerfile.test (bcl@redhat.com)
|
||||||
- New lorax documentation - 36.0 (bcl@redhat.com)
|
- Move default releasever into pylorax DEFAULT_RELEASEVER (bcl@redhat.com)
|
||||||
- docs: Remove logging command from examples (bcl@redhat.com)
|
- runtime-postinstall: Drop raidstart/stop stub code (bcl@redhat.com)
|
||||||
|
- Update runtime-install/cleanup for Marvell Prestera fw split (awilliam@redhat.com)
|
||||||
|
- New lorax documentation - 35.7 (bcl@redhat.com)
|
||||||
|
- Fix pylint warnings about string formatting (bcl@redhat.com)
|
||||||
|
- tests: Ignore new pylint warnings (bcl@redhat.com)
|
||||||
- runtime-install: exclude liquidio and netronome firmwares (awilliam@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 Marvell Prestera firmware files (awilliam@redhat.com)
|
||||||
- runtime-cleanup: drop some Qualcomm smartphone firmwares (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
|
* Tue Sep 07 2021 Brian C. Lane <bcl@redhat.com> 35.7-1
|
||||||
- templates: Remove memtest86+ (bcl@redhat.com)
|
- templates: Remove memtest86+ (bcl@redhat.com)
|
||||||
|
@ -1 +1 @@
|
|||||||
36.9-1 ./
|
35.9-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
|
|
@ -4,4 +4,3 @@ SyslogFacility AUTHPRIV
|
|||||||
PasswordAuthentication yes
|
PasswordAuthentication yes
|
||||||
PermitEmptyPasswords yes
|
PermitEmptyPasswords yes
|
||||||
PermitUserEnvironment yes
|
PermitUserEnvironment yes
|
||||||
Subsystem sftp internal-sftp
|
|
||||||
|
@ -11,6 +11,8 @@ remove usr/share/i18n
|
|||||||
|
|
||||||
## no sound support, thanks
|
## no sound support, thanks
|
||||||
removepkg flac-libs libsndfile pipewire pulseaudio* rtkit sound-theme-freedesktop wireplumber*
|
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
|
## we don't create new initramfs/bootloader conf inside anaconda
|
||||||
## (that happens inside the target system after we install dracut/grubby)
|
## (that happens inside the target system after we install dracut/grubby)
|
||||||
removepkg dracut-network grubby anaconda-dracut
|
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
|
## The removepkg above removes it, create an empty one. See rhbz#1243168
|
||||||
append etc/selinux/config ""
|
append etc/selinux/config ""
|
||||||
|
|
||||||
|
removepkg fedora-release-rawhide
|
||||||
|
|
||||||
## keep enough of shadow-utils to create accounts
|
## keep enough of shadow-utils to create accounts
|
||||||
removefrom shadow-utils --allbut /usr/bin/chage /usr/sbin/chpasswd \
|
removefrom shadow-utils --allbut /usr/bin/chage /usr/sbin/chpasswd \
|
||||||
/usr/sbin/groupadd /usr/sbin/useradd
|
/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/*
|
removefrom initscripts /usr/sbin/* /usr/share/locale/* /usr/share/doc/* /usr/share/man/*
|
||||||
|
|
||||||
## no storage device monitoring
|
## no storage device monitoring
|
||||||
removepkg device-mapper-event
|
removepkg device-mapper-event dmraid-events sgpio
|
||||||
## logrotate isn't useful in anaconda
|
## logrotate isn't useful in anaconda
|
||||||
|
removepkg logrotate
|
||||||
remove /etc/logrotate.d
|
remove /etc/logrotate.d
|
||||||
## anaconda needs this to do media check
|
## anaconda needs this to do media check
|
||||||
removefrom isomd5sum --allbut /usr/bin/checkisomd5
|
removefrom isomd5sum --allbut /usr/bin/checkisomd5
|
||||||
|
|
||||||
## there's no need for a bunch of zsh files without zsh,
|
## systemd-nspawn isn't very useful and doesn't link anyway without iptables,
|
||||||
## systemd-analyze is quite large and not essential
|
## and there's no need for a bunch of zsh files without zsh
|
||||||
removefrom systemd /usr/bin/systemd-analyze /usr/share/zsh/site-functions/*
|
removefrom systemd /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
|
|
||||||
|
|
||||||
## various other things we remove to save space
|
## various other things we remove to save space
|
||||||
removepkg diffutils file
|
removepkg diffutils file
|
||||||
|
removepkg jasper-libs
|
||||||
removepkg libasyncns
|
removepkg libasyncns
|
||||||
removepkg libtiff
|
removepkg libmcpp libtiff
|
||||||
removepkg lvm2-libs
|
removepkg lvm2-libs mcpp
|
||||||
removepkg mobile-broadband-provider-info
|
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 tigervnc-license xml-common
|
||||||
removepkg mkfontscale fonttosfnt
|
removepkg xorg-x11-font-utils bdftopcf mkfontscale fonttosfnt
|
||||||
removepkg xorg-x11-server-common
|
removepkg xorg-x11-server-common
|
||||||
# do not remove this, required for ppc64le and s390x !!!
|
|
||||||
removepkg ncurses
|
removepkg ncurses
|
||||||
|
|
||||||
## other removals
|
## 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 /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/db /var/games /var/tmp /var/yp /var/nis /var/opt /var/local
|
||||||
remove /var/mail /var/spool /var/preserve /var/report
|
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
|
## clean up the files created by various '> /dev/null's
|
||||||
remove /dev/*
|
remove /dev/*
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ remove /dev/*
|
|||||||
remove /usr/share/icons/*/icon-theme.cache
|
remove /usr/share/icons/*/icon-theme.cache
|
||||||
|
|
||||||
## clean up kernel modules
|
## 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/atm net/bluetooth net/sched net/sctp \
|
||||||
net/rds net/l2tp net/decnet net/netfilter net/ipv4 net/ipv6 \
|
net/rds net/l2tp net/decnet net/netfilter net/ipv4 net/ipv6 \
|
||||||
drivers/watchdog drivers/rtc drivers/input/joystick \
|
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
|
## NOTE: depmod gets re-run after cleanup finishes
|
||||||
|
|
||||||
## remove unused themes, theme engines, icons, etc.
|
## 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/${libdir}/gtk-3.0/*/printbackends/*
|
||||||
removefrom gtk3 /usr/share/themes/*
|
removefrom gtk3 /usr/share/themes/*
|
||||||
|
removefrom metacity --allbut /usr/bin/* /usr/${libdir}/*
|
||||||
|
|
||||||
## filesystem tools
|
## filesystem tools
|
||||||
removefrom e2fsprogs /usr/share/locale/*
|
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 NetworkManager-libnm /usr/share/locale/*/NetworkManager.mo
|
||||||
removefrom nm-connection-editor /usr/share/applications/*
|
removefrom nm-connection-editor /usr/share/applications/*
|
||||||
removefrom atk /usr/share/locale/*
|
removefrom atk /usr/share/locale/*
|
||||||
removefrom audit /etc/* /usr/sbin/auditctl /usr/sbin/aureport
|
removefrom audit /etc/* /sbin/auditctl /sbin/aureport
|
||||||
removefrom audit /usr/sbin/ausearch /usr/sbin/autrace /usr/bin/*
|
removefrom audit /sbin/ausearch /sbin/autrace /usr/bin/*
|
||||||
removefrom audit-libs /etc/* /usr/${libdir}/libauparse*
|
removefrom audit-libs /etc/* /${libdir}/libauparse*
|
||||||
removefrom bash /etc/* /usr/bin/bashbug* /usr/share/*
|
removefrom bash /etc/* /usr/bin/bashbug* /usr/share/*
|
||||||
removefrom bind-utils /usr/bin/host /usr/bin/nsupdate
|
removefrom bind-utils /usr/bin/host /usr/bin/nsupdate
|
||||||
removefrom bitmap-fangsongti-fonts /usr/share/fonts/*
|
removefrom bitmap-fangsongti-fonts /usr/share/fonts/*
|
||||||
removefrom ca-certificates /etc/pki/java/*
|
removefrom ca-certificates /etc/pki/java/*
|
||||||
removefrom ca-certificates /etc/pki/tls/certs/ca-bundle.trust.crt
|
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/link /usr/bin/nice /usr/bin/stty /usr/bin/unlink
|
||||||
removefrom coreutils /usr/bin/[ /usr/bin/base64 /usr/bin/chcon
|
removefrom coreutils /usr/bin/[ /usr/bin/base64 /usr/bin/chcon
|
||||||
removefrom coreutils /usr/bin/cksum /usr/bin/csplit
|
removefrom coreutils /usr/bin/cksum /usr/bin/csplit
|
||||||
@ -147,8 +152,10 @@ removefrom cracklib /usr/sbin/*
|
|||||||
removefrom cracklib-dicts /usr/${libdir}/* /usr/sbin/*
|
removefrom cracklib-dicts /usr/${libdir}/* /usr/sbin/*
|
||||||
removefrom cryptsetup /usr/share/*
|
removefrom cryptsetup /usr/share/*
|
||||||
removefrom cryptsetup-libs /usr/share/locale/*
|
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 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 dnf /usr/share/locale/*
|
||||||
removefrom dump /etc/*
|
removefrom dump /etc/*
|
||||||
removefrom elfutils-libelf /usr/share/locale/*
|
removefrom elfutils-libelf /usr/share/locale/*
|
||||||
@ -168,11 +175,11 @@ removefrom gdk-pixbuf2 /usr/share/locale*
|
|||||||
removefrom glib2 /usr/bin/* /usr/share/locale/*
|
removefrom glib2 /usr/bin/* /usr/share/locale/*
|
||||||
removefrom glibc /etc/gai.conf /etc/rpc
|
removefrom glibc /etc/gai.conf /etc/rpc
|
||||||
removefrom glibc /${libdir}/libBrokenLocale*
|
removefrom glibc /${libdir}/libBrokenLocale*
|
||||||
removefrom glibc /${libdir}/libanl*
|
removefrom glibc /${libdir}/libSegFault* /${libdir}/libanl*
|
||||||
removefrom glibc /${libdir}/libnss_compat*
|
removefrom glibc /${libdir}/libnss_compat*
|
||||||
# python-pyudev uses ctypes.util.find_library, which uses /sbin/ldconfig
|
# python-pyudev uses ctypes.util.find_library, which uses /sbin/ldconfig
|
||||||
removefrom glibc /usr/libexec/* /usr/sbin/*
|
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/getent
|
||||||
removefrom glibc-common /usr/bin/locale /usr/bin/sprof
|
removefrom glibc-common /usr/bin/locale /usr/bin/sprof
|
||||||
# NB: we keep /usr/bin/localedef so anaconda can inspect payload locale info
|
# NB: we keep /usr/bin/localedef so anaconda can inspect payload locale info
|
||||||
@ -180,14 +187,14 @@ removefrom glibc-common /usr/bin/tzselect
|
|||||||
removefrom glibc-common /usr/sbin/*
|
removefrom glibc-common /usr/sbin/*
|
||||||
removefrom gnutls /usr/share/locale/*
|
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-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 grep /etc/* /usr/share/locale/*
|
||||||
|
removefrom gtk2 /usr/bin/update-gtk-immodules
|
||||||
removefrom gtk3 /usr/${libdir}/gtk-3.0/*
|
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 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 hwdata /usr/share/hwdata/oui.txt /usr/share/hwdata/pnp.ids
|
||||||
removefrom iproute --allbut /usr/sbin/{ip,routef,routel,rtpr}
|
removefrom iproute --allbut /usr/sbin/{ip,routef,routel,rtpr}
|
||||||
removefrom kbd --allbut */bin/{dumpkeys,kbd_mode,loadkeys,setfont,unicode_*,chvt}
|
removefrom kbd --allbut */bin/{dumpkeys,kbd_mode,loadkeys,setfont,unicode_*,chvt}
|
||||||
|
removefrom kmod /usr/sbin/weak-modules
|
||||||
removefrom less /etc/*
|
removefrom less /etc/*
|
||||||
removefrom libX11-common /usr/share/X11/XErrorDB
|
removefrom libX11-common /usr/share/X11/XErrorDB
|
||||||
removefrom libcanberra /usr/${libdir}/libcanberra-*
|
removefrom libcanberra /usr/${libdir}/libcanberra-*
|
||||||
@ -206,7 +213,7 @@ removefrom linux-firmware /usr/lib/firmware/dvb*
|
|||||||
removefrom linux-firmware /usr/lib/firmware/*_12mhz*
|
removefrom linux-firmware /usr/lib/firmware/*_12mhz*
|
||||||
removefrom linux-firmware /usr/lib/firmware/v4l*
|
removefrom linux-firmware /usr/lib/firmware/v4l*
|
||||||
removefrom linux-firmware /usr/lib/firmware/brcm/BCM-*
|
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/emi26/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/emi62/*
|
removefrom linux-firmware /usr/lib/firmware/emi62/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/cpia2/*
|
removefrom linux-firmware /usr/lib/firmware/cpia2/*
|
||||||
@ -215,14 +222,14 @@ removefrom linux-firmware /usr/lib/firmware/vicam/*
|
|||||||
removefrom linux-firmware /usr/lib/firmware/dsp56k/*
|
removefrom linux-firmware /usr/lib/firmware/dsp56k/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/sun/*
|
removefrom linux-firmware /usr/lib/firmware/sun/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/av7110/*
|
removefrom linux-firmware /usr/lib/firmware/av7110/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/usbdux*
|
removefrom linux-firmware /usr/lib/firmware/usbdux/*
|
||||||
removefrom linux-firmware /usr/lib/firmware/f2255usb.bin*
|
removefrom linux-firmware /usr/lib/firmware/f2255usb.bin
|
||||||
removefrom linux-firmware /usr/lib/firmware/lgs8g75.fw*
|
removefrom linux-firmware /usr/lib/firmware/lgs8g75.fw
|
||||||
removefrom linux-firmware /usr/lib/firmware/TDA7706*
|
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/s5p-mfc*
|
||||||
removefrom linux-firmware /usr/lib/firmware/go7007/*
|
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/fw_sst*
|
||||||
removefrom linux-firmware /usr/lib/firmware/intel/dsp*
|
removefrom linux-firmware /usr/lib/firmware/intel/dsp*
|
||||||
removefrom linux-firmware /usr/lib/firmware/as102*
|
removefrom linux-firmware /usr/lib/firmware/as102*
|
||||||
@ -236,8 +243,7 @@ removefrom linux-firmware /usr/lib/firmware/mellanox/mlxsw_spectrum*
|
|||||||
%endif
|
%endif
|
||||||
removefrom lldpad /etc/*
|
removefrom lldpad /etc/*
|
||||||
removefrom mdadm /etc/* /usr/lib/systemd/system/mdmonitor*
|
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
|
||||||
removefrom mesa-dri-drivers /usr/${libdir}/dri/*_video.so /usr/lib64/gallium-pipe/*
|
|
||||||
removefrom mt-st /usr/sbin/*
|
removefrom mt-st /usr/sbin/*
|
||||||
removefrom mtools /etc/*
|
removefrom mtools /etc/*
|
||||||
removefrom ncurses-libs /usr/${libdir}/libform*
|
removefrom ncurses-libs /usr/${libdir}/libform*
|
||||||
@ -266,6 +272,7 @@ removefrom openssh /usr/libexec/*
|
|||||||
removefrom openssh-clients /etc/ssh/* /usr/bin/ssh-*
|
removefrom openssh-clients /etc/ssh/* /usr/bin/ssh-*
|
||||||
removefrom openssh-clients /usr/libexec/*
|
removefrom openssh-clients /usr/libexec/*
|
||||||
removefrom openssh-server /etc/ssh/* /usr/libexec/openssh/sftp-server
|
removefrom openssh-server /etc/ssh/* /usr/libexec/openssh/sftp-server
|
||||||
|
removefrom openssl /usr/bin/*
|
||||||
removefrom pam /usr/sbin/* /usr/share/locale/*
|
removefrom pam /usr/sbin/* /usr/share/locale/*
|
||||||
removefrom policycoreutils /etc/* /usr/bin/* /usr/share/locale/*
|
removefrom policycoreutils /etc/* /usr/bin/* /usr/share/locale/*
|
||||||
removefrom polkit /usr/bin/*
|
removefrom polkit /usr/bin/*
|
||||||
@ -288,25 +295,23 @@ removefrom smartmontools /usr/share/smartmontools/*
|
|||||||
removefrom tar /usr/share/locale/*
|
removefrom tar /usr/share/locale/*
|
||||||
removefrom usbutils /usr/bin/*
|
removefrom usbutils /usr/bin/*
|
||||||
removefrom util-linux --allbut \
|
removefrom util-linux --allbut \
|
||||||
/usr/bin/{chmem,eject,getopt,hexdump,login,lscpu,lsmem,lsblk} \
|
/usr/bin/{dmesg,eject,getopt,kill,login,lsblk,more,mount,umount,mountpoint,findmnt} \
|
||||||
/etc/pam.d/login /etc/pam.d/remote \
|
/etc/mtab /etc/pam.d/login /etc/pam.d/remote \
|
||||||
/usr/sbin/{clock,fdisk,fsfreeze,fstrim,hwclock,nologin,sfdisk,swaplabel,wipefs,zramctl}
|
/usr/sbin/{agetty,blkid,blockdev,clock,fdisk,fsck,fstrim,hwclock,losetup,zramctl} \
|
||||||
removefrom util-linux-core --allbut \
|
/usr/sbin/{mkswap,swaplabel,nologin,sfdisk,swapoff,swapon,wipefs,partx,fsfreeze} \
|
||||||
/usr/bin/{dmesg,findmnt,flock,kill,logger,more,mount,mountpoint,umount} \
|
/usr/bin/{logger,hexdump,flock,chmem,lsmem,lscpu}
|
||||||
/etc/mtab \
|
|
||||||
/usr/sbin/{agetty,blkid,blockdev,fsck,losetup,mkswap,partx,swapoff,swapon}
|
|
||||||
removefrom volume_key-libs /usr/share/locale/*
|
removefrom volume_key-libs /usr/share/locale/*
|
||||||
removefrom wget /etc/* /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-intel /usr/${libdir}/libI*
|
||||||
|
removefrom xorg-x11-drv-openchrome /usr/${libdir}/libchrome*
|
||||||
removefrom xorg-x11-drv-wacom /usr/bin/*
|
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:
|
%if branding.release:
|
||||||
removefrom ${branding.logos} /usr/share/plymouth/*
|
removefrom ${branding.logos} /usr/share/plymouth/*
|
||||||
removefrom ${branding.logos} /etc/*
|
removefrom ${branding.logos} /etc/*
|
||||||
removefrom ${branding.logos} /usr/share/icons/{Bluecurve,oxygen}/*
|
removefrom ${branding.logos} /usr/share/icons/{Bluecurve,oxygen}/*
|
||||||
removefrom ${branding.logos} /usr/share/{kde4,pixmaps}/*
|
removefrom ${branding.logos} /usr/share/{firstboot,kde4,pixmaps}/*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
## cleanup /boot/ leaving vmlinuz, and .*hmac files
|
## cleanup /boot/ leaving vmlinuz, and .*hmac files
|
||||||
|
@ -151,13 +151,11 @@ installpkg dmidecode
|
|||||||
|
|
||||||
|
|
||||||
## fonts & themes
|
## fonts & themes
|
||||||
installpkg abattis-cantarell-vf-fonts
|
installpkg abattis-cantarell-fonts
|
||||||
installpkg bitmap-fangsongti-fonts
|
installpkg bitmap-fangsongti-fonts
|
||||||
installpkg google-noto-sans-vf-fonts google-noto-sans-mono-vf-fonts
|
installpkg dejavu-sans-fonts dejavu-sans-mono-fonts
|
||||||
installpkg google-noto-sans-arabic-vf-fonts
|
|
||||||
installpkg google-noto-sans-cjk-ttc-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-fonts
|
||||||
installpkg google-noto-sans-gurmukhi-vf-fonts google-noto-sans-hebrew-vf-fonts
|
|
||||||
installpkg google-noto-sans-sinhala-vf-fonts
|
installpkg google-noto-sans-sinhala-vf-fonts
|
||||||
installpkg jomolhari-fonts
|
installpkg jomolhari-fonts
|
||||||
installpkg khmer-os-system-fonts
|
installpkg khmer-os-system-fonts
|
||||||
@ -171,9 +169,12 @@ installpkg lohit-odia-fonts
|
|||||||
installpkg lohit-tamil-fonts
|
installpkg lohit-tamil-fonts
|
||||||
installpkg lohit-telugu-fonts
|
installpkg lohit-telugu-fonts
|
||||||
installpkg paktype-naskh-basic-fonts
|
installpkg paktype-naskh-basic-fonts
|
||||||
|
installpkg sil-abyssinica-fonts
|
||||||
installpkg sil-padauk-fonts
|
installpkg sil-padauk-fonts
|
||||||
installpkg rit-meera-new-fonts
|
installpkg sil-scheherazade-fonts
|
||||||
|
installpkg smc-meera-fonts
|
||||||
installpkg thai-scalable-waree-fonts
|
installpkg thai-scalable-waree-fonts
|
||||||
|
installpkg xorg-x11-fonts-misc
|
||||||
|
|
||||||
## debugging/bug reporting tools
|
## debugging/bug reporting tools
|
||||||
installpkg gdb-gdbserver
|
installpkg gdb-gdbserver
|
||||||
|
@ -9,6 +9,7 @@ SOURCE_DATE_EPOCH = os.environ.get('SOURCE_DATE_EPOCH', str(int(time.time())))
|
|||||||
%>
|
%>
|
||||||
|
|
||||||
## move_stubs()
|
## move_stubs()
|
||||||
|
move usr/share/anaconda/restart-anaconda usr/bin
|
||||||
move usr/share/anaconda/list-harddrives-stub usr/bin/list-harddrives
|
move usr/share/anaconda/list-harddrives-stub usr/bin/list-harddrives
|
||||||
|
|
||||||
## move_repos()
|
## move_repos()
|
||||||
@ -26,6 +27,10 @@ symlink /lib/systemd/system/anaconda.target etc/systemd/system/default.target
|
|||||||
mkdir etc/systemd/system/local-fs.target.wants/
|
mkdir etc/systemd/system/local-fs.target.wants/
|
||||||
symlink /lib/systemd/system/tmp.mount etc/systemd/system/local-fs.target.wants/tmp.mount
|
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
|
## Disable unwanted systemd services
|
||||||
systemctl disable systemd-readahead-collect.service \
|
systemctl disable systemd-readahead-collect.service \
|
||||||
systemd-readahead-replay.service \
|
systemd-readahead-replay.service \
|
||||||
@ -38,7 +43,6 @@ systemctl mask fedora-configure.service fedora-loadmodules.service \
|
|||||||
fedora-wait-storage.service media.mount \
|
fedora-wait-storage.service media.mount \
|
||||||
systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer \
|
systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer \
|
||||||
ldconfig.service
|
ldconfig.service
|
||||||
remove usr/lib/systemd/system/rngd.service
|
|
||||||
|
|
||||||
## remove because it cannot be disabled
|
## remove because it cannot be disabled
|
||||||
remove usr/lib/systemd/system-generators/lvm2-activation-generator
|
remove usr/lib/systemd/system-generators/lvm2-activation-generator
|
||||||
@ -76,11 +80,6 @@ install ${configdir}/pam.sshd etc/pam.d/sshd
|
|||||||
install ${configdir}/pam.sshd etc/pam.d/login
|
install ${configdir}/pam.sshd etc/pam.d/login
|
||||||
install ${configdir}/pam.sshd etc/pam.d/remote
|
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
|
## set up "install" user account
|
||||||
append etc/passwd "install:x:0:0:root:/root:/usr/libexec/anaconda/run-anaconda"
|
append etc/passwd "install:x:0:0:root:/root:/usr/libexec/anaconda/run-anaconda"
|
||||||
append etc/shadow "install::14438:0:99999:7:::"
|
append etc/shadow "install::14438:0:99999:7:::"
|
||||||
@ -118,6 +117,6 @@ append etc/lvm/lvm.conf "global {\n\tuse_lvmetad = 1\n}\n"
|
|||||||
## TODO: we could run prelink here if we wanted?
|
## TODO: we could run prelink here if we wanted?
|
||||||
|
|
||||||
## fix fonconfig cache containing timestamps
|
## 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}" {} +
|
touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
|
||||||
runcmd chroot ${root} /usr/bin/fc-cache -f
|
runcmd chroot ${root} /usr/bin/fc-cache -f
|
||||||
|
@ -70,7 +70,7 @@ class ImageMinimizer:
|
|||||||
not_found = True
|
not_found = True
|
||||||
for hdr in mi:
|
for hdr in mi:
|
||||||
not_found = False
|
not_found = False
|
||||||
rpms.add(hdr['name'])
|
rpms.add(hdr['name'].decode("utf8"))
|
||||||
if self.verbose and not_found:
|
if self.verbose and not_found:
|
||||||
print("%s package not found" % pattern)
|
print("%s package not found" % pattern)
|
||||||
|
|
||||||
@ -145,13 +145,8 @@ class ImageMinimizer:
|
|||||||
self.ts.run(runCallback, "erase")
|
self.ts.run(runCallback, "erase")
|
||||||
|
|
||||||
def filter(self):
|
def filter(self):
|
||||||
if not os.path.isdir(self.prefix):
|
for line in (open(self.filename).readlines()):
|
||||||
raise FileNotFoundError(f"No such directory: '{self.prefix}")
|
|
||||||
|
|
||||||
with open(self.filename) as f:
|
|
||||||
for line in f:
|
|
||||||
self.parse_line(line.strip())
|
self.parse_line(line.strip())
|
||||||
|
|
||||||
self.remove()
|
self.remove()
|
||||||
self.remove_rpm()
|
self.remove_rpm()
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ else:
|
|||||||
DRACUT_DEFAULT = ["--xz", "--install", "/.buildstamp", "--no-early-microcode", "--add", "fips"]
|
DRACUT_DEFAULT = ["--xz", "--install", "/.buildstamp", "--no-early-microcode", "--add", "fips"]
|
||||||
|
|
||||||
# Used for DNF conf.module_platform_id
|
# Used for DNF conf.module_platform_id
|
||||||
DEFAULT_PLATFORM_ID = "platform:f36"
|
DEFAULT_PLATFORM_ID = "platform:f35"
|
||||||
DEFAULT_RELEASEVER = "36"
|
DEFAULT_RELEASEVER = "35"
|
||||||
|
|
||||||
class ArchData(DataHolder):
|
class ArchData(DataHolder):
|
||||||
lib64_arches = ("x86_64", "ppc64le", "s390x", "ia64", "aarch64")
|
lib64_arches = ("x86_64", "ppc64le", "s390x", "ia64", "aarch64")
|
||||||
|
@ -416,17 +416,12 @@ def novirt_install(opts, disk_img, disk_size, cancel_func=None, tar_img=None):
|
|||||||
setfiles_args = ["-e", "/proc", "-e", "/sys",
|
setfiles_args = ["-e", "/proc", "-e", "/sys",
|
||||||
"/etc/selinux/targeted/contexts/files/file_contexts", "/"]
|
"/etc/selinux/targeted/contexts/files/file_contexts", "/"]
|
||||||
|
|
||||||
execWithRedirect("sync", ["-f", dirinstall_path])
|
|
||||||
if "--dirinstall" in args:
|
if "--dirinstall" in args:
|
||||||
# setfiles may not be available, warn instead of fail
|
# setfiles may not be available, warn instead of fail
|
||||||
try:
|
try:
|
||||||
execWithRedirect("setfiles", setfiles_args, root=dirinstall_path)
|
execWithRedirect("setfiles", setfiles_args, root=dirinstall_path)
|
||||||
except (subprocess.CalledProcessError, OSError) as e:
|
except (subprocess.CalledProcessError, OSError) as e:
|
||||||
log.warning("Running setfiles on install tree failed: %s", str(e))
|
log.warning("Running setfiles on install tree failed: %s", str(e))
|
||||||
|
|
||||||
if os.path.exists(disk_img):
|
|
||||||
execWithRedirect("du", ["-B", "1", disk_img])
|
|
||||||
execWithRedirect("fstrim", ["-v", dirinstall_path])
|
|
||||||
else:
|
else:
|
||||||
with PartitionMount(disk_img) as img_mount:
|
with PartitionMount(disk_img) as img_mount:
|
||||||
if img_mount and img_mount.mount_dir:
|
if img_mount and img_mount.mount_dir:
|
||||||
@ -437,10 +432,7 @@ def novirt_install(opts, disk_img, disk_size, cancel_func=None, tar_img=None):
|
|||||||
|
|
||||||
# For image installs, run fstrim to discard unused blocks. This way
|
# For image installs, run fstrim to discard unused blocks. This way
|
||||||
# unused blocks do not need to be allocated for sparse image types
|
# unused blocks do not need to be allocated for sparse image types
|
||||||
execWithRedirect("du", ["-B", "1", disk_img])
|
execWithRedirect("fstrim", [img_mount.mount_dir])
|
||||||
execWithRedirect("fstrim", ["-v", img_mount.mount_dir])
|
|
||||||
if os.path.exists(disk_img):
|
|
||||||
execWithRedirect("du", ["-B", "1", disk_img])
|
|
||||||
|
|
||||||
except (subprocess.CalledProcessError, OSError) as e:
|
except (subprocess.CalledProcessError, OSError) as e:
|
||||||
log.error("Running anaconda failed: %s", e)
|
log.error("Running anaconda failed: %s", e)
|
||||||
@ -532,10 +524,8 @@ def novirt_install(opts, disk_img, disk_size, cancel_func=None, tar_img=None):
|
|||||||
if rc:
|
if rc:
|
||||||
raise InstallError("novirt_install mktar failed: rc=%s" % rc)
|
raise InstallError("novirt_install mktar failed: rc=%s" % rc)
|
||||||
else:
|
else:
|
||||||
# Examine the image for sections that can be made sparse
|
# For raw disk images, use fallocate to deallocate unused space
|
||||||
execWithRedirect("du", ["-B", "1", disk_img])
|
execWithRedirect("fallocate", ["--dig-holes", disk_img], raise_err=True)
|
||||||
execWithRedirect("fallocate", ["--dig-holes", "-v", disk_img], raise_err=True)
|
|
||||||
execWithRedirect("du", ["-B", "1", disk_img])
|
|
||||||
|
|
||||||
# For make_tar_disk, wrap the result in a tar file, and remove the original disk image.
|
# For make_tar_disk, wrap the result in a tar file, and remove the original disk image.
|
||||||
if opts.make_tar_disk:
|
if opts.make_tar_disk:
|
||||||
|
@ -74,25 +74,30 @@ class LogRequestHandler(socketserver.BaseRequestHandler):
|
|||||||
Loops until self.server.kill is True
|
Loops until self.server.kill is True
|
||||||
"""
|
"""
|
||||||
log.info("Processing logs from %s", self.client_address)
|
log.info("Processing logs from %s", self.client_address)
|
||||||
data = b""
|
line = ""
|
||||||
while True:
|
while True:
|
||||||
if self.server.kill:
|
if self.server.kill:
|
||||||
break
|
break
|
||||||
|
|
||||||
try:
|
try:
|
||||||
data += self.request.recv(4096)
|
data = str(self.request.recv(4096), "utf8")
|
||||||
for line in data.splitlines(keepends=True):
|
|
||||||
if line.endswith(b"\n"):
|
|
||||||
# Ignore invalid UTF8 inside lines
|
|
||||||
self.iserror(str(line[:-1], "utf8", "ignore"))
|
|
||||||
if self.fp:
|
if self.fp:
|
||||||
self.fp.write(str(line, "utf8", "ignore"))
|
self.fp.write(data)
|
||||||
self.fp.flush()
|
self.fp.flush()
|
||||||
data = b""
|
|
||||||
|
# check the data for errors and set error flag
|
||||||
|
# need to assemble it into lines so we can test for the error
|
||||||
|
# string.
|
||||||
|
while data:
|
||||||
|
more = data.split("\n", 1)
|
||||||
|
line += more[0]
|
||||||
|
if len(more) > 1:
|
||||||
|
self.iserror(line)
|
||||||
|
line = ""
|
||||||
|
data = more[1]
|
||||||
else:
|
else:
|
||||||
# Not the end of the line, keep for later
|
data = None
|
||||||
data = line
|
|
||||||
break
|
|
||||||
except socket.timeout:
|
except socket.timeout:
|
||||||
pass
|
pass
|
||||||
except Exception as e: # pylint: disable=broad-except
|
except Exception as e: # pylint: disable=broad-except
|
||||||
@ -101,6 +106,7 @@ class LogRequestHandler(socketserver.BaseRequestHandler):
|
|||||||
|
|
||||||
def finish(self):
|
def finish(self):
|
||||||
log.info("Shutting down log processing")
|
log.info("Shutting down log processing")
|
||||||
|
self.request.close()
|
||||||
if self.fp:
|
if self.fp:
|
||||||
self.fp.close()
|
self.fp.close()
|
||||||
|
|
||||||
@ -196,4 +202,3 @@ class LogMonitor(object):
|
|||||||
"""Force shutdown of the monitoring thread"""
|
"""Force shutdown of the monitoring thread"""
|
||||||
self.server.kill = True
|
self.server.kill = True
|
||||||
self.server_thread.join()
|
self.server_thread.join()
|
||||||
self.server.server_close()
|
|
||||||
|
@ -59,8 +59,7 @@ class IsoMountpoint(object):
|
|||||||
|
|
||||||
kernel_list = [("/isolinux/vmlinuz", "/isolinux/initrd.img"),
|
kernel_list = [("/isolinux/vmlinuz", "/isolinux/initrd.img"),
|
||||||
("/ppc/ppc64/vmlinuz", "/ppc/ppc64/initrd.img"),
|
("/ppc/ppc64/vmlinuz", "/ppc/ppc64/initrd.img"),
|
||||||
("/images/pxeboot/vmlinuz", "/images/pxeboot/initrd.img"),
|
("/images/pxeboot/vmlinuz", "/images/pxeboot/initrd.img")]
|
||||||
("/images/kernel.img", "/images/initrd.img")]
|
|
||||||
|
|
||||||
if os.path.isdir(self.mount_dir+"/repodata"):
|
if os.path.isdir(self.mount_dir+"/repodata"):
|
||||||
self.repo = self.mount_dir
|
self.repo = self.mount_dir
|
||||||
|
163
src/sbin/mkksiso
163
src/sbin/mkksiso
@ -31,9 +31,6 @@ NO_EFI = 0
|
|||||||
EFIBOOT = 1
|
EFIBOOT = 1
|
||||||
MACBOOT = 2
|
MACBOOT = 2
|
||||||
|
|
||||||
# Maximum filename length
|
|
||||||
MAX_FNAME = 253
|
|
||||||
|
|
||||||
class Tool():
|
class Tool():
|
||||||
"""A class to check for executables and required files"""
|
"""A class to check for executables and required files"""
|
||||||
tools = []
|
tools = []
|
||||||
@ -44,9 +41,8 @@ class Tool():
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
# If there are arches listed it must be running on one of them
|
# If there are arches listed it must be running on one of them
|
||||||
if self.arches and os.uname().machine not in self.arches:
|
if self.arches and os.uname().machine not in self.arches:
|
||||||
msg = "%s class does not support %s arch" % (self.__class__.__name__, os.uname().machine)
|
log.debug("%s is not supported by this tool", os.uname().machine)
|
||||||
log.debug(msg)
|
raise RuntimeError("%s not supported" % os.uname().machine)
|
||||||
raise RuntimeError(msg)
|
|
||||||
|
|
||||||
# Check the system to see if the tools are available and record their paths
|
# Check the system to see if the tools are available and record their paths
|
||||||
for e in self.tools:
|
for e in self.tools:
|
||||||
@ -105,60 +101,21 @@ class MkmacbootTool(MkefibootTool):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
||||||
class MkCdbootImg(Tool):
|
|
||||||
"""Create the s390x cdboot.img"""
|
|
||||||
tools = ["mk-s390image"]
|
|
||||||
arches = ["s390x"]
|
|
||||||
|
|
||||||
def run(self, isodir, tmpdir, product="Fedora"):
|
|
||||||
def tf(f):
|
|
||||||
return os.path.join(tmpdir, f)
|
|
||||||
|
|
||||||
# First check for the needed files
|
|
||||||
for f in ["images/kernel.img", "images/initrd.img", "images/cdboot.prm"]:
|
|
||||||
if not os.path.exists(tf(f)):
|
|
||||||
log.debug("Missing file %s", f)
|
|
||||||
raise RuntimeError("Missing requirement %s" % f)
|
|
||||||
|
|
||||||
cmd = ["mk-s390image", tf("images/kernel.img"), tf("images/cdboot.img"),
|
|
||||||
"-r", tf("images/initrd.img"),
|
|
||||||
"-p", tf("images/cdboot.prm")]
|
|
||||||
log.debug(" ".join(cmd))
|
|
||||||
try:
|
|
||||||
subprocess.check_output(cmd)
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
log.error(str(e))
|
|
||||||
raise RuntimeError("Running mk-s390image")
|
|
||||||
|
|
||||||
# images/cdboot.img always exists, already in grafts list
|
|
||||||
return []
|
|
||||||
|
|
||||||
|
|
||||||
class MakeISOTool(Tool):
|
class MakeISOTool(Tool):
|
||||||
"""Class to hold details for specific iso creation tools"""
|
"""Class to hold details for specific iso creation tools"""
|
||||||
def check_files(self, grafts):
|
def check_file_sizes(self, grafts):
|
||||||
"""Check file size and filename length for problems
|
"""Return True any file exceeds 4GiB"""
|
||||||
|
|
||||||
Returns True if any file exceeds 4GiB
|
|
||||||
Raises a RuntimeError if any filename is longer than MAX_FNAME
|
|
||||||
This examines all the files included, so may take some time.
|
|
||||||
"""
|
|
||||||
big_file = False
|
|
||||||
for src, _ in grafts:
|
for src, _ in grafts:
|
||||||
if os.path.isdir(src):
|
if os.path.isdir(src):
|
||||||
for top, dirs, files in os.walk(src):
|
for top, dirs, files in os.walk(src):
|
||||||
for f in files + dirs:
|
for f in files + dirs:
|
||||||
if os.stat(os.path.join(top,f)).st_size >= 4*1024**3:
|
if os.stat(os.path.join(top,f)).st_size >= 4*1024**3:
|
||||||
big_file = True
|
return True
|
||||||
if len(f) > MAX_FNAME:
|
|
||||||
raise RuntimeError("iso contains filenames that are too long: %s" % f)
|
|
||||||
else:
|
else:
|
||||||
if os.stat(src).st_size >= 4*1024**3:
|
if os.stat(src).st_size >= 4*1024**3:
|
||||||
big_file = True
|
return True
|
||||||
if len(src) > MAX_FNAME:
|
|
||||||
raise RuntimeError("iso contains filenames that are too long: %s" % f)
|
|
||||||
|
|
||||||
return big_file
|
return False
|
||||||
|
|
||||||
def _exec(self, cmd, grafts, output_iso, efimode=NO_EFI, implantmd5=True):
|
def _exec(self, cmd, grafts, output_iso, efimode=NO_EFI, implantmd5=True):
|
||||||
"""Add the grafts and run the command and then implant the md5 checksums"""
|
"""Add the grafts and run the command and then implant the md5 checksums"""
|
||||||
@ -208,7 +165,7 @@ class Mkisofs_aarch64(MakeISOTool):
|
|||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
||||||
"-joliet-long", "-T"]
|
"-T"]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
if efimode > NO_EFI:
|
if efimode > NO_EFI:
|
||||||
@ -216,7 +173,7 @@ class Mkisofs_aarch64(MakeISOTool):
|
|||||||
if efimode > EFIBOOT:
|
if efimode > EFIBOOT:
|
||||||
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.append("-allow-limited-size")
|
cmd.append("-allow-limited-size")
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -225,20 +182,19 @@ class Mkisofs_aarch64(MakeISOTool):
|
|||||||
|
|
||||||
class Mkisofs_ppc(MakeISOTool):
|
class Mkisofs_ppc(MakeISOTool):
|
||||||
"""Use the mkisofs tool to create the final iso (ppc)"""
|
"""Use the mkisofs tool to create the final iso (ppc)"""
|
||||||
tools = ["mkisofs", "implantisomd5"]
|
tools = ["mkisofs"]
|
||||||
requirements = ["/usr/share/lorax/templates.d/99-generic/config_files/ppc/mapping"]
|
requirements = ["/usr/share/lorax/templates.d/99-generic/config_files/ppc/mapping"]
|
||||||
arches = ["ppc"]
|
arches = ["ppc"]
|
||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["mkisofs", "-joliet-long", "-U", "-J", "-R", "-T",
|
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
||||||
"-o", output_iso, "-part", "-hfs", "-r", "-l",
|
"-U", "-T", "-part", "-hfs", "-r", "-l", "-sysid", "PPC",
|
||||||
"-sysid", "PPC", "-V", volume_name, "-chrp-boot",
|
"-chrp-boot", "-no-desktop", "-allow-multidot",
|
||||||
"-hfs-bless", "boot/grub/powerpc-ieee1275",
|
"-map", self.requirements[0], "-hfs-bless", "boot/grub/powerpc-ieee1275"]
|
||||||
"-map", self.requirements[0], "-no-desktop", "-allow-multidot"]
|
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.append("-allow-limited-size")
|
cmd.append("-allow-limited-size")
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -247,19 +203,19 @@ class Mkisofs_ppc(MakeISOTool):
|
|||||||
|
|
||||||
class Mkisofs_ppc64le(MakeISOTool):
|
class Mkisofs_ppc64le(MakeISOTool):
|
||||||
"""Use the mkisofs tool to create the final iso (ppc64le)"""
|
"""Use the mkisofs tool to create the final iso (ppc64le)"""
|
||||||
tools = ["mkisofs", "implantisomd5"]
|
tools = ["mkisofs"]
|
||||||
requirements = ["/usr/share/lorax/templates.d/99-generic/config_files/ppc/mapping"]
|
requirements = ["/usr/share/lorax/templates.d/99-generic/config_files/ppc/mapping"]
|
||||||
arches = ["ppc64le"]
|
arches = ["ppc64le"]
|
||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["mkisofs", "-joliet-long", "-U", "-J", "-R", "-T",
|
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
||||||
"-o", output_iso, "-part", "-hfs", "-r", "-l",
|
"-T", "-part", "-hfs", "-r", "-l", "-sysid", "PPC",
|
||||||
"-sysid", "PPC", "-V", volume_name, "-chrp-boot",
|
"-chrp-boot", "-no-desktop", "-allow-multidot",
|
||||||
"-map", self.requirements[0], "-no-desktop", "-allow-multidot"]
|
"-map", self.requirements[0]]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.append("-allow-limited-size")
|
cmd.append("-allow-limited-size")
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -268,20 +224,19 @@ class Mkisofs_ppc64le(MakeISOTool):
|
|||||||
|
|
||||||
class Mkisofs_s390(MakeISOTool):
|
class Mkisofs_s390(MakeISOTool):
|
||||||
"""Use the mkisofs tool to create the final iso (s390)"""
|
"""Use the mkisofs tool to create the final iso (s390)"""
|
||||||
tools = ["mkisofs", "implantisomd5"]
|
tools = ["mkisofs"]
|
||||||
requirements = []
|
requirements = []
|
||||||
arches = ["s390", "s390x"]
|
arches = ["s390", "s390x"]
|
||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
||||||
"-joliet-long",
|
|
||||||
"-b", "images/cdboot.img",
|
"-b", "images/cdboot.img",
|
||||||
"-c", "images/boot.cat",
|
"-c", "images/boot.cat",
|
||||||
"-boot-load-size", "4", "-no-emul-boot"]
|
"-boot-load-size", "4", "-no-emul-boot"]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.append("-allow-limited-size")
|
cmd.append("-allow-limited-size")
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -290,13 +245,12 @@ class Mkisofs_s390(MakeISOTool):
|
|||||||
|
|
||||||
class Mkisofs_x86_64(MakeISOTool):
|
class Mkisofs_x86_64(MakeISOTool):
|
||||||
"""Use the mkisofs tool to create the final iso (x86_64)"""
|
"""Use the mkisofs tool to create the final iso (x86_64)"""
|
||||||
tools = ["mkisofs", "isohybrid", "implantisomd5"]
|
tools = ["mkisofs", "isohybrid"]
|
||||||
requirements = []
|
requirements = []
|
||||||
arches = ["x86_64", "i386"]
|
arches = ["x86_64", "i386"]
|
||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
cmd = ["mkisofs", "-o", output_iso, "-R", "-J", "-V", volume_name,
|
||||||
"-joliet-long",
|
|
||||||
"-b", "isolinux/isolinux.bin",
|
"-b", "isolinux/isolinux.bin",
|
||||||
"-c", "isolinux/boot.cat",
|
"-c", "isolinux/boot.cat",
|
||||||
"-boot-load-size", "4", "-boot-info-table", "-no-emul-boot"]
|
"-boot-load-size", "4", "-boot-info-table", "-no-emul-boot"]
|
||||||
@ -307,7 +261,7 @@ class Mkisofs_x86_64(MakeISOTool):
|
|||||||
if efimode > EFIBOOT:
|
if efimode > EFIBOOT:
|
||||||
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.append("-allow-limited-size")
|
cmd.append("-allow-limited-size")
|
||||||
|
|
||||||
# Create the iso, implant the md5 checksums, and create hybrid iso
|
# Create the iso, implant the md5 checksums, and create hybrid iso
|
||||||
@ -322,7 +276,7 @@ class Xorrisofs_aarch64(MakeISOTool):
|
|||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode):
|
||||||
cmd = ["xorrisofs", "-o", output_iso,
|
cmd = ["xorrisofs", "-o", output_iso,
|
||||||
"-R", "-J", "-V", volume_name, "-joliet-long"]
|
"-R", "-J", "-V", volume_name]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
if efimode >= EFIBOOT:
|
if efimode >= EFIBOOT:
|
||||||
@ -330,7 +284,7 @@ class Xorrisofs_aarch64(MakeISOTool):
|
|||||||
if efimode == MACBOOT:
|
if efimode == MACBOOT:
|
||||||
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot"])
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.extend(["-iso-level", "3"])
|
cmd.extend(["-iso-level", "3"])
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -345,13 +299,13 @@ class Xorrisofs_ppc64le(MakeISOTool):
|
|||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["xorrisofs", "-o", output_iso,
|
cmd = ["xorrisofs", "-o", output_iso,
|
||||||
"-R", "-J", "-V", volume_name, "-joliet-long",
|
"-R", "-J", "-V", volume_name,
|
||||||
"-U", "-r", "-l", "-sysid", "PPC",
|
"-U", "-r", "-l", "-sysid", "PPC",
|
||||||
"-A", volume_name, "-chrp-boot"]
|
"-A", volume_name, "-chrp-boot"]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.extend(["-iso-level", "3"])
|
cmd.extend(["-iso-level", "3"])
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -366,13 +320,13 @@ class Xorrisofs_s390(MakeISOTool):
|
|||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["xorrisofs", "-o", output_iso,
|
cmd = ["xorrisofs", "-o", output_iso,
|
||||||
"-R", "-J", "-V", volume_name, "-joliet-long",
|
"-R", "-J", "-V", volume_name,
|
||||||
"-b", "images/cdboot.img", "-c", "images/boot.cat",
|
"-b", "images/cdboot.img", "-c", "images/boot.cat",
|
||||||
"-boot-load-size", "4", "-no-emul-boot"]
|
"-boot-load-size", "4", "-no-emul-boot"]
|
||||||
if log.root.level < log.INFO:
|
if log.root.level < log.INFO:
|
||||||
cmd.append("--verbose")
|
cmd.append("--verbose")
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.extend(["-iso-level", "3"])
|
cmd.extend(["-iso-level", "3"])
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -387,7 +341,7 @@ class Xorrisofs_x86_64(MakeISOTool):
|
|||||||
|
|
||||||
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
def run(self, tmpdir, grafts, volume_name, output_iso, efimode=NO_EFI):
|
||||||
cmd = ["xorrisofs", "-o", output_iso,
|
cmd = ["xorrisofs", "-o", output_iso,
|
||||||
"-R", "-J", "-V", volume_name, "-joliet-long",
|
"-R", "-J", "-V", volume_name,
|
||||||
"-isohybrid-mbr", self.requirements[0],
|
"-isohybrid-mbr", self.requirements[0],
|
||||||
"-b", "isolinux/isolinux.bin",
|
"-b", "isolinux/isolinux.bin",
|
||||||
"-c", "isolinux/boot.cat",
|
"-c", "isolinux/boot.cat",
|
||||||
@ -399,7 +353,7 @@ class Xorrisofs_x86_64(MakeISOTool):
|
|||||||
if efimode == MACBOOT:
|
if efimode == MACBOOT:
|
||||||
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot", "-isohybrid-gpt-hfsplus"])
|
cmd.extend(["-eltorito-alt-boot", "-e", "images/macboot.img", "-no-emul-boot", "-isohybrid-gpt-hfsplus"])
|
||||||
|
|
||||||
if self.check_files(grafts):
|
if self.check_file_sizes(grafts):
|
||||||
cmd.extend(["-iso-level", "3"])
|
cmd.extend(["-iso-level", "3"])
|
||||||
|
|
||||||
# Create the iso and implant the md5 checksums
|
# Create the iso and implant the md5 checksums
|
||||||
@ -440,18 +394,6 @@ class MakeKickstartISO():
|
|||||||
try:
|
try:
|
||||||
self.iso = IsoMountpoint(self.input_iso)
|
self.iso = IsoMountpoint(self.input_iso)
|
||||||
self.label = self.iso.label if volid is None else volid
|
self.label = self.iso.label if volid is None else volid
|
||||||
if not self.label:
|
|
||||||
raise RuntimeError("No volume id found, cannot create iso.")
|
|
||||||
|
|
||||||
# If the iso contains a .discinfo file check the arch against the host's
|
|
||||||
if os.path.exists(os.path.join(self.iso.mount_dir, ".discinfo")):
|
|
||||||
with open(os.path.join(self.iso.mount_dir, ".discinfo")) as f:
|
|
||||||
discinfo = [l.strip() for l in f.readlines()]
|
|
||||||
|
|
||||||
log.info("iso arch = %s", discinfo[2])
|
|
||||||
if os.uname().machine != discinfo[2]:
|
|
||||||
raise RuntimeError("iso arch does not match the host arch.")
|
|
||||||
|
|
||||||
log.info("Volume Id = %s", self.label)
|
log.info("Volume Id = %s", self.label)
|
||||||
|
|
||||||
if os.path.exists(os.path.join(self.iso.mount_dir, "images/efiboot.img")):
|
if os.path.exists(os.path.join(self.iso.mount_dir, "images/efiboot.img")):
|
||||||
@ -501,25 +443,10 @@ class MakeKickstartISO():
|
|||||||
os.unlink(os.path.join(src, f))
|
os.unlink(os.path.join(src, f))
|
||||||
|
|
||||||
def run_mkefiboot(self, isodir, tmpdir):
|
def run_mkefiboot(self, isodir, tmpdir):
|
||||||
if self.efimode == NO_EFI:
|
|
||||||
return
|
|
||||||
|
|
||||||
self.mkefiboot.run(isodir, tmpdir)
|
self.mkefiboot.run(isodir, tmpdir)
|
||||||
if self.efimode == MACBOOT:
|
if self.efimode == MACBOOT:
|
||||||
self.mkmacboot.run(isodir, tmpdir)
|
self.mkmacboot.run(isodir, tmpdir)
|
||||||
|
|
||||||
def run_mkcdbootimg(self, isodir, tmpdir):
|
|
||||||
"""Rebuild the cdboot.img if this is running on s390x
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
t = MkCdbootImg()
|
|
||||||
except RuntimeError as e:
|
|
||||||
# This is expected on everything except s390x
|
|
||||||
if "does not support" in str(e):
|
|
||||||
return
|
|
||||||
raise
|
|
||||||
t.run(isodir, tmpdir)
|
|
||||||
|
|
||||||
def edit_configs(self, isodir, tmpdir):
|
def edit_configs(self, isodir, tmpdir):
|
||||||
"""Find and edit any configuration files
|
"""Find and edit any configuration files
|
||||||
|
|
||||||
@ -605,17 +532,14 @@ class MakeKickstartISO():
|
|||||||
out_fp.write("\n")
|
out_fp.write("\n")
|
||||||
|
|
||||||
def _edit_s390(self, isodir, tmpdir):
|
def _edit_s390(self, isodir, tmpdir):
|
||||||
"""Edit the generic.prm and cdboot.prm files, adding the kickstart
|
"""Edit the images/generic.prm file, adding the kickstart and extra arguments"""
|
||||||
and extra arguments
|
orig_cfg = os.path.join(isodir, "images/generic.prm")
|
||||||
"""
|
|
||||||
for cfg in ["images/generic.prm", "images/cdboot.prm"]:
|
|
||||||
orig_cfg = os.path.join(isodir, cfg)
|
|
||||||
if not os.path.exists(orig_cfg):
|
if not os.path.exists(orig_cfg):
|
||||||
log.warning("No %s file found", cfg)
|
log.warning("No images/generic.prm file found")
|
||||||
continue
|
return []
|
||||||
|
|
||||||
# Append to the config file
|
# Append to the config file
|
||||||
with open(os.path.join(tmpdir, cfg), "a") as out_fp:
|
with open(os.path.join(tmpdir, "images/generic.prm"), "a") as out_fp:
|
||||||
out_fp.write(self.add_args+"\n")
|
out_fp.write(self.add_args+"\n")
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
@ -635,9 +559,6 @@ class MakeKickstartISO():
|
|||||||
# Copy and edit the configuration files
|
# Copy and edit the configuration files
|
||||||
self.edit_configs(self.iso.mount_dir, tmpdir)
|
self.edit_configs(self.iso.mount_dir, tmpdir)
|
||||||
|
|
||||||
# Recreate the cdboot.img on s390x
|
|
||||||
self.run_mkcdbootimg(self.iso.mount_dir, tmpdir)
|
|
||||||
|
|
||||||
# Run the mkefiboot tool on the edited EFI directory, add the new files to the grafts
|
# Run the mkefiboot tool on the edited EFI directory, add the new files to the grafts
|
||||||
self.run_mkefiboot(self.iso.mount_dir, tmpdir)
|
self.run_mkefiboot(self.iso.mount_dir, tmpdir)
|
||||||
|
|
||||||
@ -684,7 +605,7 @@ def main():
|
|||||||
|
|
||||||
if os.getuid() != 0:
|
if os.getuid() != 0:
|
||||||
log.error("You must run this as root, it needs to mount the iso and run mkefiboot")
|
log.error("You must run this as root, it needs to mount the iso and run mkefiboot")
|
||||||
return 1
|
sys.exit(-1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
app = MakeKickstartISO(args.ks, args.input_iso, args.output_iso,
|
app = MakeKickstartISO(args.ks, args.input_iso, args.output_iso,
|
||||||
@ -692,10 +613,6 @@ def main():
|
|||||||
app.run()
|
app.run()
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
log.error(str(e))
|
log.error(str(e))
|
||||||
return 1
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
sys.exit(main())
|
main()
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
# test script for image-minimizer
|
|
||||||
drop /etc/pki/rpm-gpg/*
|
|
||||||
keep /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-11-primary
|
|
||||||
keep /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-12-primary
|
|
||||||
drop /usr/share/zoneinfo/*
|
|
||||||
keep /usr/share/zoneinfo/America
|
|
||||||
keep /usr/share/zoneinfo/US
|
|
||||||
keep /usr/share/zoneinfo/UTC
|
|
||||||
droprpm fedora-*
|
|
||||||
keeprpm fedora-release
|
|
||||||
keeprpm fedora-gpg-keys
|
|
@ -1 +0,0 @@
|
|||||||
../../src/bin/image-minimizer
|
|
@ -1,45 +0,0 @@
|
|||||||
import os
|
|
||||||
from subprocess import check_call, CalledProcessError
|
|
||||||
import tempfile
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
from minimizer import ImageMinimizer
|
|
||||||
|
|
||||||
class MinimizerTestCase(unittest.TestCase):
|
|
||||||
def test_minimizer_ok(self):
|
|
||||||
with tempfile.TemporaryDirectory(prefix="minimize.test.") as rootdir:
|
|
||||||
check_call(["dnf", "--releasever=/", "--installroot", rootdir, "install", "-y", \
|
|
||||||
"filesystem"])
|
|
||||||
|
|
||||||
im = ImageMinimizer("./tests/image-minimizer/im-script.txt", rootdir, False, False)
|
|
||||||
im.filter()
|
|
||||||
|
|
||||||
# /etc/pki/rpm-gpg/ should only have 2 files
|
|
||||||
self.assertEqual(sorted(os.listdir(f"{rootdir}/etc/pki/rpm-gpg/")), ["RPM-GPG-KEY-fedora-11-primary", "RPM-GPG-KEY-fedora-12-primary"])
|
|
||||||
|
|
||||||
# zoneinfo should have 2 directories and a file
|
|
||||||
self.assertEqual(sorted(os.listdir(f"{rootdir}/usr/share/zoneinfo/")), ["America", "US", "UTC"])
|
|
||||||
|
|
||||||
check_call(["rpm", "--root", rootdir, "-q", "fedora-release", "fedora-gpg-keys"])
|
|
||||||
|
|
||||||
with self.assertRaises(CalledProcessError):
|
|
||||||
check_call(["rpm", "--root", rootdir, "-q", "fedora-repos"])
|
|
||||||
|
|
||||||
def test_minimizer_empty(self):
|
|
||||||
## No packages in tree (this is ok, nothing to remove)
|
|
||||||
with tempfile.TemporaryDirectory(prefix="minimize.test.") as rootdir:
|
|
||||||
im = ImageMinimizer("./tests/image-minimizer/im-script.txt", rootdir, False, False)
|
|
||||||
im.filter()
|
|
||||||
|
|
||||||
def test_minimizer_missing_script(self):
|
|
||||||
## No minimizer script
|
|
||||||
with tempfile.TemporaryDirectory(prefix="minimize.test.") as rootdir:
|
|
||||||
im = ImageMinimizer("./tests/image-minimizer/missing.txt", rootdir, False, False)
|
|
||||||
with self.assertRaises(FileNotFoundError):
|
|
||||||
im.filter()
|
|
||||||
|
|
||||||
def test_minimizer_missing_root(self):
|
|
||||||
## Missing directory
|
|
||||||
im = ImageMinimizer("./tests/image-minimizer/im-script.txt", "/tmp/minimizer.root", False, False)
|
|
||||||
with self.assertRaises(FileNotFoundError):
|
|
||||||
im.filter()
|
|
@ -1,69 +0,0 @@
|
|||||||
import socket
|
|
||||||
import time
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
from pylorax.monitor import LogMonitor
|
|
||||||
|
|
||||||
class LogMonitorTest(unittest.TestCase):
|
|
||||||
def test_monitor(self):
|
|
||||||
monitor = LogMonitor(timeout=1)
|
|
||||||
try:
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.connect((monitor.host, monitor.port))
|
|
||||||
s.sendall("Just a test string\nwith two and a half\nlines in it".encode("utf8"))
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertFalse(monitor.server.log_check())
|
|
||||||
s.sendall("\nAnother line\nTraceback (Not a real traceback)\n".encode("utf8"))
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertTrue(monitor.server.log_check())
|
|
||||||
self.assertEqual(monitor.server.error_line, "Traceback (Not a real traceback)")
|
|
||||||
finally:
|
|
||||||
monitor.shutdown()
|
|
||||||
|
|
||||||
def test_monitor_IGNORED(self):
|
|
||||||
monitor = LogMonitor(timeout=1)
|
|
||||||
try:
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.connect((monitor.host, monitor.port))
|
|
||||||
s.sendall("Just a test string\nwith two and a half\nlines in it".encode("utf8"))
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertFalse(monitor.server.log_check())
|
|
||||||
s.sendall("\nAnother line\nIGNORED: Traceback (Not a real traceback)\n".encode("utf8"))
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertFalse(monitor.server.log_check())
|
|
||||||
self.assertEqual(monitor.server.error_line, "")
|
|
||||||
finally:
|
|
||||||
monitor.shutdown()
|
|
||||||
|
|
||||||
def test_monitor_timeout(self):
|
|
||||||
# Timeout is in minutes so to shorten the test we pass 0.1
|
|
||||||
monitor = LogMonitor(timeout=0.1)
|
|
||||||
try:
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.connect((monitor.host, monitor.port))
|
|
||||||
s.sendall("Just a test string\nwith two and a half\nlines in it".encode("utf8"))
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertFalse(monitor.server.log_check())
|
|
||||||
time.sleep(7)
|
|
||||||
self.assertTrue(monitor.server.log_check())
|
|
||||||
self.assertEqual(monitor.server.error_line, "")
|
|
||||||
finally:
|
|
||||||
monitor.shutdown()
|
|
||||||
|
|
||||||
|
|
||||||
def test_monitor_utf8(self):
|
|
||||||
## If a utf8 character spans the end of the 4096 byte buffer it will fail to
|
|
||||||
## decode. Test to make sure it is reassembled correctly.
|
|
||||||
monitor = LogMonitor(timeout=1)
|
|
||||||
try:
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.connect((monitor.host, monitor.port))
|
|
||||||
|
|
||||||
# Simulate a UTF8 character that gets broken into parts by buffering, etc.
|
|
||||||
data = "Just a test string\nTraceback (Not a real traceback)\nWith A"
|
|
||||||
s.sendall(data.encode("utf8") + b"\xc3")
|
|
||||||
time.sleep(1)
|
|
||||||
self.assertTrue(monitor.server.log_check())
|
|
||||||
self.assertEqual(monitor.server.error_line, "Traceback (Not a real traceback)")
|
|
||||||
finally:
|
|
||||||
monitor.shutdown()
|
|
Loading…
Reference in New Issue
Block a user