diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 1d613b0..4ca59af 100644 --- a/.gitignore +++ b/.gitignore @@ -175,3 +175,96 @@ /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.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/gating.yaml b/gating.yaml new file mode 100644 index 0000000..0c1cc35 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: [bodhi_update_push_stable] +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/lorax.spec b/lorax.spec index edab472..5e3eaa4 100644 --- a/lorax.spec +++ b/lorax.spec @@ -1,26 +1,33 @@ # 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: 32.7 +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: GConf2 Requires: cpio Requires: device-mapper Requires: dosfstools @@ -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 @@ -43,14 +51,15 @@ 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-libdnf5 Requires: python3-librepo -Requires: python3-pycdlib +Requires: python3-pycdio %if 0%{?fedora} # Fedora specific deps @@ -59,22 +68,14 @@ 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 %ifarch s390 s390x Requires: openssh -%endif - -%ifarch %{arm} -Requires: uboot-tools +Requires: s390utils >= 2.15.0-2 %endif # Moved image-minimizer tool to lorax @@ -93,29 +94,40 @@ Summary: Lorax html documentation Requires: lorax = %{version}-%{release} %description docs -Includes the full html documentation for lorax, livemedia-creator, lorax-composer and the -pylorax library. +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 Requires: lorax = %{version}-%{release} Requires: anaconda-core Requires: anaconda-tui +Requires: anaconda-install-env-deps Requires: system-logos +Requires: python3-psutil %description lmc-novirt Additional dependencies required by livemedia-creator when using it with --no-virt @@ -130,55 +142,8 @@ Provides: lorax-templates = %{version}-%{release} Lorax templates for creating the boot.iso and live isos are placed in /usr/share/lorax/templates.d/99-generic -%package composer -Summary: Lorax Image Composer API Server -# For Sphinx documentation build -BuildRequires: python3-flask python3-gobject libgit2-glib python3-toml python3-semantic_version - -Requires: lorax = %{version}-%{release} -Requires(pre): /usr/bin/getent -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/sbin/useradd - -Requires: python3-toml -Requires: python3-semantic_version -Requires: libgit2 -Requires: libgit2-glib -Requires: python3-flask -Requires: python3-gevent -Requires: anaconda-tui >= 29.19-1 -Requires: qemu-img -Requires: tar -Requires: python3-rpmfluff -Requires: git -Requires: xz -Requires: createrepo_c -Requires: python3-ansible-runner -# For AWS playbook support -Requires: python3-boto3 - -%{?systemd_requires} -BuildRequires: systemd - -# Implements the weldr API -Provides: weldr - -%description composer -lorax-composer provides a REST API for building images using lorax. - -%package -n composer-cli -Summary: A command line tool for use with the lorax-composer API server - -# From Distribution -Requires: python3-urllib3 -Requires: python3-toml - -%description -n composer-cli -A command line tool for use with the lorax-composer API server. Examine blueprints, -build images, etc. from the command line. - %prep -%setup -q -n %{name}-%{version} +%forgeautosetup %build @@ -186,56 +151,34 @@ build images, etc. from the command line. rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install -# Install example blueprints from the test suite. -# This path MUST match the lorax-composer.service blueprint path. -mkdir -p $RPM_BUILD_ROOT/var/lib/lorax/composer/blueprints/ -for bp in example-http-server.toml example-development.toml example-atlas.toml; do - cp ./tests/pylorax/blueprints/$bp $RPM_BUILD_ROOT/var/lib/lorax/composer/blueprints/ -done - -%pre composer -getent group weldr >/dev/null 2>&1 || groupadd -r weldr >/dev/null 2>&1 || : -getent passwd weldr >/dev/null 2>&1 || useradd -r -g weldr -d / -s /sbin/nologin -c "User for lorax-composer" weldr >/dev/null 2>&1 || : - -%post composer -%systemd_post lorax-composer.service -%systemd_post lorax-composer.socket - -%preun composer -%systemd_preun lorax-composer.service -%systemd_preun lorax-composer.socket - -%postun composer -%systemd_postun_with_restart lorax-composer.service -%systemd_postun_with_restart lorax-composer.socket - %files %defattr(-,root,root,-) %license COPYING %doc AUTHORS -%doc docs/composer-cli.rst docs/lorax.rst docs/livemedia-creator.rst docs/product-images.rst -%doc docs/lorax-composer.rst +%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 -%{_bindir}/mk-s390-cdboot %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/* +%if ! (0%{?rhel} >= 10 && "%{_arch}" == "ppc64le") %files lmc-virt +%endif %files lmc-novirt @@ -243,396 +186,510 @@ getent passwd weldr >/dev/null 2>&1 || useradd -r -g weldr -d / -s /sbin/nologin %dir %{_datadir}/lorax/templates.d %{_datadir}/lorax/templates.d/* -%files composer -%config(noreplace) %{_sysconfdir}/lorax/composer.conf -%{python3_sitelib}/pylorax/api/* -%{python3_sitelib}/lifted/* -%{_sbindir}/lorax-composer -%{_unitdir}/lorax-composer.service -%{_unitdir}/lorax-composer.socket -%dir %{_datadir}/lorax/composer -%{_datadir}/lorax/composer/* -%{_datadir}/lorax/lifted/* -%{_tmpfilesdir}/lorax-composer.conf -%dir %attr(0771, root, weldr) %{_sharedstatedir}/lorax/composer/ -%dir %attr(0771, root, weldr) %{_sharedstatedir}/lorax/composer/blueprints/ -%attr(0771, weldr, weldr) %{_sharedstatedir}/lorax/composer/blueprints/* -%{_mandir}/man1/lorax-composer.1* - -%files -n composer-cli -%{_bindir}/composer-cli -%{python3_sitelib}/composer/* -%{_sysconfdir}/bash_completion.d/composer-cli -%{_mandir}/man1/composer-cli.1* - %changelog -* Mon Mar 16 2020 Brian C. Lane 32.7-1 -- lorax: Write package lists in run_transaction (bcl@redhat.com) -- Add dig and comm to the boot.iso (bcl@redhat.com) -- lorax-composer: Add 'weldr' to indicate it supports the weldr API (bcl@redhat.com) -- lorax: Cleanup the removefrom --allbut files (bcl@redhat.com) -- lorax: Add eject back into the boot.iso (bcl@redhat.com) +* 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) -* Wed Feb 12 2020 Brian C. Lane 32.6-1 -- New lorax documentation - 32.6 (bcl@redhat.com) -- Update mock documentation to remove --old-chroot (bcl@redhat.com) -- Use .tasks file to trigger removal of stale cloud resources (atodorov@redhat.com) -- tests: OpenStack - apply tags and delete by tags (atodorov@redhat.com) -- tests: Azure - apply tags and delete by tags (atodorov@redhat.com) -- tests: VMware - delete only VMs named Composer-Test-* (atodorov@redhat.com) -- tests: AWS - apply tags when creating resoures and delete by tags (atodorov@redhat.com) -- Reflect fonts packages from comps (akira@tagoh.org) -- lorax: Catch rootfs out of space failures (bcl@redhat.com) -- pylint: whitelist the rpm module (bcl@redhat.com) -- tests: Move the list of packages out of Dockerfile.test into a file (bcl@redhat.com) -- tests: remove ALI_DIR after we're done using the cli (atodorov@redhat.com) -- Test & cleanup script for Alibaba cloud (atodorov@redhat.com) -- tests: run ssh commands in batch mode (jrusz@redhat.com) -- lorax: Log dnf solver debug data in ./debugdata/ (bcl@redhat.com) -- tests: remove --test=2 from compose_sanity (jrusz@redhat.com) +* Wed Nov 26 2025 Daniel P. Berrangé - 44.3-2 +- Add ExcludeArch for i686 to remove qemu dependency -* Thu Jan 16 2020 Brian C. Lane 32.5-1 -- New lorax documentation - 32.5 (bcl@redhat.com) -- tests: Use mock from unittest (bcl@redhat.com) -- Add --dracut-conf cmdline argument to lorax and livemedia-creator (bcl@redhat.com) -- Add tests for metapackages and package name globs (bcl@redhat.com) -- executils: Drop bufsize=1 from execReadlines (bcl@redhat.com) -- tests: unittest and pytest expect functions to start with test_ (bcl@redhat.com) -- Update to_timeval usage to use format_iso8601 (bcl@redhat.com) -- ltmpl: Update to use collections.abc (bcl@redhat.com) -- test: Use pytest instead of nose (bcl@redhat.com) -- tests: Check for cloud-init presence in azure image (jrusz@redhat.com) -- tests: check for failed compose before trying to cancel (jrusz@redhat.com) -- tests: Enable Elastic Network Adapter support for AWS (atodorov@redhat.com) -- lorax-composer: Enable ami on aarch64 (bcl@redhat.com) +* Wed Oct 15 2025 Brian C. Lane 44.3-1 +- Do not remove SELinux from the runtime (ppolawsk@redhat.com) -* Fri Jan 10 2020 Brian C. Lane 32.4-1 -- livemedia-creator: workaround glibc limitation when starting anaconda (dan@danny.cz) -- AWS test: take into account different instance type for non x86 (atodorov@redhat.com) -- Add test for canceling a running compose (jrusz@redhat.com) -- composer-cli: Increase DELETE timeout to 120s (bcl@redhat.com) -- anaconda_cleanup: Remove anaconda.pid if it is left behind (bcl@redhat.com) -- New lorax documentation - 32.4 (bcl@redhat.com) -- docs: Add documentation for new mkksiso --volid feature (bcl@redhat.com) -- mkksiso: Add the option to set the ISO volume label (florian.achleitner@prime-sign.com) -- spec: Add missing BuildRequires: make (florian.achleitner@prime-sign.com) -- tests: Use wildcard versions for packages (bcl@redhat.com) -- composer-cli: Only display the available compose types (bcl@redhat.com) -- fix typo in api docstring (obudai@redhat.com) -- Remove all repo files & install composer-cli from host repos (atodorov@redhat.com) -- Always remove lorax-composer & composer-cli RPMs before installing them (atodorov@redhat.com) -- Always remove existing VM image before building new one (atodorov@redhat.com) -- Add git to Dockerfile.test (bcl@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) -* Mon Nov 18 2019 Brian C. Lane 32.3-1 -- lorax-composer: Add cloud-init support to the vhd image (bcl@redhat.com) -- tests: add docker variable to .travis.yml (jrusz@redhat.com) -- tests: Changed Docker to podman in Makefile (jrusz@redhat.com) -- tests: fix blueprints tag test (jrusz@redhat.com) -- test: fix serializing repo_to_source test (jrusz@redhat.com) -- composer-cli: Return int from handle_api_result not bool (bcl@redhat.com) -- mkksiso: copy all the directories over to tmpdir (bcl@redhat.com) -- Add dmidecode on supported architectures (bcl@redhat.com) -- docs: Remove --title from list of lmc variables (bcl@redhat.com) -- Drop old lorax.spec changelog entries (pre-F31) (bcl@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) -* Tue Nov 05 2019 Brian C. Lane 32.2-1 -- New lorax documentation - 32.2 (bcl@redhat.com) -- tests: Add 'test_mkksiso' tests (bcl@redhat.com) -- mkksiso: Add documentation (bcl@redhat.com) -- mkksiso: Add a tool to add a kickstart to an existing boot.iso (bcl@redhat.com) -- tests: Add a lorax boot.iso test (bcl@redhat.com) -- test: Add wait_boot method for root logins (bcl@redhat.com) -- tests: Ensure failure if beakerlib results file not found (atodorov@redhat.com) -- tests: Documentation updates (atodorov@redhat.com) -- tests: Use host repositories for make vm (atodorov@redhat.com) -- Remove unused make targets (atodorov@redhat.com) -- DRY when setting up, running & parsing results for beakerlib tests (atodorov@redhat.com) -- tests: Disable mirrors (atodorov@redhat.com) -- tests: Use journalctl -g to check for failed login (bcl@redhat.com) -- tests: Fix check_root_account when used with tar liveimg test (bcl@redhat.com) -- tests: Use the same asserts as before (atodorov@redhat.com) -- tests: switch to using podman instead of docker (atodorov@redhat.com) -- tests: Remove nested vm from tar liveimg kickstart test (bcl@redhat.com) -- tests: Use --http0.9 for curl ssh test (bcl@redhat.com) -- test: Boot the live-iso faster, and login using ssh key (bcl@redhat.com) -- test: Split up the test class to allow booting other images (bcl@redhat.com) -- tests: Split testing the image into a separate script (bcl@redhat.com) -- Add live iso support to s390 (bcl@redhat.com) -- docs: Override macboot/nomacboot documentation (bcl@redhat.com) -- Disable some compose types on other architectures (bcl@redhat.com) -- lorax: Drop unused --title option (bcl@redhat.com) -- tests: Document Azure setup (atodorov@redhat.com) -- tests: unskip Azure scenario (atodorov@redhat.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) -* Wed Oct 16 2019 Brian C. Lane 32.1-1 -- Bump default platform and releasever to 32 (bcl@redhat.com) -- New lorax documentation - 32.1 (bcl@redhat.com) -- docs: Fix Sphinx errors in docstrings (bcl@redhat.com) -- vm.install: Turn on verbose output (bcl@redhat.com) -- tests: Switch the azure examples used in the lifted tests to use aws (bcl@redhat.com) -- Remove lifted azure support (bcl@redhat.com) -- composer-cli: Add providers info command (bcl@redhat.com) -- composer-cli: Fix error handling in providers push (bcl@redhat.com) -- composer-cli: Fix upload log output (bcl@redhat.com) -- Add list to bash completion for composer-cli upload (bcl@redhat.com) -- Update composer-cli documentation (bcl@redhat.com) -- Add composer and lifted to coverage report (bcl@redhat.com) -- composer-cli: Add starting an upload to compose start (bcl@redhat.com) -- composer-cli: Add providers template command (bcl@redhat.com) -- bash_completion: Add support for new composer-cli commands (bcl@redhat.com) -- composer-cli: Add support for providers command (bcl@redhat.com) -- composer-cli: Add support for upload command (bcl@redhat.com) -- Increase ansible verbosity to 2 (bcl@redhat.com) -- lifted: Add support for AWS upload (bcl@redhat.com) -- lifted: Improve logging for upload playbooks (bcl@redhat.com) -- Add upload status examples to compose route docstrings (bcl@redhat.com) -- tests: Add tests for deleting unknown upload and profile (bcl@redhat.com) -- Add docstrings to the new upload functions in pylorax.api.queue (bcl@redhat.com) -- Change /compose/uploads/delete to /upload/delete (bcl@redhat.com) -- tests: Add test for /compose/uploads/delete (bcl@redhat.com) -- tests: Add tests for /compose/uploads/schedule (bcl@redhat.com) -- Add profile support to /uploads/schedule/ (bcl@redhat.com) -- tests: Fix comments about V1 API results including uploads data (bcl@redhat.com) -- lifted: Make sure inputs cannot have path elements (bcl@redhat.com) -- Use consistent naming for upload uuids (bcl@redhat.com) -- tests: Add tests for new upload routes (bcl@redhat.com) -- Fix some docstrings in the v1 API (bcl@redhat.com) -- lifted: Make sure providers list is always sorted (bcl@redhat.com) -- Add /upload/providers/delete route (bcl@redhat.com) -- lifted: Add delete_profile function and tests (bcl@redhat.com) -- Add support for starting a compose upload with the profile (bcl@redhat.com) -- lifted: Add a function to load the settings for a provider's profile (bcl@redhat.com) -- Fix pylint errors in lifted.upload (bcl@redhat.com) -- tests: Add yamllint of the lifted playbooks (bcl@redhat.com) -- tests: Add tests for the new lifted module (bcl@redhat.com) -- All providers should have 'supported_types' (bcl@redhat.com) -- lifted directories should be under share_dir and lib_dir (bcl@redhat.com) -- tests: Add tests for API v1 (bcl@redhat.com) -- Make sure V0 API doesn't return uploads information (bcl@redhat.com) -- Automatically upload composed images to the cloud (egoode@redhat.com) -- Add load and dump to pylorax.api.toml (egoode@redhat.com) -- Support CI testing against a bots project PR (martin@piware.de) -- Makefile: Don't clobber an existing bots checkout (martin@piware.de) -- lorax-composer: Handle RecipeError in commit_recipe_directory (bcl@redhat.com) -- test: Disable pylint subprocess check check (bcl@redhat.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) -* Mon Sep 30 2019 Brian C. Lane 32.0-1 -- aarch64: Fix live-iso creation on aarch64 (bcl@redhat.com) -- Add test for running composer with --no-system-repos option (jikortus@redhat.com) -- [tests] Use functions for starting and stopping lorax-composer (jikortus@redhat.com) -- Makefile: Update bots target for moved GitHub project (sanne.raymaekers@gmail.com) -- Keep the zramctl utility from util-linux on boot.iso (mkolman@redhat.com) -- Skip kickstart tar test for fedora-30/tar scenario (atodorov@redhat.com) -- Enable fedora-30/tar test scenario (atodorov@redhat.com) -- [tests] Collect compose logs after each build (atodorov@redhat.com) -- [tests] Use a function to wait for compose to finish (jikortus@redhat.com) -- When launching AWS instances wait for the one we just launched (atodorov@redhat.com) -- tests: Add kickstart tar installation test (jikortus@redhat.com) -- tests: add option to disable kernel command line parameters check (jikortus@redhat.com) -- tests: Use a loop to wait for VM and sshd to start (bcl@redhat.com) -- creator.py: include dmsquash-live-ntfs by default (gmt@be-evil.net) -- Skip Azure test b/c misconfigured infra & creds (atodorov@redhat.com) -- tests: Drop tito from the Dockerfile.test (bcl@redhat.com) -- tests: Drop sort from compose types test (bcl@redhat.com) -- Revert "tests: Fix the order of liveimg-tar live-iso" (atodorov@redhat.com) -- New test: assert toml files in git workspace (atodorov@redhat.com) +* Tue Jul 22 2025 Brian C. Lane 43.9-1 +- Makefile: Separate install and all targets (bcl@redhat.com) -* Tue Aug 20 2019 Brian C. Lane 31.10-1 -- tests: Update gpg key to fedora 32 (bcl@redhat.com) -- tests: Fix the order of liveimg-tar live-iso (bcl@redhat.com) -- tests: Use server-2.repo instead of single.repo (bcl@redhat.com) -- lorax-composer: Add support for dnf variables to repo sources (bcl@redhat.com) -- Use smarter multipath detection logic. (dlehman@redhat.com) -- tests: Expand test coverage of the v0 and v1 sources API (bcl@redhat.com) -- tests: Temporarily work around rpm and pylint issues (bcl@redhat.com) -- lorax-composer: Add v1 API for projects/source/ (bcl@redhat.com) -- Add /api/v1/ handler with no routes (bcl@redhat.com) -- Move common functions into pylorax.api.utils (bcl@redhat.com) -- Document the release process steps (bcl@redhat.com) -- lorax-composer: Add liveimg-tar image type (bcl@redhat.com) -- livemedia-creator: Use --compress-arg in mksquashfs (bcl@redhat.com) -- livemedia-creator: Remove unused --squashfs_args option (bcl@redhat.com) -- Only use repos with valid urls for test_server.py (bcl@redhat.com) -- lorax-composer: Clarify groups documentation (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) -* Mon Jul 29 2019 Brian C. Lane 31.9-1 -- New lorax documentation - 31.9 (bcl@redhat.com) -- Remove .build-id from install media (riehecky@fnal.gov) -- lorax-composer: Add squashfs_only False to all image types (bcl@redhat.com) -- tests: Update test_creator.py (bcl@redhat.com) -- docs: Add anaconda-live to fedora-livemedia.ks example (bcl@redhat.com) -- livemedia-creator: Use make_runtime for all runtime creation (bcl@redhat.com) -- livemedia-creator: Add support for a squashfs only runtime image (bcl@redhat.com) -- Update rst formatting. Refs #815 (atodorov@redhat.com) -- don't skip Xorg packages on s390x to allow local GUI installation under KVM (dan@danny.cz) -- Use binary mode to tail the file (bcl@redhat.com) -- Return most relevant log file from /compose/log (egoode@redhat.com) -- Use passwd --status for locked root account check (jikortus@redhat.com) -- tests: Use liveuser account for live-iso boot check (bcl@redhat.com) -- Mention python3-magic in HACKING.md (egoode@redhat.com) -- tests: Add check to make sure the compose actually finished (bcl@redhat.com) -- test: check the number of tests that ran (atodorov@redhat.com) -- lorax: Add debug log of command line options (riehecky@fnal.gov) -- lorax: provide runtime lorax config in debug log (riehecky@fnal.gov) -- Remove whitespace in v0_blueprints_new (jacobdkozol@gmail.com) -- Add test for VALID_BLUEPRINT_NAME check (jacobdkozol@gmail.com) -- Add seperate validation for blueprint names (jacobdkozol@gmail.com) -- Leave lscpu in the image for additional debugging (riehecky@fnal.gov) -- tests: set skip_if_unavailable in test repos (lars@karlitski.net) -- test/README.md: Add section explaining GitHub integration (lars@karlitski.net) +* 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) -* Fri Jun 28 2019 Brian C. Lane 31.8-1 -- Also search for pxeboot kernel and initrd pairs (hadess@hadess.net) -- Assert that RuntimeErrors have correct messages (egoode@redhat.com) -- More descriptive error for a bad ref in repos.git (egoode@redhat.com) -- Remove unused shell script (atodorov@redhat.com) -- test: Output results for cockpit's log.html (lars@karlitski.net) -- Do not generate journal.xml from beakerlib (atodorov@redhat.com) -- tests: Add RUN_TESTS to Makefile so you can pass in targets (bcl@redhat.com) -- tests: Add tests for recipe checking functions (bcl@redhat.com) -- lorax-composer: Add basic case check to check_recipe_dict (bcl@redhat.com) -- lorax-composer: Add basic recipe checker function (bcl@redhat.com) -- Revert "test: Disable test_live_iso test" (lars@karlitski.net) -- test: Fix test_blueprint_sanity (lars@karlitski.net) -- tests: rpm now returns str, drop decode() call (bcl@redhat.com) -- tests: Drop libgit2 install from koji (bcl@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) -* Tue Jun 18 2019 Brian C. Lane 31.7-1 -- New lorax documentation - 31.7 (bcl@redhat.com) -- Update qemu arguments to work correctly with nographic (bcl@redhat.com) -- Switch to new toml library (bcl@redhat.com) -- composer-cli: Update diff support for customizations and repos.git (bcl@redhat.com) -- Add support for customizations and repos.git to /blueprints/diff/ (bcl@redhat.com) -- tests: Update custom-base with customizations (bcl@redhat.com) -- Move the v0 API documentation into the functions (bcl@redhat.com) -- Update the /api/v0/ route handling to use the flask_blueprints Blueprint class (bcl@redhat.com) -- Extend Flask Blueprint class to allow skipping routes (bcl@redhat.com) -- Remove PR template (atodorov@redhat.com) -- Increase retry count/sleep times when waiting for lorax to start (atodorov@redhat.com) -- Revert "remove the check for qemu-kvm" (atodorov@redhat.com) -- Revert "remove the check for /usr/bin/docker in the setup phase" (atodorov@redhat.com) -- [tests] Define unbound variables in test scripts (atodorov@redhat.com) -- [tests] Handle blueprints in setup_tests/teardown_tests correctly (atodorov@redhat.com) -- [tests] grep|cut for IP address in a more robust way (atodorov@redhat.com) -- Remove quotes around file test in make vm (atodorov@redhat.com) -- test: Don't wait on --sit when test succeeds (lars@karlitski.net) -- Monkey-patch beakerlib to fail on first assert (lars@karlitski.net) -- test_cli.sh: Return beakerlib's exit code (lars@karlitski.net) -- Don't send CORS headers (lars@karlitski.net) -- tests: Set BLUEPRINTS_DIR in all cases (lars@karlitski.net) -- tests: Fail on script errors (lars@karlitski.net) -- Add API integration test (lars@karlitski.net) -- composer: Set up a custom HTTP error handler (lars@karlitski.net) -- Split live-iso and qcow2 and update test scenario execution (atodorov@redhat.com) -- Configure $PACKAGE for beakerlib reports (atodorov@redhat.com) -- Use cloud credentials during test if they exist (atodorov@redhat.com) -- Don't execute compose/blueprint sanity tests in Travis CI (atodorov@redhat.com) -- test: Add --list option to test/check* scripts (lars@karlitski.net) -- test: Add --sit argument to check-* scripts (lars@karlitski.net) -- test: Custom main() function (lars@karlitski.net) -- Use ansible instead of awscli (jstodola@redhat.com) -- Fix path to generic.prm (jstodola@redhat.com) -- Update example fedora-livemedia.ks (bcl@redhat.com) -- Update composer live-iso template (bcl@redhat.com) -- test: Disable test_live_iso test (lars@karlitski.net) -- tests: Source lib.sh from the right directory (lars@karlitski.net) -- Revert "Add rpmfluff temporarily" (bcl@redhat.com) -- tests: Update tmux version to 2.9a (bcl@redhat.com) -- test: Install beakerlib on non-RHEL images (martin@piware.de) -- tests: Fail immediately when image build fails (lars@karlitski.net) -- test: Install beakerlib wehn running on rhel (lars@karlitski.net) -- test: Generalize fs resizing in vm.install (lars@karlitski.net) -- tests: Re-enable kvm (lars@karlitski.net) -- test: Fix vm.install to be idempotent (lars@karlitski.net) -- tests: Don't depend on kvm for tar and qcow2 tests (lars@karlitski.net) -- test_compose_tar: Work around selinux policy change (lars@karlitski.net) -- test_compose_tar: Be less verbose (lars@karlitski.net) -- test_compose_tar: Fix docker test (lars@karlitski.net) -- tests: Extract images to /var/tmp, not /tmp (lars@karlitski.net) -- Use Cockpit's test images and infrastructure (lars@karlitski.net) -- pylint: Remove unused false positive (lars@karlitski.net) +* 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) -* Thu May 16 2019 Brian C. Lane 31.6-1 -- Add kernel to ext4-filesystem template (bcl@redhat.com) -- Create a lorax-docs package with the html docs (bcl@redhat.com) -- Add new documentation branches to index.rst (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 -* Tue May 07 2019 Brian C. Lane 31.5-1 -- Add python3-pycdlib to Dockerfile.test (bcl@redhat.com) -- Replace isoinfo with pycdlib (bcl@redhat.com) -- Add test for passing custom option on kernel command line (jikortus@redhat.com) -- Use verify_image function as a helper for generic tests (jikortus@redhat.com) +* 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) -* Thu May 02 2019 Brian C. Lane 31.4-1 -- tests: Update openssh-server to v8.* (bcl@redhat.com) -- New lorax documentation - 31.4 (bcl@redhat.com) -- Change customizations.firewall to append items instead of replace (bcl@redhat.com) -- Update customizations.services documentation (bcl@redhat.com) -- lorax-composer: Add services support to blueprints (bcl@redhat.com) -- Add rpmfluff temporarily (bcl@redhat.com) -- lorax-composer: Add firewall support to blueprints (bcl@redhat.com) -- lorax-composer: Add locale support to blueprints (bcl@redhat.com) -- lorax-composer: Fix customizations when creating a recipe (bcl@redhat.com) -- Update docs for new timezone section (bcl@redhat.com) -- lorax-composer: Add timezone support to blueprint (bcl@redhat.com) -- Proposal for adding to the blueprint customizations (bcl@redhat.com) -- Add test for starting compose with deleted blueprint (jikortus@redhat.com) -- Update VMware info for VMware testing (chrobert@redhat.com) -- tests: Cleanup on failure of in_tempdir (bcl@redhat.com) -- Change [[modules]] to [[packages]] in tests (atodorov@redhat.com) -- Add new test to verify compose paths exist (atodorov@redhat.com) -- Add new sanity tests for blueprints (atodorov@redhat.com) -- Fixes for locked root account test (jikortus@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) -* Fri Apr 05 2019 Brian C. Lane 31.3-1 -- Add -iso-level 3 when the install.img is > 4GiB (bcl@redhat.com) -- Correct "recipes" use to "blueprints" in composer-cli description (kwalker@redhat.com) -- Fix keeping files on Amazon s3 (jstodola@redhat.com) -- Allow to keep objects in AWS (jstodola@redhat.com) -- Fix the google cloud boot console settings (dshea@redhat.com) -- Add a compose type for alibaba. (dshea@redhat.com) -- Add a new compose type for Hyper-V (dshea@redhat.com) -- Add a compose check for google cloud images. (dshea@redhat.com) -- Add a compose type for Google Compute Engine (dshea@redhat.com) -- Add a new output type, tar-disk. (dshea@redhat.com) -- Support compressing single files. (dshea@redhat.com) -- Add an option to align the image size to a multiplier. (dshea@redhat.com) +* Mon Mar 10 2025 Brian C. Lane 43.1-1 +- runtime-postinstall: Remove systemd-gpt-auto-generator (bcl@redhat.com) -* Mon Apr 01 2019 Brian C. Lane 31.2-1 -- Add documentation references to lorax-composer service files (bcl@redhat.com) -- Add more tests for gitrpm.py (bcl@redhat.com) -- lorax-composer: Fix installing files from [[repos.git]] to / (bcl@redhat.com) -- New lorax documentation - 31.1 (bcl@redhat.com) -- Make it easier to generate docs for the next release (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) -* Tue Mar 26 2019 Brian C. Lane 31.1-1 -- qemu wasn't restoring the terminal if it was terminated early (bcl@redhat.com) -- Switch the --virt-uefi method to use SecureBoot (bcl@redhat.com) -- pylorax.ltmpl: Add a test for missing quotes (bcl@redhat.com) -- Don't remove chmem and lsmem from install.img (bcl@redhat.com) -- lorax-composer: pass customization.kernel append to extra_boot_args (bcl@redhat.com) -- Improve logging for template syntax errors (bcl@redhat.com) -- Add extra boot args to the livemedia-creator iso templates (bcl@redhat.com) -- lorax-composer: Add the ability to append to the kernel command-line (bcl@redhat.com) -- Add checks for disabled root account (jikortus@redhat.com) -- Update datastore for VMware testing (chrobert@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 Mar 15 2019 Brian C. Lane 31.0-1 -- Add tests using repos.git in blueprints (bcl@redhat.com) -- Move git repo creation into tests/lib.py (bcl@redhat.com) -- rpmgit: catch potential errors while running git (bcl@redhat.com) -- tests: Add test for Recipe.freeze() function (bcl@redhat.com) -- Add repos.git support to lorax-composer builds (bcl@redhat.com) -- Add pylorax.api.gitrpm module and tests (bcl@redhat.com) -- Add support for [[repos.git]] section to blueprints (bcl@redhat.com) -- Update ppc64le isolabel to match x86_64 logic (bcl@redhat.com) -- Add blacklist_exceptions to multipath.conf (bcl@redhat.com) -- tests: Add python3-mock and python3-sphinx_rtd_theme (bcl@redhat.com) -- Use make ci inside test-in-copy target (atodorov@redhat.com) -- Allow overriding $CLI outside test scripts (atodorov@redhat.com) -- tests: Make it easier to update version globs (bcl@redhat.com) -- New test: Build live-iso and boot with KVM (atodorov@redhat.com) -- lorax-composer: Return UnknownBlueprint errors when using deleted blueprints (bcl@redhat.com) -- lorax-composer: Delete workspace copy when deleting blueprint (bcl@redhat.com) -- New test: Build qcow2 compose and test it with QEMU-KVM (atodorov@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) + +* 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) +- 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 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) + +* Thu Jul 08 2021 Brian C. Lane 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 35.5-1 +- pylorax: Fix mksparse ftruncate size handling (bcl@redhat.com) + +* Thu Jun 10 2021 Brian C. Lane 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 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 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 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 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 +- 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) 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 8f667e9..0b5f402 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lorax-32.7.tar.gz) = b6cee6ee9455279c5dcd559130dc702b899521879391190e2238f227953e7a4871e794b4811cc78729ee85fc2188353eb6cb1e0b215e4aa9233eb258332444f9 +SHA512 (lorax-44.4.tar.gz) = e2be9a13a0aec657bfe9a32dbd51e9024dfcb89471dbc57b8206dccdcd71cf5561fb25f97a7fdaca2b0279a2966b142ddf4e4544577ac2b47171f19648742577 diff --git a/tests/scripts/run_tests.sh b/tests/scripts/run_tests.sh new file mode 100755 index 0000000..f4849b2 --- /dev/null +++ b/tests/scripts/run_tests.sh @@ -0,0 +1,274 @@ +#!/bin/bash +set -eux + +FAILANY=0 +BOOTISO=/var/tmp/lorax-fedora-iso/images/boot.iso +KSNAME=fedora-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 { + ## 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" +} + +# 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 { + + # 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" +} + +# 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 { + # 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" +} + +# 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 { + # 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" + + 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_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 +REPOS=$(for f in /etc/yum.repos.d/*repo; do echo -n "--repo $f "; done) +if [ -z "$REPOS" ]; then + echo "No system repos found" + exit 1 +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 +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