diff --git a/tests/.fmf/version b/.fmf/version similarity index 100% rename from tests/.fmf/version rename to .fmf/version diff --git a/.gitignore b/.gitignore index ebfa7f9..4ca59af 100644 --- a/.gitignore +++ b/.gitignore @@ -203,5 +203,68 @@ /lorax-35.5.tar.gz /lorax-35.6.tar.gz /lorax-35.7.tar.gz -/lorax-35.8.tar.gz -/lorax-35.9.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.6.tar.gz +/lorax-41.0.tar.gz +/lorax-41.1.tar.gz +/lorax-41.2.tar.gz +/lorax-41.3.tar.gz +/lorax-42.0.tar.gz +/lorax-42.1.tar.gz +/lorax-42.2.tar.gz +/lorax-42.3.tar.gz +/lorax-42.4.tar.gz +/lorax-42.5.tar.gz +/lorax-43.0.tar.gz +/lorax-43.1.tar.gz +/lorax-43.2.tar.gz +/lorax-43.3.tar.gz +/lorax-43.4.tar.gz +/lorax-43.5.tar.gz +/lorax-43.6.tar.gz +/lorax-43.7.tar.gz +/lorax-43.8.tar.gz +/lorax-43.9.tar.gz +/lorax-43.10.tar.gz +/lorax-44.0.tar.gz +/lorax-44.1.tar.gz +/lorax-44.2.tar.gz +/lorax-44.3.tar.gz +/lorax-44.4.tar.gz diff --git a/icfg-retire.patch b/icfg-retire.patch deleted file mode 100644 index dddff62..0000000 --- a/icfg-retire.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 568462d98313ef6796304d760a620e535f110d77 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 9 Jun 2021 09:17:59 +0200 -Subject: [PATCH] Drop retired icfg - -Rawhide compose failed because icfg was retired yesterday: -https://src.fedoraproject.org/rpms/icfg/c/64ef393a109dd468b1b6950bfef70b2c45b5b903?branch=rawhide -https://pagure.io/releng/failed-composes/issue/2557 ---- - share/templates.d/99-generic/runtime-install.tmpl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/share/templates.d/99-generic/runtime-install.tmpl b/share/templates.d/99-generic/runtime-install.tmpl -index 83ec12835..1aaac0907 100644 ---- a/share/templates.d/99-generic/runtime-install.tmpl -+++ b/share/templates.d/99-generic/runtime-install.tmpl -@@ -173,7 +173,7 @@ installpkg python3-pyatspi - installpkg nano nano-default-editor - installpkg vim-minimal strace lsof dump xz less - installpkg wget rsync bind-utils ftp mtr vconfig --installpkg icfg spice-vdagent -+installpkg spice-vdagent - installpkg gdisk hexedit sg3_utils - - ## actually install all the requested packages diff --git a/lorax.spec b/lorax.spec index 0b25e6d..5e3eaa4 100644 --- a/lorax.spec +++ b/lorax.spec @@ -1,25 +1,32 @@ # 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} +%global forgeurl https://github.com/weldr/lorax Name: lorax -Version: 35.9 -Release: 2%{?dist} +Version: 44.4 +Release: 1%{?dist} Summary: Tool for creating the anaconda install images +License: GPL-2.0-or-later -License: GPLv2+ -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 +# qemu is no longer available on 32-bit +ExcludeArch: %{ix86} + +%global tag %{version} +%forgemeta +Url: %{forgeurl} +Source0: %{forgesource} BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools BuildRequires: make BuildRequires: systemd-rpm-macros Requires: lorax-templates +%if 0%{?rhel} >= 9 +Requires: lorax-templates-rhel +%endif Requires: cpio Requires: device-mapper @@ -36,6 +43,7 @@ Requires: isomd5sum Requires: module-init-tools Requires: parted Requires: squashfs-tools >= 4.2 +Requires: erofs-utils >= 1.8.2 Requires: util-linux Requires: xz-lzma-compat Requires: xz @@ -49,7 +57,7 @@ Requires: psmisc Requires: libselinux-python3 Requires: python3-mako Requires: python3-kickstart >= 3.19 -Requires: python3-dnf >= 3.2.0 +Requires: python3-libdnf5 Requires: python3-librepo Requires: python3-pycdio @@ -60,12 +68,7 @@ Requires: hfsplus-tools %endif %endif -%ifarch %{ix86} x86_64 -Requires: syslinux >= 6.03-1 -Requires: syslinux-nonlinux >= 6.03-1 -%endif - -%ifarch ppc64le +%ifarch x86_64 ppc64le Requires: grub2 Requires: grub2-tools %endif @@ -75,10 +78,6 @@ Requires: openssh Requires: s390utils >= 2.15.0-2 %endif -%ifarch %{arm} -Requires: uboot-tools -%endif - # Moved image-minimizer tool to lorax Provides: appliance-tools-minimizer = %{version}-%{release} Obsoletes: appliance-tools-minimizer < 007.7-3 @@ -97,19 +96,29 @@ Requires: lorax = %{version}-%{release} %description docs Includes the full html documentation for lorax, livemedia-creator, and the pylorax library. +%if ! (0%{?rhel} >= 10 && "%{_arch}" == "ppc64le") %package lmc-virt Summary: livemedia-creator libvirt dependencies Requires: lorax = %{version}-%{release} +%if 0%{?rhel} +# RHEL doesn't have qemu, just qemu-kvm +Requires: qemu-kvm +%else Requires: qemu +Recommends: qemu-kvm +%endif -# Fedora edk2 builds currently only support these arches -%ifarch %{ix86} x86_64 %{arm} aarch64 +# edk2 builds currently only support these arches +%ifarch x86_64 Requires: edk2-ovmf %endif -Recommends: qemu-kvm +%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 @@ -134,7 +143,7 @@ Lorax templates for creating the boot.iso and live isos are placed in /usr/share/lorax/templates.d/99-generic %prep -%setup -q -n %{name}-%{version} +%forgeautosetup %build @@ -149,11 +158,11 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install %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 -%{_sbindir}/mkksiso +%{python3_sitelib}/pylorax-%{version}.dist-info +%{_bindir}/lorax +%{_bindir}/mkefiboot +%{_bindir}/livemedia-creator +%{_bindir}/mkksiso %{_bindir}/image-minimizer %dir %{_sysconfdir}/lorax %config(noreplace) %{_sysconfdir}/lorax/lorax.conf @@ -161,12 +170,15 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install %{_mandir}/man1/lorax.1* %{_mandir}/man1/livemedia-creator.1* %{_mandir}/man1/mkksiso.1* +%{_mandir}/man1/image-minimizer.1* %{_tmpfilesdir}/lorax.conf %files docs %doc docs/html/* +%if ! (0%{?rhel} >= 10 && "%{_arch}" == "ppc64le") %files lmc-virt +%endif %files lmc-novirt @@ -175,29 +187,455 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install %{_datadir}/lorax/templates.d/* %changelog -* Thu Jan 06 2022 Adam Williamson - 35.9-2 -- Rebuild with no changes for Bodhi purposes +* Mon Dec 01 2025 Brian C. Lane 44.4-1 +- Exclude build on the i686 architecture (berrange@redhat.com) +- runtime-cleanup: mesa no longer includes gallium-pipe drivers (yselkowi@redhat.com) -* Tue Dec 14 2021 Brian C. Lane 35.9-1 +* Wed Nov 26 2025 Daniel P. Berrangé - 44.3-2 +- Add ExcludeArch for i686 to remove qemu dependency + +* Wed Oct 15 2025 Brian C. Lane 44.3-1 +- Do not remove SELinux from the runtime (ppolawsk@redhat.com) + +* Thu Oct 09 2025 Brian C. Lane 44.2-1 +- Add mac80211_hwsim for wifi testing to installer image (rvykydal@redhat.com) +- runtime-install: drop tigervnc (awilliam@redhat.com) + +* Wed Sep 24 2025 Brian C. Lane 44.1-1 +- runtime-install: skip qcom-accel-firmware (awilliam@redhat.com) +- executils: decoding after deserialization (oleg.sviridov@red-soft.ru) +- mkksiso: make ISO reproducible with SOURCE_DATE_EPOCH (e.champetier@ateme.com) + +* Mon Sep 08 2025 Brian C. Lane 44.0-1 +- maint: Switch default platform to F44 (bcl@redhat.com) +- Drop all installs of shim-ia32 (it no longer exists) (awilliam@redhat.com) +- templates: Support product version to contain blank character in + templates.d/99-generic (songmingliang@uniontech.com) + +* Thu Aug 14 2025 Brian C. Lane 43.10-1 +- executils: Remove binary_output flag (bcl@redhat.com) +- logging: Set encoding=UTF-8 on FileHandler (bcl@redhat.com) +- executils: Set encoding to UTF-8 for _run_program (bcl@redhat.com) +- tests: Add template runcmd unicode test (bcl@redhat.com) +- tests: Add some unicode to the executils tests (bcl@redhat.com) +- templates: Remove explicit installation of anaconda-widgets (k.koukiou@gmail.com) + +* Tue Jul 22 2025 Brian C. Lane 43.9-1 +- Makefile: Separate install and all targets (bcl@redhat.com) + +* Tue Jul 15 2025 Brian C. Lane 43.8-1 +- pylilnt: Drop old rules and ignore .tito (bcl@redhat.com) +- tito: Add support for tagging the version in pyproject.toml (bcl@redhat.com) +- lorax.spec: Update for pyproject.toml use (bcl@redhat.com) +- pyproject: Add cmdline scripts (bcl@redhat.com) +- bin: symlink to scripts from src/bin (bcl@redhat.com) +- Move cmdline scripts under pylorax.cmdline (bcl@redhat.com) +- pylorax: Move cmdline into a pylorax.cmdline module (bcl@redhat.com) +- pyproject: Add a pyproject.toml config file (bcl@redhat.com) +- Makefile: Stop running setup.py directly (bcl@redhat.com) + +* Fri Jul 11 2025 Brian C. Lane 43.7-1 +- runtime-cleanup: don't strip avahi-libs (awilliam@redhat.com) +- treebuilder: use fedora-eln-logos for ELN (yselkowi@redhat.com) + +* Wed Jul 02 2025 Brian C. Lane 43.6-1 +- config_files: Do not remove `chcon` in runtime cleanup (ppolawsk@redhat.com) +- use /mnt/sysroot PATH in profile (butirsky@gmail.com) +- fix chroot path in .bash_history (butirsky@gmail.com) + +* Mon Jun 16 2025 Brian C. Lane 43.5-1 +- templates.d: Remove libdir variable from templates (bcl@redhat.com) +- runtime-cleanup: Move rpm database cleanup to the end (bcl@redhat.com) + +* Tue May 06 2025 Brian C. Lane 43.4-1 +- runtime-postinstall: Remove root password (bcl@redhat.com) + Resolves: rhbz#2364082 +- tests: Update magic module usage (bcl@redhat.com) +- utils: Remove old filediff.py script (bcl@redhat.com) +- dnfbase: Use load_repos instead of update_and_load_enabled_repos (bcl@redhat.com) + Fixes #1464 + +* Mon Mar 31 2025 Brian C. Lane 43.3-1 +- config_files: Drop efi suffix from linuxefi and initrdefi in grub2-efi.cfg (bcl@redhat.com) +- runtime-install: only install amd-ucode-firmware on x86_64 (awilliam@redhat.com) +- runtime-install: exclude crust-firmware (awilliam@redhat.com) +- runtime-cleanup: drop more video and audio firmwares (awilliam@redhat.com) +- runtime-install: drop exceptions related to F38-era fw renames (awilliam@redhat.com) +- runtime-postinstall: allow pipewire to run as root (awilliam@redhat.com) + +* Tue Mar 25 2025 Brian C. Lane 43.2-1 +- spec: update lorax-lmc-virt dependencies (yselkowi@redhat.com) +- livemedia-creator: Set 0755 permission on / cpio overlay (bcl@redhat.com) + +* Mon Mar 10 2025 Brian C. Lane 43.1-1 +- runtime-postinstall: Remove systemd-gpt-auto-generator (bcl@redhat.com) + +* Thu Mar 06 2025 Brian C. Lane 43.0-1 +- maint: Switch default platform to F43 (bcl@redhat.com) +- runtime-cleanup: Leave stat binary (bcl@redhat.com) + +* Mon Feb 03 2025 Brian C. Lane 42.5-1 +- Remove sbin usage (bcl@redhat.com) +- mkksiso: Replace existing inst.ks on the iso (bcl@redhat.com) +- Dockerfile.test: Use fedora:latest instead of rawhide (bcl@redhat.com) +- mkksiso: Fix rebuilding the efiboot.img on some systems (bcl@redhat.com) +- Remove leftovers from xorg drop (jkonecny@redhat.com) + +* Fri Nov 22 2024 Brian C. Lane 42.4-1 +- runtime-cleanup: Newer glibc installs into /usr/lib64 (bcl@redhat.com) +- erofs: Change the erofs compression default to zstd (bcl@redhat.com) + +* Mon Oct 21 2024 Brian C. Lane 42.3-1 +- Update template for anaconda webui to start as user (adamkankovsky@gmail.com) +- tests: Fix mkksiso unit test (bcl@redhat.com) + +* Tue Oct 08 2024 Brian C. Lane 42.2-1 +- pylint: Print astroid version (bcl@redhat.com) +- Extend help for --updates and --ks parameters (jkonecny@redhat.com) +- Fix --updates the updates image wasn't loaded (jkonecny@redhat.com) + +* Mon Sep 30 2024 Brian C. Lane 42.1-1 +- templates: Drop dnf install (bcl@redhat.com) + +* Mon Sep 09 2024 Brian C. Lane 42.0-1 +- New lorax documentation - 41.3 (bcl@redhat.com) +- ltmpl: Remove * from docstring (bcl@redhat.com) +- docs: Update intersphinx and add _static dir (bcl@redhat.com) +- docs: Document --rootfs-type options (bcl@redhat.com) +- Adjust Lorax templates for Xorg to Wayland switch (jkonecny@redhat.com) +- creator: Change rootfs description to match cmdline argument (bcl@redhat.com) + +* Tue Jul 16 2024 Brian C. Lane 41.3-1 +- Accept but ignore the old --squashfs-only argument (awilliam@redhat.com) + +* Mon Jul 15 2024 Brian C. Lane 41.2-1 +- Prepare for the sbin merge (zbyszek@in.waw.pl) +- Add compression.erofs section to lorax.conf (bcl@redhat.com) +- Add erofs and erofs-ext4 support to --rootfs-type (bcl@redhat.com) +- Replace squashfs_only with rootfs_type (bcl@redhat.com) +- imgutils: Add mkerofs function and test (bcl@redhat.com) +- Implement --replace also for S390 (sebastian.stark@advantest.com) +- mkksiso: option --replace to replace arbitrary text in boot config. (sebastian.stark@advantest.com) +- spec: Drop forge tag lua tweak (bcl@redhat.com) + +* Wed Jun 12 2024 Brian C. Lane 41.1-1 +- livemedia-creator: Check for BIOS vs. UEFI qemu support (bcl@redhat.com) +- livemedia-creator: Enable s390x virt support (bcl@redhat.com) +- livemedia-creator: Make use of virtio devices more generic (bcl@redhat.com) +- Makefile: Turn off seccomp for test-in-podman (bcl@redhat.com) +- tests: Fix image_minimizer test dnf usage (bcl@redhat.com) +- creator: Fix pylint error in run_creator (bcl@redhat.com) +- New lorax documentation - 41.1 (bcl@redhat.com) +- docs: Add sphinx-reredirects and composer-cli redirect (bcl@redhat.com) +- New lorax documentation - 41.1 (bcl@redhat.com) +- spec: Switch to using the source from the github tag (bcl@redhat.com) +- workflows: Add missing branch names (bcl@redhat.com) +- runtime-cleanup: wget2-wget has replaced wget (yselkowi@redhat.com) +- Add a simple PR template reminder (bcl@redhat.com) + +* Fri Mar 15 2024 Brian C. Lane +- maint: Switch default platform to F41 (bcl@redhat.com) +- Add prefixdevname support to the boot.iso (rvykydal@redhat.com) + +* Mon Feb 19 2024 Brian C. Lane +- Add example use of lmc in github actions. (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) +- dnfbase: Fix substitutions (bcl@redhat.com) + +* Tue Feb 06 2024 Brian C. Lane 40.5-1 +- 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) + +* Thu Feb 01 2024 Brian C. Lane 40.4-1 +- mkksiso: Add support for adding an anaconda updates.img (jkonecny@redhat.com) +- runtime-install: drop kdump-anaconda-addon (awilliam@redhat.com) +- ltmpl: Handle installing provides with resolve_pkg_spec (bcl@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: wget2-wget has replaced wget (awilliam@redhat.com) +- runtime-cleanup: anaconda's new interface needs stdbuf (kkoukiou@redhat.com) +- ltmpl: Pass packages to add_rpm_install as strings (bcl@redhat.com) + +* Wed Dec 20 2023 Brian C. Lane 40.3-1 +- runtime-install: Work around problem with conflicting packages (bcl@redhat.com) +- ltmpl: Check for errors after running the transaction (bcl@redhat.com) + +* Tue Dec 12 2023 Brian C. Lane 40.2-1 +- ltmpl: Remove duplicate package objects from dnf5 results (bcl@redhat.com) +- test-in-podman: Fix problem running in github actions (bcl@redhat.com) + +* Mon Dec 11 2023 Brian C. Lane 40.1-1 +- ltmpl: Filter out other arches, clean up naming (bcl@redhat.com) +- test: Add pigz to test-packages (bcl@redhat.com) +- dnfbase: Fix url substitution support (bcl@redhat.com) +- ltmpl: Add transaction error handling (bcl@redhat.com) +- test-packages: Make sure python3-libdnf5 is installed (bcl@redhat.com) +- Updates for latest libdnf5 changes (bcl@redhat.com) +- spec: Switch to using python3-libdnf5 (bcl@redhat.com) +- Fix writing out debug info for package files and sizes (bcl@redhat.com) +- libdnf5: Switch lorax to use libdnf5 (bcl@redhat.com) +- Add python3-libdnf5 to the list of 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 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 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 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 39.3-1 +- runtime-install: excluded renamed olpc firmware package (awilliam@redhat.com) + +* Fri Jul 14 2023 Brian C. Lane 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 37.4-1 +- mkksiso: Fix grub2 editing error (bcl@redhat.com) + +* Wed Jun 01 2022 Brian C. Lane 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 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 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 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 36.9-1 +- Don't move the restart-anaconda file (vponcova@redhat.com) + +* Wed Feb 16 2022 Brian C. Lane 36.8-1 +- runtime-cleanup: Remove ncurses package (bcl@redhat.com) + +* Mon Feb 14 2022 Brian C. Lane 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 36.6-1 +- mkksiso: Fix check for unsupported arch error (bcl@redhat.com) + +* Thu Feb 03 2022 Brian C. Lane 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 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) -* Wed Nov 10 2021 Brian C. Lane 35.8-1 +* Thu Dec 09 2021 Brian C. Lane 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 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) -- fedora-livemedia: Turn off GNOME welcome tour (bcl@redhat.com) -- dnfbase: Handle defaults better (bcl@redhat.com) -- ltmpl: Add version compare support to installpkg (bcl@redhat.com) -- fedora-livemedia: Add anaconda-install-img-deps (bcl@redhat.com) -- Use fedora:35 for Dockerfile.test (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) -- 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) + +* Thu Oct 28 2021 Brian C. Lane 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 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 35.7-1 - templates: Remove memtest86+ (bcl@redhat.com) @@ -255,67 +693,3 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install - Makefile: Add test-in-podman and docs-in-podman build targets (bcl@redhat.com) - isolinux.cfg: Rename the 'vesa' menu entry to 'basic' (bcl@redhat.com) - composer-cli: Add support for start-ostree --url URL (bcl@redhat.com) - -* Mon Feb 15 2021 Brian C. Lane 34.9-1 -- Use inst.rescue to trigger rescue mode (awilliam@redhat.com) - Resolves: rhbz#1928318 -* Mon Feb 08 2021 Brian C. Lane 34.8-1 -- Use image dependencies metapackage (vslavik@redhat.com) -- tests: Include the fedora-updates repo when testing boot.iso building (bcl@redhat.com) - -* Wed Jan 20 2021 Brian C. Lane 34.7-1 -- live/x86.tmpl: Copy livecd-iso-to-disk script, if installed (david.ward@ll.mit.edu) -- templates: Copy license files from the correct path (david.ward@ll.mit.edu) -- test: Fix vm.install for non-LVM cloud images (martin@piware.de) - -* Wed Dec 16 2020 Brian C. Lane 34.6-1 -- Remove LD_PRELOAD libgomp.so.1 from lmc --no-virt (bcl@redhat.com) -- Add POSTIN scriptlet error to the log monitor list (bcl@redhat.com) -- Improve lmc no-virt error handling (bcl@redhat.com) -- lorax.spec: Drop GConf2 requirement (bcl@redhat.com) - -* Mon Nov 30 2020 Brian C. Lane 34.5-1 -- Don't remove libldap_r libraries during runtime-cleanup.tmpl (spichugi@redhat.com) -- Do not use '--loglevel' option when running Anaconda (vtrefny@redhat.com) -- Makefile: quiet rsync use in testing (bcl@redhat.com) -- Switch to using GitHub Actions instead of Travis CI (bcl@redhat.com) - -* Mon Nov 02 2020 Brian C. Lane 34.4-1 -- Update the default release version to 34 (bcl@redhat.com) -- Remove mdmonitor service from boot.iso (bcl@redhat.com) -- Switch to using upstream mk-s390image for s390 cdboot.img creation (bcl@redhat.com) -- sshd_config: Apply suggested changes (bcl@redhat.com) -- lorax.spec: Add BuildRequires on systemd-rpm-macros for tmpfilesdir macro (bcl@redhat.com) - -* Wed Oct 07 2020 Brian C. Lane 34.3-1 -- composer: Fix open file warnings (bcl@redhat.com) -- ltmpl: Fix deprecated escape in docstring (bcl@redhat.com) -- tests: Fix open file warning in test_execWithRedirect (bcl@redhat.com) -- Cleanup imgutil open files and processes (bcl@redhat.com) -- tests: Remove test_del_execReadlines (bcl@redhat.com) -- Fix unclosed files (bcl@redhat.com) -- test: Use Python dev mode during testing (bcl@redhat.com) -- tests: Update composer-cli blueprint server tests (bcl@redhat.com) -- runtime-cleanup: Delete .pyc files (bcl@redhat.com) -- New lorax documentation - 34.3 (bcl@redhat.com) -- doc: Add Blueprint documentation and example to composer-cli.rst (bcl@redhat.com) -- docs: Update docs for lorax-composer removal (bcl@redhat.com) -- tests: Remove unused lorax-composer tests (bcl@redhat.com) -- Remove lorax-composer, it has been replaced by osbuild-composer (bcl@redhat.com) - -* Tue Sep 29 2020 Brian C. Lane 34.2-1 -- runtime-cleanup: Remove ncurses package (bcl@redhat.com) - -* Mon Sep 14 2020 Brian C. Lane 34.1-1 -- Fix broken single-item tuples in a few places (awilliam@redhat.com) -- Drop dpaa2 firmware on non-aarch64 arches (awilliam@redhat.com) -- Drop firmware for Mellanox Spectrum (awilliam@redhat.com) -- runtime-cleanup: big refresh of stale things (awilliam@redhat.com) - -* Tue Sep 08 2020 Brian C. Lane 34.0-1 -- New lorax documentation - 34.0 (bcl@redhat.com) -- runtime-cleanup: strip a bunch of unnecessary firmwares (awilliam@redhat.com) -- runtime-install: specify polkit-gnome to avoid lxpolkit and GTK2 (awilliam@redhat.com) -- runtime-install: exclude gnome-firmware and sigrok-firmware (awilliam@redhat.com) -- runtime-cleanup: Drop video playback acceleration drivers (awilliam@redhat.com) -- runtime-install: don't install notification-daemon (awilliam@redhat.com) diff --git a/plans/build-iso.fmf b/plans/build-iso.fmf new file mode 100644 index 0000000..e3c3d28 --- /dev/null +++ b/plans/build-iso.fmf @@ -0,0 +1,3 @@ +summary: Run Lorax tests (build an iso, run mkksiso on it) +execute: + script: ./tests/scripts/run_tests.sh diff --git a/sources b/sources index df23705..0b5f402 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lorax-35.9.tar.gz) = 70170551f207a66965cbaa8855b2759b18912e89f384e9dadb7f5e72ab93130f28c98ee4422828497db1b28edc463f7d6e0e73e2386dbb6e71673c5c2fdf6e52 +SHA512 (lorax-44.4.tar.gz) = e2be9a13a0aec657bfe9a32dbd51e9024dfcb89471dbc57b8206dccdcd71cf5561fb25f97a7fdaca2b0279a2966b142ddf4e4544577ac2b47171f19648742577 diff --git a/tests/provision.fmf b/tests/provision.fmf deleted file mode 100644 index dd69f34..0000000 --- a/tests/provision.fmf +++ /dev/null @@ -1,5 +0,0 @@ ---- - -standard-inventory-qcow2: - qemu: - m: 4G diff --git a/tests/scripts/run_tests.sh b/tests/scripts/run_tests.sh index 8cd29e9..f4849b2 100755 --- a/tests/scripts/run_tests.sh +++ b/tests/scripts/run_tests.sh @@ -7,7 +7,6 @@ KSNAME=fedora-minimal.ks KS="/usr/share/doc/lorax/$KSNAME" OUTISO=/var/tmp/out.iso ISODIR=/var/tmp/iso -IMGDIR=/var/tmp/img ## Functions for testing mkkiso @@ -32,23 +31,35 @@ function running { # unmount the dirs lazily because sometimes some outside thing is still touching them function umount_dirs { - umount --lazy "$IMGDIR" umount --lazy "$ISODIR" + rm -f "$OUTISO" } [ -e "$ISODIR" ] || mkdir "$ISODIR" -[ -e "$IMGDIR" ] || mkdir "$IMGDIR" # Only add kickstart function ks_only { - running "Add kickstart to iso" + 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" + status "Add kickstart to iso using positional argument" umount_dirs } @@ -57,42 +68,54 @@ function test_ks { # Is there a kickstart in / of the iso? [ -e "$ISODIR/$KSNAME" ] || fail "Missing kickstart" - # Is the kickstart in the BIOS config? - grep "inst.ks=.*$KSNAME" "$ISODIR/isolinux/isolinux.cfg" || fail "Missing isolinux.cfg kickstart entry" + # 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? - mount "$ISODIR/images/efiboot.img" "$IMGDIR" || exit 1 - grep "inst.ks=.*$KSNAME" "$IMGDIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry" + 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 $BOOTISO $OUTISO || exit 1 + mkksiso -c "console=ttyS0,115200n8" --ks $KS $BOOTISO $OUTISO || exit 1 mount $OUTISO $ISODIR || exit 1 test_ks - test_ks_serial + test_serial status "Add kickstart and serial cmdline" umount_dirs } -function test_ks_serial { +# 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 { # Is the serial in the BIOS config? - grep "console=ttyS0,115200n8" "$ISODIR/isolinux/isolinux.cfg" || fail "Missing isolinux.cfg cmdline entry" + 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" "$IMGDIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg cmdline entry" + 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 $BOOTISO $OUTISO || exit 1 + mkksiso -V "mkksiso-test" --ks $KS $BOOTISO $OUTISO || exit 1 mount $OUTISO $ISODIR || exit 1 test_ks @@ -104,17 +127,17 @@ function new_volid { function test_volid { # Is the VOLID in the BIOS config? - grep "hd:LABEL=mkksiso-test" "$ISODIR/isolinux/isolinux.cfg" || fail "Missing isolinux.cfg kickstart entry" + 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" "$IMGDIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg kickstart entry" + 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 $BOOTISO $OUTISO || exit 1 + mkksiso -a /etc/services --ks $KS $BOOTISO $OUTISO || exit 1 mount $OUTISO $ISODIR || exit 1 test_ks @@ -124,26 +147,100 @@ function 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 { + # 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" +} + +# 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/updates.img + mkksiso -u /tmp/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.img" ] || fail "Missing updates.img file from iso" + grep "inst.updates=.*updates.img" "$ISODIR/boot/grub2/grub.cfg" || fail "Missing BIOS grub.cfg inst.updates entry" + grep "inst.updates=.*updates.img" "$ISODIR/EFI/BOOT/grub.cfg" || fail "Missing UEFI grub.cfg inst.updates entry" +} + # All of the changes function run_all { running "Use all the options" - mkksiso -a /etc/services -V "mkksiso-test" -c "console=ttyS0,115200n8" $KS $BOOTISO $OUTISO || exit 1 + touch /tmp/updates.img + mkksiso -u /tmp/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_ks_serial + 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/updates.img + su - lorax-ted -c "mkksiso --skip-mkefiboot -u /tmp/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 +} + # Gather up the list of system repo files and use them for lorax @@ -155,15 +252,23 @@ fi # 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 -running "Build boot.iso with lorax" -lorax --product="Fedora" --version=rawhide --release=rawhide --volid="Fedora-rawhide-test" \ - $REPOS --isfinal --nomacboot /var/tmp/lorax-fedora-iso/ || exit 1 +if [ ! -e "$BOOTISO" ]; then + running "Build boot.iso with lorax" + lorax --product="Fedora" --version=rawhide --release=rawhide --volid="Fedora-rawhide-test" \ + $REPOS --isfinal --nomacboot /var/tmp/lorax-fedora-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 diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index d39d256..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# Run lorax with the new templates -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - - required_packages: - - lorax - - tests: - - simple: - dir: scripts - run: ./run_tests.sh