Compare commits

...

No commits in common. "c8" and "a10s" have entirely different histories.
c8 ... a10s

9 changed files with 1226 additions and 1383 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

252
.gitignore vendored
View File

@ -1 +1,251 @@
SOURCES/lorax-28.14.71.tar.gz lorax-40.5.7
/lorax-19.0.tar.gz
/lorax-19.1.tar.gz
/lorax-19.2.tar.gz
/lorax-19.3.tar.gz
/lorax-19.4.tar.gz
/lorax-19.5.tar.gz
/lorax-19.6.tar.gz
/lorax-19.7.tar.gz
/lorax-19.8.tar.gz
/lorax-20.0.tar.gz
/lorax-20.1.tar.gz
/lorax-20.2.tar.gz
/lorax-20.3.tar.gz
/lorax-20.4.tar.gz
/lorax-21.0.tar.gz
/lorax-21.1.tar.gz
/lorax-21.2.tar.gz
/lorax-21.3.tar.gz
/lorax-21.4.tar.gz
/lorax-21.5.tar.gz
/lorax-21.6.tar.gz
/lorax-21.7.tar.gz
/lorax-21.8.tar.gz
/lorax-21.9.tar.gz
/lorax-21.10.tar.gz
/lorax-21.11.tar.gz
/lorax-21.12.tar.gz
/lorax-21.13.tar.gz
/lorax-21.14.tar.gz
/lorax-21.15.tar.gz
/lorax-21.16.tar.gz
/lorax-21.17.tar.gz
/lorax-21.18.tar.gz
/lorax-21.19.tar.gz
/lorax-21.20.tar.gz
/lorax-21.21.tar.gz
/lorax-21.22.tar.gz
/lorax-21.23.tar.gz
/lorax-21.24.tar.gz
/lorax-21.25.tar.gz
/lorax-21.26.tar.gz
/lorax-21.27.tar.gz
/lorax-21.28.tar.gz
/lorax-21.29.tar.gz
/lorax-21.30.tar.gz
/lorax-21.31.tar.gz
/lorax-22.0.tar.gz
/lorax-22.1.tar.gz
/lorax-22.2.tar.gz
/lorax-22.3.tar.gz
/lorax-22.4.tar.gz
/lorax-23.0.tar.gz
/lorax-23.1.tar.gz
/lorax-23.2.tar.gz
/lorax-23.3.tar.gz
/lorax-23.4.tar.gz
/lorax-23.5.tar.gz
/lorax-23.6.tar.gz
/lorax-23.7.tar.gz
/lorax-23.8.tar.gz
/lorax-23.9.tar.gz
/lorax-23.10.tar.gz
/lorax-23.11.tar.gz
/lorax-23.12.tar.gz
/lorax-23.13.tar.gz
/lorax-23.14.tar.gz
/lorax-24.0.tar.gz
/lorax-24.1.tar.gz
/lorax-24.2.tar.gz
/lorax-24.3.tar.gz
/lorax-24.4.tar.gz
/lorax-24.5.tar.gz
/lorax-24.6.tar.gz
/lorax-24.7.tar.gz
/lorax-24.8.tar.gz
/lorax-24.9.tar.gz
/lorax-24.10.tar.gz
/lorax-24.11.tar.gz
/lorax-24.12.tar.gz
/lorax-24.13.tar.gz
/lorax-24.14.tar.gz
/lorax-25.1.tar.gz
/lorax-25.2.tar.gz
/lorax-25.3.tar.gz
/lorax-25.4.tar.gz
/lorax-25.5.tar.gz
/lorax-25.6.tar.gz
/lorax-25.7.tar.gz
/lorax-25.8.tar.gz
/lorax-25.9.tar.gz
/lorax-25.10.tar.gz
/lorax-25.11.tar.gz
/lorax-25.12.tar.gz
/lorax-25.13.tar.gz
/lorax-25.14.tar.gz
/lorax-25.15.tar.gz
/lorax-25.16.tar.gz
/lorax-26.0.tar.gz
/lorax-26.1.tar.gz
/lorax-26.2.tar.gz
/lorax-26.3.tar.gz
/lorax-26.4.tar.gz
/lorax-26.5.tar.gz
/lorax-26.6.tar.gz
/lorax-26.7.tar.gz
/lorax-27.0.tar.gz
/lorax-27.1.tar.gz
/lorax-27.2.tar.gz
/lorax-27.3.tar.gz
/lorax-27.4.tar.gz
/lorax-27.5.tar.gz
/lorax-27.6.tar.gz
/lorax-27.7.tar.gz
/lorax-27.8.tar.gz
/lorax-27.9.tar.gz
/lorax-27.10.tar.gz
/lorax-27.11.tar.gz
/lorax-28.0.tar.gz
/lorax-28.1.tar.gz
/lorax-28.2.tar.gz
/lorax-28.3.tar.gz
/lorax-28.4.tar.gz
/lorax-28.5.tar.gz
/lorax-28.6.tar.gz
/lorax-28.7.tar.gz
/lorax-28.8.tar.gz
/lorax-29.0.tar.gz
/lorax-29.1.tar.gz
/lorax-29.2.tar.gz
/lorax-29.3.tar.gz
/lorax-29.4.tar.gz
/lorax-29.5.tar.gz
/lorax-29.6.tar.gz
/lorax-29.7.tar.gz
/lorax-29.8.tar.gz
/lorax-29.9.tar.gz
/lorax-29.10.tar.gz
/lorax-29.11.tar.gz
/lorax-29.12.tar.gz
/lorax-29.13.tar.gz
/lorax-29.14.tar.gz
/lorax-29.15.tar.gz
/lorax-30.0.tar.gz
/lorax-30.1.tar.gz
/lorax-30.2.tar.gz
/lorax-30.3.tar.gz
/lorax-30.4.tar.gz
/lorax-30.5.tar.gz
/lorax-30.6.tar.gz
/lorax-30.7.tar.gz
/lorax-30.8.tar.gz
/lorax-30.9.tar.gz
/lorax-30.10.tar.gz
/lorax-30.12.tar.gz
/lorax-30.13.tar.gz
/lorax-30.14.tar.gz
/lorax-30.15.tar.gz
/lorax-30.16.tar.gz
/lorax-31.0.tar.gz
/lorax-31.1.tar.gz
/lorax-31.2.tar.gz
/lorax-31.3.tar.gz
/lorax-31.4.tar.gz
/lorax-31.5.tar.gz
/lorax-31.6.tar.gz
/lorax-31.7.tar.gz
/lorax-31.8.tar.gz
/lorax-31.9.tar.gz
/lorax-31.10.tar.gz
/lorax-32.0.tar.gz
/lorax-32.1.tar.gz
/lorax-32.2.tar.gz
/lorax-32.3.tar.gz
/lorax-32.4.tar.gz
/lorax-32.5.tar.gz
/lorax-32.6.tar.gz
/lorax-32.7.tar.gz
/lorax-33.0.tar.gz
/lorax-33.1.tar.gz
/lorax-33.2.tar.gz
/lorax-33.3.tar.gz
/lorax-33.4.tar.gz
/lorax-33.5.tar.gz
/lorax-33.6.tar.gz
/lorax-33.7.tar.gz
/lorax-33.8.tar.gz
/lorax-33.9.tar.gz
/lorax-34.0.tar.gz
/lorax-34.1.tar.gz
/lorax-34.2.tar.gz
/lorax-34.3.tar.gz
/lorax-34.4.tar.gz
/lorax-34.5.tar.gz
/lorax-34.6.tar.gz
/lorax-34.7.tar.gz
/lorax-34.8.tar.gz
/lorax-34.9.tar.gz
/lorax-35.0.tar.gz
/lorax-35.1.tar.gz
/lorax-35.2.tar.gz
/lorax-35.3.tar.gz
/lorax-35.4.tar.gz
/lorax-35.5.tar.gz
/lorax-35.6.tar.gz
/lorax-35.7.tar.gz
/lorax-36.0.tar.gz
/lorax-36.1.tar.gz
/lorax-36.2.tar.gz
/lorax-36.3.tar.gz
/lorax-36.4.tar.gz
/lorax-36.5.tar.gz
/lorax-36.6.tar.gz
/lorax-36.7.tar.gz
/lorax-36.8.tar.gz
/lorax-36.9.tar.gz
/lorax-37.0.tar.gz
/lorax-37.1.tar.gz
/lorax-37.2.tar.gz
/lorax-37.3.tar.gz
/lorax-37.4.tar.gz
/lorax-37.5.tar.gz
/lorax-37.6.tar.gz
/lorax-37.7.tar.gz
/lorax-37.8.tar.gz
/lorax-38.0.tar.gz
/lorax-38.1.tar.gz
/lorax-38.2.tar.gz
/lorax-38.3.tar.gz
/lorax-38.4.tar.gz
/lorax-38.5.tar.gz
/lorax-38.6.tar.gz
/lorax-39.0.tar.gz
/lorax-39.1.tar.gz
/lorax-39.2.tar.gz
/lorax-39.3.tar.gz
/lorax-39.4.tar.gz
/lorax-39.5.tar.gz
/lorax-40.0.tar.gz
/lorax-40.1.tar.gz
/lorax-40.2.tar.gz
/lorax-40.3.tar.gz
/lorax-40.4.tar.gz
/lorax-40.5.tar.gz
/lorax-40.5.1.tar.gz
/lorax-40.5.2.tar.gz
/lorax-40.5.3.tar.gz
/lorax-40.5.4.tar.gz
/lorax-40.5.5.tar.gz
/lorax-40.5.6.tar.gz
/lorax-40.5.7.tar.gz

View File

@ -0,0 +1,23 @@
From ac5808bd2045da5fd0af937fb84755d75e155a92 Mon Sep 17 00:00:00 2001
From: soksanichenko <soksanichenko@almalinux.org>
Date: Fri, 13 Sep 2024 09:24:59 +0300
Subject: [PATCH] Add x86_64_v2 support
---
src/pylorax/treebuilder.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pylorax/treebuilder.py b/src/pylorax/treebuilder.py
index 2c6b5d8..47f8747 100644
--- a/src/pylorax/treebuilder.py
+++ b/src/pylorax/treebuilder.py
@@ -36,6 +36,7 @@ from pylorax.executils import runcmd, runcmd_output, execWithCapture
templatemap = {
'x86_64': 'x86.tmpl',
+ 'x86_64_v2': 'x86_v2.tmpl',
'ppc64le': 'ppc64le.tmpl',
's390x': 's390.tmpl',
'aarch64': 'aarch64.tmpl',
--
2.39.3 (Apple Git-146)

File diff suppressed because it is too large Load Diff

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

603
lorax.spec Normal file
View File

@ -0,0 +1,603 @@
# NOTE: This specfile is generated from upstream at https://github.com/rhinstaller/lorax
# NOTE: Please submit changes as a pull request
%define debug_package %{nil}
Name: lorax
Version: 40.5.7
Release: 1%{?dist}.alma.1
Summary: Tool for creating the anaconda install images
License: GPL-2.0-or-later
URL: https://github.com/weldr/lorax
# To generate Source0 do:
# git clone https://github.com/weldr/lorax
# git checkout -b archive-branch lorax-%%{version}-%%{release}
# tito build --tgz
Source0: %{name}-%{version}.tar.gz
# AlmaLinux patches
Patch1000: 0001-Add-x86_64_v2-support.patch
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: make
BuildRequires: systemd-rpm-macros
Requires: lorax-templates
%if 0%{?rhel} >= 9
Requires: lorax-templates-rhel >= 10.0-45
%endif
Requires: cpio
Requires: device-mapper
Requires: dosfstools
Requires: e2fsprogs
Requires: findutils
Requires: gawk
Requires: xorriso
Requires: glib2
Requires: glibc
Requires: glibc-common
Requires: gzip
Requires: isomd5sum
Requires: module-init-tools
Requires: parted
Requires: squashfs-tools >= 4.2
Requires: erofs-utils
Requires: util-linux
Requires: xz-lzma-compat
Requires: xz
Requires: pigz
Requires: pbzip2
Requires: dracut >= 030
Requires: kpartx
Requires: psmisc
# Python modules
Requires: libselinux-python3
Requires: python3-mako
Requires: python3-kickstart >= 3.19
Requires: python3-dnf >= 3.2.0
Requires: python3-librepo
Requires: python3-pycdio
%if 0%{?fedora}
# Fedora specific deps
%ifarch x86_64
Requires: hfsplus-tools
%endif
%endif
%ifarch x86_64 ppc64le
Requires: grub2
Requires: grub2-tools
%endif
%ifarch s390 s390x
Requires: openssh
Requires: s390utils >= 2.15.0-2
%endif
# Moved image-minimizer tool to lorax
Provides: appliance-tools-minimizer = %{version}-%{release}
Obsoletes: appliance-tools-minimizer < 007.7-3
%description
Lorax is a tool for creating the anaconda install images.
It also includes livemedia-creator which is used to create bootable livemedia,
including live isos and disk images. It can use libvirtd for the install, or
Anaconda's image install feature.
%package docs
Summary: Lorax html documentation
Requires: lorax = %{version}-%{release}
%description docs
Includes the full html documentation for lorax, livemedia-creator, and the pylorax library.
# ppc64le does not include qemu-kvm, skip building lmc-virt
%ifnarch ppc64le
%package lmc-virt
Summary: livemedia-creator libvirt dependencies
Requires: lorax = %{version}-%{release}
# RHEL doesn't have qemu, just qemu-kvm
Requires: qemu-kvm
Requires: tar
# edk2 builds currently only support these arches
%ifarch x86_64
Requires: edk2-ovmf
%endif
%ifarch aarch64
Requires: edk2-aarch64
%endif
%description lmc-virt
Additional dependencies required by livemedia-creator when using it with qemu.
%endif
%package lmc-novirt
Summary: livemedia-creator no-virt dependencies
Requires: lorax = %{version}-%{release}
Requires: anaconda-core
Requires: anaconda-tui
Requires: anaconda-install-env-deps
Requires: system-logos
Requires: python3-psutil
Requires: tar
%description lmc-novirt
Additional dependencies required by livemedia-creator when using it with --no-virt
to run Anaconda.
%package templates-generic
Summary: Generic build templates for lorax and livemedia-creator
Requires: lorax = %{version}-%{release}
Provides: lorax-templates = %{version}-%{release}
%description templates-generic
Lorax templates for creating the boot.iso and live isos are placed in
/usr/share/lorax/templates.d/99-generic
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
%files
%defattr(-,root,root,-)
%license COPYING
%doc AUTHORS
%doc docs/lorax.rst docs/livemedia-creator.rst docs/product-images.rst
%doc docs/*ks
%{python3_sitelib}/pylorax
%{python3_sitelib}/*.egg-info
%{_sbindir}/lorax
%{_sbindir}/mkefiboot
%{_sbindir}/livemedia-creator
%{_bindir}/mkksiso
%{_bindir}/image-minimizer
%dir %{_sysconfdir}/lorax
%config(noreplace) %{_sysconfdir}/lorax/lorax.conf
%dir %{_datadir}/lorax
%{_mandir}/man1/lorax.1*
%{_mandir}/man1/livemedia-creator.1*
%{_mandir}/man1/mkksiso.1*
%{_mandir}/man1/image-minimizer.1*
%{_tmpfilesdir}/lorax.conf
%files docs
%doc docs/html/*
%ifnarch ppc64le
%files lmc-virt
%endif
%files lmc-novirt
%files templates-generic
%dir %{_datadir}/lorax/templates.d
%{_datadir}/lorax/templates.d/*
%changelog
* Fri Sep 13 2024 Eduard Abdullin <eabdullin@almalinux.org> 40.5.7-1.alma.1
- Add x86_64_v2 support
* Tue Sep 10 2024 Brian C. Lane <bcl@redhat.com> 40.5.7-1
- templates: Sync template changes from lorax-templates-rhel (bcl)
Resolves: RHEL-54713
- tests: Add a test to make sure redhat-release-eula isn't included (bcl)
Related: RHEL-54381
* Mon Aug 12 2024 Brian C. Lane <bcl@redhat.com> 40.5.6-1
- New lorax documentation - 40.5.6 (bcl)
Related: RHEL-48606
- ltmpl: Remove * from docstring (bcl)
Related: RHEL-48606
- docs: Update intersphinx and add _static dir (bcl)
Related: RHEL-48606
- docs: Document --rootfs-type options (bcl)
Related: RHEL-48606
- erofs: Use dedupe and all-fragments options (bcl)
Related: RHEL-48606
- imgutils: mkfs.erofs options should come first (bcl)
Related: RHEL-48606
- Accept but ignore the old --squashfs-only argument (awilliam)
Related: RHEL-48606
- Add compression.erofs section to lorax.conf (bcl)
Resolves: RHEL-48606
- Add erofs and erofs-ext4 support to --rootfs-type (bcl)
Related: RHEL-48606
- Replace squashfs_only with rootfs_type (bcl)
Related: RHEL-48606
- imgutils: Add mkerofs function and test (bcl)
Related: RHEL-48606
- runtime-postinstall: Make sure blacklist_exceptions has been removed (jstodola)
Resolves: RHEL-53721
* Fri Jul 19 2024 Brian C. Lane <bcl@redhat.com> 40.5.5-1
- templates: Synchronize generic templates with lorax-templates-rhel (bcl)
Related: RHEL-35396
- docs: Update livemedia-creator documentation for RHEL 10 (bcl)
Related: RHEL-31853
- livemedia-creator: The --make-tar option requires tar (bcl)
Related: RHEL-31853
- docs: Update example kickstarts for RHEL/CentOS (bcl)
Resolves: RHEL-31853
- lorax: Change default rootfs size to 3GiB (bcl)
Resolves: RHEL-32504
* Wed Jun 12 2024 Brian C. Lane <bcl@redhat.com> 40.5.4-1
- tito: Add tito to container's test-packages (bcl)
Related: RHEL-31830
- creator: Fix pylint error in run_creator (bcl)
Related: RHEL-31830
- livemedia-creator: Check for BIOS vs. UEFI qemu support (bcl)
Related: RHEL-31830
- livemedia-creator: Enable s390x virt support (bcl)
Related: RHEL-31830
- livemedia-creator: Make use of virtio devices more generic (bcl)
Related: RHEL-31830
- Set requirement on lorax-templates-rhel for prefixdevname change (bcl)
Related: RHEL-30010
* Fri May 31 2024 Brian C. Lane <bcl@redhat.com> 40.5.3-1
- tito: Add RHEL tagger with support for rhbz and RHEL (bcl)
Related: RHEL-31830
- livemedia-creator: Use /usr/libexec/qemu-kvm on supported arches (bcl)
Related: RHEL-31830
- spec: edk2-aarch64 has the UEFI firmware on aarch64 (bcl)
Related: RHEL-31830
- Add prefixdevname to Anaconda image (msekleta)
Related: RHEL-30010
- spec: exclude the files section for lmc-virt on ppc64le (bcl)
Resolves: RHEL-31830
* Thu Apr 04 2024 Brian C. Lane <bcl@redhat.com> 40.5.2-1
- spec: Use qemu-kvm instead of qemu (bcl@redhat.com)
Resolves: RHEL-31830
* Wed Apr 03 2024 Brian C. Lane <bcl@redhat.com> 40.5.1-1
- New lorax documentation - 40.5.1 (bcl@redhat.com)
Resolves: RHEL-30615
- Dockerfile.test: Use Fedora 40 for test image (bcl@redhat.com)
- Change macboot default to false (bcl@redhat.com)
- Change defaults to Red Hat Enterprise Linux 10 (bcl@redhat.com)
- runtime-cleanup: wget2-wget has replaced wget (yselkowi@redhat.com)
- Added example of how to use livemedia-creator in github actions, and still
build in fedora. (cjshowalter@alaska.edu)
- Require lorax-templates-rhel when building for ELN, CentOS Stream and RHEL (sgallagh@redhat.com)
- workflows: Switch to actions/checkout@v4 (bcl@redhat.com)
- New lorax documentation - 40.5 (bcl@redhat.com)
- maint: Switch default platform to F40 (bcl@redhat.com)
- runtime-cleanup: Update to cleanup more (akira@tagoh.org)
- runtime-install: Update font packages (akira@tagoh.org)
- mkksiso: Add support for adding an anaconda updates.img (jkonecny@redhat.com)
- runtime-install: drop kdump-anaconda-addon (awilliam@redhat.com)
- s390: Escape volid before using it (bcl@redhat.com)
- aarch64: Escape volid before using it (bcl@redhat.com)
- runtime-install: drop retired pcmciautils (awilliam@redhat.com)
- runtime-install: Drop unneeded packages libmlx4, systemd-sysv, and systemd-units (bcl@redhat.com)
- runtime-install: wget2-wget has replaced wget (awilliam@redhat.com)
- runtime-cleanup: anaconda's new interface needs stdbuf (kkoukiou@redhat.com)
- test-in-podman: Fix problem running in github actions (bcl@redhat.com)
- test: Add pigz to test-packages (bcl@redhat.com)
- Adjust runtime-postinstall.tmpl for systemd config files move (zbyszek@in.waw.pl)
* Mon Oct 02 2023 Brian C. Lane <bcl@redhat.com> 40.0-1
- Remove some unneccessary storage packages from runtime-install (vtrefny@redhat.com)
- Do not install polkit-gnome for blivet-gui (vtrefny@redhat.com)
- docs: Update the quickstart example command (vtrefny@redhat.com)
* Thu Sep 07 2023 Brian C. Lane <bcl@redhat.com> 39.5-1
- Explicitly pull in more filesystem packages (awilliam@redhat.com)
- runtime-postinstall: Turn off lvm monitoring (bcl@redhat.com)
- runtime-cleanup.tmpl: fix typo 'gschadow' (chris.riches@nutanix.com)
- runtime-cleanup: Change how logo pixmaps is cleaned up (bcl@redhat.com)
- runtime-install: only pull in qcom-firmware on aarch64 (awilliam@redhat.com)
* Wed Aug 09 2023 Brian C. Lane <bcl@redhat.com> 39.4-1
- Exclude more obsoleted libertas firmware packages (awilliam@redhat.com)
- Revert "test_minimizer: dnf5 wants --use-host-config" (bcl@redhat.com)
* Mon Aug 07 2023 Brian C. Lane <bcl@redhat.com> 39.3-1
- runtime-install: excluded renamed olpc firmware package (awilliam@redhat.com)
* Fri Jul 14 2023 Brian C. Lane <bcl@redhat.com> 39.2-1
- pylint: Ignore false positive from pylint on rawhide (bcl@redhat.com)
- tests: Fix image_minimizer test dnf usage (bcl@redhat.com)
- tests: Fix HFS test to work with new get_file_magic output (bcl@redhat.com)
- ltmpl: Use ProcMount while running the dnf transaction (bcl@redhat.com)
- imgutils: Split part DracutChroot into ProcMount (bcl@redhat.com)
- runtime-postinstall: Remove libuser.conf (bcl@redhat.com)
- runtime-install: exclude renamed iwl firmware packages (awilliam@redhat.com)
- test_minimizer: dnf5 wants --use-host-config (bcl@redhat.com)
- Install nvme-cli tool and remove machine specific nvme files (bcl@redhat.com)
- Revert "Add blacklist_exceptions to multipath.conf" (jstodola@redhat.com)
* Wed May 31 2023 Brian C. Lane <bcl@redhat.com> 39.1-1
- livemedia-creator: Reorganize the qemu arch patch (bcl@redhat.com)
- Make sure -machine is passed to qemu (hadess@hadess.net)
- Only allow UEFI support to be enabled on x86_64 (hadess@hadess.net)
- Throw an error when KVM is enabled on non-native installs (hadess@hadess.net)
- docs: Clarify that kickstarts need a part command (bcl@redhat.com)
- livemedia-creator: Raise an error when no partitions are in the ks (bcl@redhat.com)
- monitor: Skip repo errors involving CDROM/file source (bcl@redhat.com)
- logging: Remove duplicate stream logging (bcl@redhat.com)
- Pass vga=791 for live basic graphics mode on BIOS (#2176782) (awilliam@redhat.com)
- livemedia-creator: Use -cpu host by default, add -cpu option to override (bcl@redhat.com)
* Tue Mar 14 2023 Brian C. Lane <bcl@redhat.com> 39.0-1
- Add setpriv as ostree containers dependency (#2125655) (jkonecny@redhat.com)
- livemedia-creator: Do not omit plymouth module from dracut (bcl@redhat.com)
- New lorax documentation - 39.0 (bcl@redhat.com)
- workflow: Update list of push branches for workflow tests (bcl@redhat.com)
- Prepare for version 39.0 release (bcl@redhat.com)
* Mon Feb 20 2023 Brian C. Lane <bcl@redhat.com> 38.7-1
- Don't strip gtk4 binaries or libtiff (#2170716) (awilliam@redhat.com)
- image-minimizer: Use RuntimeError instead of Exception (bcl@redhat.com)
- creator: Use RuntimeError instead of Exception (bcl@redhat.com)
- treebuilder: Use RuntimeError instead of Exception (bcl@redhat.com)
- mount: Use RuntimeError instead of Exception (bcl@redhat.com)
- ltmpl: Use RuntimeError instead of Exception (bcl@redhat.com)
- spec: Use autosetup to make patching easier (bcl@redhat.com)
- Revert "templates.d/99-generic/live: Enable automatic persistence for live media" (awilliam@redhat.com)
- Strip some things from gtk4 (awilliam@redhat.com)
* Tue Feb 14 2023 Brian C. Lane <bcl@redhat.com> 38.6-1
- templates.d/99-generic/live: Enable automatic persistence for live media (ngompa@fedoraproject.org)
- Update for Noto CJK Variable Fonts (pwu@redhat.com)
* Wed Feb 08 2023 Brian C. Lane <bcl@redhat.com> 38.5-1
- Fix using --dracut-conf with DracutChroot (bcl@redhat.com)
- tests: Fix DataHolder for CreatorTest (bcl@redhat.com)
- runtime-install: Update for
https://fedoraproject.org/wiki/Changes/NotoFontsForMoreLang (akira@tagoh.org)
- SPDX migration (bcl@redhat.com)
- rsyslogd.conf: Rewrite using current config syntax (bcl@redhat.com)
- Add comment for squashfs-only (dick@mrns.nl)
- runtime-install: exclude some more unneeded firmware packages (awilliam@redhat.com)
- runtime-install: stop excluding bfa-firmware again (retired) (awilliam@redhat.com)
* Mon Dec 12 2022 Brian C. Lane <bcl@redhat.com> 38.4-1
- runtime-cleanup: drop old versions of qed firmware (awilliam@redhat.com)
- runtime-cleanup: drop Mediatek SoC firmwares (awilliam@redhat.com)
- runtime-install: drop bfa-firmware (awilliam@redhat.com)
- mkksiso: Disable running mkefiboot in container tests (bcl@redhat.com)
- mkksiso: Rebuild efiboot.img for UEFI enabled isos (bcl@redhat.com)
- gitleaks: Add config file to ignore known fake secrets (bcl@redhat.com)
- fedora-livemedia.ks: Use livesys-scripts (bcl@redhat.com)
- workflows: Switch to actions/checkout@v3 (bcl@redhat.com)
* Mon Nov 28 2022 Brian C. Lane <bcl@redhat.com> 38.3-1
- Use unicode.pf2 from /usr/share/grub/ (bcl@redhat.com)
- On ppc64le Use core.elf from grub2 package (bcl@redhat.com)
* Wed Nov 09 2022 Brian C. Lane <bcl@redhat.com> 38.2-1
- runtime-postinstall: Disable sshd.socket (bcl@redhat.com)
- docs: Document mock and SELinux not working together (bcl@redhat.com)
- imgutils: Don't delete dirs created for DracutChroot (bcl@redhat.com)
- tito: Use .tito instead of old ./rel-eng directory (bcl@redhat.com)
- setup.py: Set the version number (bcl@redhat.com)
- Improvement of unmounting /proc, /dev and binds (soksanichenko@cloudlinux.com)
* Tue Oct 11 2022 Brian C. Lane <bcl@redhat.com> 38.1-1
- livemedia-creator: Allow file: url without networking (bcl@redhat.com)
- Update kdump addon package name (vslavik@redhat.com)
- Drop anaconda auditd replacement (vslavik@redhat.com)
* Fri Sep 30 2022 Brian C. Lane <bcl@redhat.com> 38.0-1
- New lorax documentation - 38.0 (bcl@redhat.com)
- tests: Update test_creator.py for new cmdline options (bcl@redhat.com)
- livemedia-creator: Add release, variant, bugurl, and isfinal cmdline flags (cappy@cappuchino.xyz)
- Drop 32-bit ARM and x86 support (awilliam@redhat.com)
- Update anaconda's crash messages to watch (vslavik@redhat.com)
- livemedia-creator: Add --product to cmdline args (bcl@redhat.com)
- fedora-livemedia: Make sure GNOME Software service isn't started (bcl@redhat.com)
- fonts packages syncup in template files (akira@tagoh.org)
- tests: Add tzdata package to minimizer test setup (bcl@redhat.com)
* Mon Jul 25 2022 Brian C. Lane <bcl@redhat.com> 37.8-1
- mkksiso: Optionally support 3 arguments or --ks (bcl@redhat.com)
- mkksiso: Add -U to xorriso on ppc64le (bcl@redhat.com)
- mkksiso: Fix passing -iso-level to xorriso (bcl@redhat.com)
- pylorax: SafeConfigParser is now ConfigParser (bcl@redhat.com)
- test: Update test code for new pylint version (bcl@redhat.com)
- tests: Switch back to rawhide for tests (bcl@redhat.com)
- workflow: Remove sudo from workflow (bcl@redhat.com)
* Wed Jul 13 2022 Brian C. Lane <bcl@redhat.com> 37.7-1
- mkksiso: Set u+rw permission on extracted files and directories (bcl@redhat.com)
- Add option to boot local drive to the x86 BIOS grub2 menu (bcl@redhat.com)
* Tue Jun 28 2022 Brian C. Lane <bcl@redhat.com> 37.6-1
- tests: Use Fedora 36 for test-in-podman (bcl@redhat.com)
- Add include for architecture specific packages to example kickstarts (bcl@redhat.com)
- templates: adjust for mellanox firmware split to subpackage (awilliam@redhat.com)
- mkksiso: Fix s390x support (bcl@redhat.com)
- spec: Don't require grub2 on x86-32 (bcl@redhat.com)
- mkksiso: Remove use of os.path.join (bcl@redhat.com)
- Makefile: Add mkksiso and image-minimizer to coverage report (bcl@redhat.com)
- tests: Add tests for mkksiso (bcl@redhat.com)
- mkksiso: Add kernel cmdline customization support (bcl@redhat.com)
- mkksiso: Move kickstart to --ks KICKSTART (bcl@redhat.com)
- mkksiso: Add helper functions for kernel cmdline modifications (bcl@redhat.com)
* Fri Jun 03 2022 Brian C. Lane <bcl@redhat.com> 37.5-1
- example ks: Drop syslinux and add grub2-tools package for livemedia (bcl@redhat.com)
- templates: Set @ISOLABEL@ in the bios-grub.cfg file to the isolabel (bcl@redhat.com)
- Update spec for syslinux->grub2 switch (awilliam@redhat.com)
* Wed Jun 01 2022 Brian C. Lane <bcl@redhat.com> 37.4-1
- mkksiso: Fix grub2 editing error (bcl@redhat.com)
* Wed Jun 01 2022 Brian C. Lane <bcl@redhat.com> 37.3-1
- Add grub2 BIOS boot support to live iso template (bcl@redhat.com)
Resolves: rhbz#2092065
- Drop grafting variables (bcl@redhat.com)
- Drop macboot.img and simplify efiboot.img use (bcl@redhat.com)
- Add grub2 BIOS boot support (bcl@redhat.com)
- Remove syslinux support (bcl@redhat.com)
* Mon May 23 2022 Brian C. Lane <bcl@redhat.com> 37.2-1
- cleanup: drop phanfw.bin from linux-firmware (awilliam@redhat.com)
- cleanup: strip more mellanox firmware files (awilliam@redhat.com)
- cleanup: strip qcom/vpu* from linux-firmware (awilliam@redhat.com)
- cleanup: drop qcom/apq8096 firmwares (awilliam@redhat.com)
* Wed May 11 2022 Brian C. Lane <bcl@redhat.com> 37.1-1
- New lorax documentation - 37.1 (bcl@redhat.com)
- docs: Update the mkksiso documentation (bcl@redhat.com)
- setup.py: Install mkksiso to /usr/bin (bcl@redhat.com)
- pylorax: Move variable out of try block (bcl@redhat.com)
- setup.py: Use setup from setuptools not distutils (bcl@redhat.com)
- Makefile: Remove -it options for test-in-podman (bcl@redhat.com)
- mkksiso: Rewrite to use xorriso features (bcl@redhat.com)
- docs: Fix typo in index.html (bcl@redhat.com)
* Mon Mar 28 2022 Brian C. Lane <bcl@redhat.com> 37.0-1
- New lorax documentation - 37.0 (bcl@redhat.com)
- runtime-cleanup: keep 'unshare' binary present from util-linux-core (kkoukiou@redhat.com)
* Mon Feb 28 2022 Brian C. Lane <bcl@redhat.com> 36.9-1
- Don't move the restart-anaconda file (vponcova@redhat.com)
* Wed Feb 16 2022 Brian C. Lane <bcl@redhat.com> 36.8-1
- runtime-cleanup: Remove ncurses package (bcl@redhat.com)
* Mon Feb 14 2022 Brian C. Lane <bcl@redhat.com> 36.7-1
- postinstall: Restore reproducible build timestamps on /usr/share/fonts (bcl@redhat.com)
- tests: Fix the image minimizer test dnf usage (bcl@redhat.com)
- runtime-cleanup: drop kernel drivers/iio (awilliam@redhat.com)
- runtime-cleanup: drop gallium-pipe drivers from mesa-dri-drivers (awilliam@redhat.com)
- runtime-cleanup: drop yelp's local MathJax library copy (awilliam@redhat.com)
- runtime-cleanup: drop eapol_test from wpa_supplicant (awilliam@redhat.com)
- runtime-cleanup: drop /usr/bin/cyrusbdb2current (awilliam@redhat.com)
- runtime-cleanup: drop systemd-analyze (awilliam@redhat.com)
- runtime-cleanup: drop mtools and glibc-gconv-extra (awilliam@redhat.com)
- runtime-cleanup: drop guile22's ccache (awilliam@redhat.com)
- runtime-cleanup: fix warnings from old or changed packages (awilliam@redhat.com)
- runtime-cleanup: drop Italic from google-noto-sans-vf-fonts (awilliam@redhat.com)
- runtime-install: drop some unnecessary font packages (awilliam@redhat.com)
* Fri Feb 04 2022 Brian C. Lane <bcl@redhat.com> 36.6-1
- mkksiso: Fix check for unsupported arch error (bcl@redhat.com)
* Thu Feb 03 2022 Brian C. Lane <bcl@redhat.com> 36.5-1
- mkksiso: Improve debug message about unsupported arch (bcl@redhat.com)
- mkksiso: Fix the order of the ppc mkisofs command (bcl@redhat.com)
- mkksiso: mkfsiso argument order matters (bcl@redhat.com)
- mkksiso: Add kickstart to s390x cdboot.prm (bcl@redhat.com)
- cleanup: handle RPM database move to /usr (awilliam@redhat.com)
- Install the variable font of the Cantarell font (akira@tagoh.org)
- Update the template for f36 Change proposal:
https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts (akira@tagoh.org)
- Update Malayalam font to its new renamed package name rit-meera-new-fonts (pnemade@fedoraproject.org)
- Enable sftp when using inst.sshd (bcl@redhat.com)
- Add inst.rngd cmdline option (bcl@redhat.com)
- docs: Update docs for image-minimizer (bcl@redhat.com)
- tests: Add tests for image-minimizer (bcl@redhat.com)
- image-minimizer: Check for missing root directory (bcl@redhat.com)
- image-minimizer: Fix utf8 error and add docs (bcl@redhat.com)
* Tue Dec 14 2021 Brian C. Lane <bcl@redhat.com> 36.4-1
- cleanup: remove binaries from lilv (awilliam@redhat.com)
- runtime-cleanup: remove pipewire-related packages (awilliam@redhat.com)
- New lorax documentation - 36.3 (bcl@redhat.com)
* Thu Dec 09 2021 Brian C. Lane <bcl@redhat.com> 36.3-1
- mkksiso: Check the length of the filenames (bcl@redhat.com)
- mkksiso: Check the iso's arch against the host's (bcl@redhat.com)
- mkksiso: Add missing implantisomd5 tool requirements (bcl@redhat.com)
- mkksiso: Raise error if no volume id is found (bcl@redhat.com)
- mount: Add s390x support to IsoMountopoint (bcl@redhat.com)
- mkksiso: Skip mkefiboot for non-UEFI isos (bcl@redhat.com)
- mkksiso: Add -joliet-long (bcl@redhat.com)
- mkksiso: Return 1 on errors (bcl@redhat.com)
- Fix monitor problem with split UTF8 characters (bcl@redhat.com)
* Wed Nov 10 2021 Brian C. Lane <bcl@redhat.com> 36.2-1
- Remove memtest86+ from example kickstarts (bcl@redhat.com)
- fedora-livemedia: Update example kickstart (bcl@redhat.com)
- mount: Switch to using pycdio instead of pycdlib (bcl@redhat.com)
- Move default releasever into pylorax DEFAULT_RELEASEVER (bcl@redhat.com)
- runtime-postinstall: Drop raidstart/stop stub code (bcl@redhat.com)
- runtime-install: Fix grub2 epoch, it is 1 not 0 (bcl@redhat.com)
- Update runtime-install/cleanup for Marvell Prestera fw split (awilliam@redhat.com)
* Thu Oct 28 2021 Brian C. Lane <bcl@redhat.com> 36.1-1
- dnfbase: Handle defaults better (bcl@redhat.com)
- ltmpl: Add version compare support to installpkg (bcl@redhat.com)
* Mon Oct 11 2021 Brian C. Lane <bcl@redhat.com> 36.0-1
- New lorax documentation - 36.0 (bcl@redhat.com)
- docs: Remove logging command from examples (bcl@redhat.com)
- runtime-install: exclude liquidio and netronome firmwares (awilliam@redhat.com)
- runtime-cleanup: drop Marvell Prestera firmware files (awilliam@redhat.com)
- runtime-cleanup: drop some Qualcomm smartphone firmwares (awilliam@redhat.com)
- Fix pylint warnings about string formatting (bcl@redhat.com)
- tests: Ignore new pylint warnings (bcl@redhat.com)
- Add fstrim to disk and filesystem image creation (bcl@redhat.com)
* Tue Sep 07 2021 Brian C. Lane <bcl@redhat.com> 35.7-1
- templates: Remove memtest86+ (bcl@redhat.com)
* Thu Jul 08 2021 Brian C. Lane <bcl@redhat.com> 35.6-1
- Install unicode.pf2 from new directory (bcl@redhat.com)
- Makefile: Use sudo to fix ownership of docs (bcl@redhat.com)
- Makefile: Make sure container is built before docs (bcl@redhat.com)
- Makefile: Add local-srpm target to create a .src.rpm from HEAD (bcl@redhat.com)
- mkksiso: cmdline should default to empty string (bcl@redhat.com)
- runtime-install: Remove gfs2-utils (bcl@redhat.com)
- mount.py: Fix docstring (jkucera@redhat.com)
* Fri Jun 11 2021 Brian C. Lane <bcl@redhat.com> 35.5-1
- pylorax: Fix mksparse ftruncate size handling (bcl@redhat.com)
* Thu Jun 10 2021 Brian C. Lane <bcl@redhat.com> 35.4-1
- livemedia-creator: Check for mkfs.hfsplus (bcl@redhat.com)
- Drop retired icfg (zbyszek@in.waw.pl)
* Tue May 25 2021 Brian C. Lane <bcl@redhat.com> 35.3-1
- Add a context manager for dracut (bcl@redhat.com)
Resolves: rhbz#1962975
- Remove unneeded aajohan-comfortaa-fonts (bcl@redhat.com)
* Wed May 05 2021 Brian C. Lane <bcl@redhat.com> 35.2-1
- runtime-cleanup: Use branding package name instead of product.name (bcl@redhat.com)
- treebuilder: Add branding package to template variables (bcl@redhat.com)
- livemedia-creator: Use inst.ks on cmdline for virt (bcl@redhat.com)
- docs: Remove composer-cli.1 (bcl@redhat.com)
* Mon Apr 26 2021 Brian C. Lane <bcl@redhat.com> 35.1-1
- New lorax documentation - 35.1 (bcl@redhat.com)
- Makefile: Use podman as a user for testing and docs (bcl@redhat.com)
- composer-cli: Remove all traces of composer-cli (bcl@redhat.com)
- livemedia-creator: Add rhgb to live iso cmdline (#1943312) (bcl@redhat.com)
- tests: Fix pocketlint use of removed pylint messages (bcl@redhat.com)
- Disable X11 forwarding from installation environment. (vslavik@redhat.com)
- Remove display-related packages (vslavik@redhat.com)
- Drop trying to install reiserfs-utils (kevin@scrye.com)
- test: Fix URL to bots testmap (martin@piware.de)
- Change khmeros-base-fonts to khmer-os-system-fonts. (pnemade@fedoraproject.org)
- Fix output path in docs (vslavik@redhat.com)
- runtime-cleanup: don't wipe /usr/bin/report-cli (#1937550) (awilliam@redhat.com)
- xorg-x11-font-utils is now four packages, remove all of them (peter.hutterer@who-t.net)
- xorg-x11-server-utils was split up in Fedora 34, so adjust templates (kevin@scrye.com)
* Wed Mar 03 2021 Brian C. Lane <bcl@redhat.com> 35.0-1
- New lorax documentation - 35.0 (bcl@redhat.com)
- Makefile: Add test-in-podman and docs-in-podman build targets (bcl@redhat.com)
- isolinux.cfg: Rename the 'vesa' menu entry to 'basic' (bcl@redhat.com)
- composer-cli: Add support for start-ostree --url URL (bcl@redhat.com)
* Wed Mar 03 2021 Brian C. Lane <bcl@redhat.com>
- New lorax documentation - 35.0 (bcl@redhat.com)
- Makefile: Add test-in-podman and docs-in-podman build targets (bcl@redhat.com)
- isolinux.cfg: Rename the 'vesa' menu entry to 'basic' (bcl@redhat.com)
- composer-cli: Add support for start-ostree --url URL (bcl@redhat.com)

3
plans/build-iso.fmf Normal file
View File

@ -0,0 +1,3 @@
summary: Run Lorax tests (build an iso, run mkksiso on it)
execute:
script: ./tests/scripts/run_tests.sh

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (lorax-40.5.7.tar.gz) = 7bf36986efd7503b1cb91962d9dc5ff9266a0e74c6897dd917340f7aa5bc444769ac291dbf33d1a9512739784f93c25d857492341821d063dec2947684bdd076

338
tests/scripts/run_tests.sh Executable file
View File

@ -0,0 +1,338 @@
#!/bin/bash
set -eux
ARCH=$(uname -m)
[ "$ARCH" == "x86_64" ] || [ "$ARCH" == "aarch64" ]
FAILANY=0
BOOTISO=/var/tmp/lorax-rhel10-iso/images/boot.iso
KSNAME=minimal.ks
KS="/usr/share/doc/lorax/$KSNAME"
OUTISO=/var/tmp/out.iso
ISODIR=/var/tmp/iso
## Functions for testing mkkiso
function fail {
echo -e "\n\n#### ERROR: $1\n"
FAIL=1
FAILANY=1
}
function status {
if [ "$FAIL" -eq 0 ]; then
echo -e "\n\n#### PASS: $1\n"
else
echo -e "\n\n#### FAIL: $1\n"
fi
}
function running {
FAIL=0
echo -e "\n\n#### RUN: $1\n"
}
# unmount the dirs lazily because sometimes some outside thing is still touching them
function umount_dirs {
umount --lazy "$ISODIR"
rm -f "$OUTISO"
}
[ -e "$ISODIR" ] || mkdir "$ISODIR"
# Only add kickstart
function ks_only {
running "Add kickstart to iso using --ks"
mkksiso --ks $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
status "Add kickstart to iso using --ks"
umount_dirs
}
# Only add kickstart
function ks_pos_only {
running "Add kickstart to iso using positional argument"
mkksiso $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
status "Add kickstart to iso using positional argument"
umount_dirs
}
function test_ks {
if [ "$ARCH" == "x86_64" ]; then
test_ks_x86
elif [ "$ARCH" == "aarch64" ]; then
test_ks_aarch64
fi
}
function test_ks_x86 {
## This all needs to be another function
# Is there a kickstart in / of the iso?
[ -e "$ISODIR/$KSNAME" ] || fail "Missing kickstart"
# Is the kickstart in the GRUB2 BIOS config?
grep "inst.ks=.*$KSNAME" "$ISODIR/boot/grub2/grub.cfg" || fail "Missing BIOS grub.cfg kickstart entry"
# Is the kickstart in the UEFI config?
grep "inst.ks=.*$KSNAME" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry"
}
function test_ks_aarch64 {
## This all needs to be another function
# Is there a kickstart in / of the iso?
[ -e "$ISODIR/$KSNAME" ] || fail "Missing kickstart"
# Is the kickstart in the UEFI config?
grep "inst.ks=.*$KSNAME" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry"
}
# Add ks and cmdline
function ks_serial {
running "Add kickstart and serial cmdline"
mkksiso -c "console=ttyS0,115200n8" --ks $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
test_serial
status "Add kickstart and serial cmdline"
umount_dirs
}
# Only add serial console to cmdline
function only_serial {
running "Add serial cmdline (no ks)"
mkksiso -c "console=ttyS0,115200n8" $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_serial
status "Add kickstart and serial cmdline"
umount_dirs
}
function test_serial {
if [ "$ARCH" == "x86_64" ]; then
test_serial_x86
elif [ "$ARCH" == "aarch64" ]; then
test_serial_aarch64
fi
}
function test_serial_x86 {
# Is the serial in the BIOS config?
grep "console=ttyS0,115200n8" "$ISODIR/boot/grub2/grub.cfg" || fail "Missing BIOS grub.cfg cmdline entry"
# Is the serial in the UEFI config?
grep "console=ttyS0,115200n8" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg cmdline entry"
}
function test_serial_aarch64 {
# Is the serial in the UEFI config?
grep "console=ttyS0,115200n8" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg cmdline entry"
}
# New VOLID
function new_volid {
running "Use a new VOLID"
mkksiso -V "mkksiso-test" --ks $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
test_volid
status "Use a new VOLID"
umount_dirs
}
function test_volid {
if [ "$ARCH" == "x86_64" ]; then
test_volid_x86
elif [ "$ARCH" == "aarch64" ]; then
test_volid_aarch64
fi
}
function test_volid_x86 {
# Is the VOLID in the BIOS config?
grep "hd:LABEL=mkksiso-test" "$ISODIR/boot/grub2/grub.cfg" || fail "Missing BIOS grub.cfg kickstart entry"
# Is the VOLID in the UEFI config?
grep "hd:LABEL=mkksiso-test" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry"
}
function test_volid_aarch64 {
# Is the VOLID in the UEFI config?
grep "hd:LABEL=mkksiso-test" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry"
}
# Add extra files
function add_files {
running "Add files"
mkksiso -a /etc/services --ks $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
test_files
status "Add files"
umount_dirs
}
# Remove quiet from the cmdline
function remove_quiet {
running "remove quiet from cmdline (no ks)"
mkksiso --rm "quiet" $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_quiet
status "Remove quiet from cmdline"
umount_dirs
}
function test_quiet {
if [ "$ARCH" == "x86_64" ]; then
test_quiet_x86
elif [ "$ARCH" == "aarch64" ]; then
test_quiet_aarch64
fi
}
function test_quiet_x86 {
# Is quiet in the BIOS config?
! grep "append.*quiet" "$ISODIR/boot/grub2/grub.cfg" || fail "quiet not removed from BIOS grub.cfg cmdline entry"
# Is quiet in the UEFI config?
! grep "linux.*quiet" "$ISODIR/EFI/BOOT/grub.cfg" || fail "quiet not removed from UEFI grub.cfg cmdline entry"
}
function test_quiet_aarch64 {
# Is quiet in the UEFI config?
! grep "linux.*quiet" "$ISODIR/EFI/BOOT/grub.cfg" || fail "quiet not removed from UEFI grub.cfg cmdline entry"
}
# Test error if passing both --ks FILE and 3 arguments
function test_two_kickstarts {
running "Test two kickstart error"
mkksiso --ks $KS $KS $BOOTISO $OUTISO && fail "No error using --ks and positional argument"
status "Test two kickstart error"
}
function test_files {
[ -e "$ISODIR/services" ] || fail "Missing file from iso"
}
# Test adding an updates.img file
function add_updatesimg {
running "Add updates.img"
# nothing in the file, just test that it is there
touch /tmp/test-updates.img
mkksiso -u /tmp/test-updates.img $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_updatesimg
status "Add updates.img"
umount_dirs
}
function test_updatesimg {
[ -e "$ISODIR/updates/updates.img" ] || fail "Missing file from iso"
}
# All of the changes
function run_all {
running "Use all the options"
touch /tmp/test-updates.img
mkksiso -u /tmp/test-updates.img -a /etc/services -V "mkksiso-test" -c "console=ttyS0,115200n8" --rm "quiet" --ks $KS $BOOTISO $OUTISO || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
test_serial
test_volid
test_files
test_updatesimg
test_quiet
status "Use all the options"
umount_dirs
}
# All of the changes as a user (lorax-ted) with --skip-mkefiboot
function run_as_user {
running "Use all the options as a user"
[ ! -e "/home/lorax-ted" ] && useradd -m lorax-ted
touch /tmp/test-updates.img
su - lorax-ted -c "mkksiso --skip-mkefiboot -u /tmp/test-updates.img -a /etc/services -V "mkksiso-test" -c "console=ttyS0,115200n8" --rm "quiet" --ks $KS $BOOTISO $OUTISO" || exit 1
mount $OUTISO $ISODIR || exit 1
test_ks
test_serial
test_volid
test_files
test_updatesimg
test_quiet
status "Use all the options as a user with --skip-mkefiboot"
umount_dirs
}
if [ ! -e /usr/share/lorax/templates.d/80-rhel/ ]; then
echo "Failed to find lorax-templates-rhel templates in /usr/share/lorax/templates.d/"
exit 1
fi
# Gather up the list of system repo files and use them for lorax
REPOS=$(find /etc/yum.repos.d/ -maxdepth 1 -type f -name '*\.repo' ! -name 'fedora.repo' -exec echo -n "--repo {} " \;)
if [ -z "$REPOS" ]; then
echo "No system repos found"
exit 1
fi
# The c10s tmt systems have started using $stream in the repo urls as of 6/2024, substitute
# 10-stream for this variable so that they can be passed to lorax
sed -i 's/$stream/10-stream/g' /etc/yum.repos.d/*.repo
# NOTE: We must use --nomacboot because the test system doesn't have the hfsplus fs available
# Run lorax using the host's repository configuration file
if [ ! -e "$BOOTISO" ]; then
running "Build boot.iso with lorax"
lorax --product="Red Hat Enterprise Linux" --version=10 --release=10 --volid="RHEL-10-test" \
$REPOS --isfinal /var/tmp/lorax-rhel10-iso/ || exit 1
fi
# Test mkksiso on the new boot.iso
ks_only
ks_pos_only
ks_serial
only_serial
new_volid
add_files
remove_quiet
test_two_kickstarts
add_updatesimg
run_all
run_as_user
exit $FAILANY