From 341aa976788dd3f671101450052b7cafd8e1db61 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Thu, 19 Dec 2024 05:38:37 +0100 Subject: [PATCH] Release v6.0 + Configs v41.5 Created by command: /usr/bin/tito tag --use-version 6.0 (mock) /usr/bin/tito tag (mock-core-configs) ./releng/generate-release-notes --use-version 6.0 (release notes) Fixes: #1523 --- .tito/packages/mock | 2 +- .tito/packages/mock-core-configs | 2 +- docs/Release-Notes-6.0.md | 111 ++++++++++++++++++ docs/index.md | 1 + mock-core-configs/mock-core-configs.spec | 10 +- mock/mock.spec | 20 +++- .../chroot-scan-resultdir-creation.bugfix | 4 - releng/release-notes-next/dnf-cmd.bugfix | 1 - .../drop-unused-container-script.bugfix | 2 - .../eln-bootstrap-image.bugfix | 1 - .../release-notes-next/eln-rs-removal.bugfix | 1 - .../epel10-metalinks.config.md | 3 - .../export-import-oci-buildroot-image.feature | 17 --- .../release-notes-next/fedora-39-eol.config | 3 - ...ate-failure-during-the-second-build.config | 1 - .../hermetic-download-retry.bugfix.md | 1 - .../no-bootstrap-installation-with-dnf.bugfix | 4 - .../podman-arch-check.bugfix | 3 - .../release-notes-next/podman-digests.feature | 2 - .../restore-dnf_builddep_opts.bugfix | 1 - .../sysusers-on-mageia.bugfix | 2 - ...velopment-centos-bootstrap-image.config.md | 3 - 22 files changed, 142 insertions(+), 53 deletions(-) create mode 100644 docs/Release-Notes-6.0.md delete mode 100644 releng/release-notes-next/chroot-scan-resultdir-creation.bugfix delete mode 100644 releng/release-notes-next/dnf-cmd.bugfix delete mode 100644 releng/release-notes-next/drop-unused-container-script.bugfix delete mode 100644 releng/release-notes-next/eln-bootstrap-image.bugfix delete mode 100644 releng/release-notes-next/eln-rs-removal.bugfix delete mode 100644 releng/release-notes-next/epel10-metalinks.config.md delete mode 100644 releng/release-notes-next/export-import-oci-buildroot-image.feature delete mode 100644 releng/release-notes-next/fedora-39-eol.config delete mode 100644 releng/release-notes-next/fix-openSUSE-tumbleweed-update-failure-during-the-second-build.config delete mode 100644 releng/release-notes-next/hermetic-download-retry.bugfix.md delete mode 100644 releng/release-notes-next/no-bootstrap-installation-with-dnf.bugfix delete mode 100644 releng/release-notes-next/podman-arch-check.bugfix delete mode 100644 releng/release-notes-next/podman-digests.feature delete mode 100644 releng/release-notes-next/restore-dnf_builddep_opts.bugfix delete mode 100644 releng/release-notes-next/sysusers-on-mageia.bugfix delete mode 100644 releng/release-notes-next/use-non-development-centos-bootstrap-image.config.md diff --git a/.tito/packages/mock b/.tito/packages/mock index 384d03cfe..a6b1d120d 100644 --- a/.tito/packages/mock +++ b/.tito/packages/mock @@ -1 +1 @@ -5.9-1 mock/ +6.0-1 mock/ diff --git a/.tito/packages/mock-core-configs b/.tito/packages/mock-core-configs index 6833b965f..59fc842b3 100644 --- a/.tito/packages/mock-core-configs +++ b/.tito/packages/mock-core-configs @@ -1 +1 @@ -41.4-1 mock-core-configs/ +41.5-1 mock-core-configs/ diff --git a/docs/Release-Notes-6.0.md b/docs/Release-Notes-6.0.md new file mode 100644 index 000000000..08ce340ee --- /dev/null +++ b/docs/Release-Notes-6.0.md @@ -0,0 +1,111 @@ +--- +layout: default +title: Release Notes - Mock 6.0 (+ mock-core-configs v41.5) +--- + +## [Release 6.0](https://rpm-software-management.github.io/mock/Release-Notes-6.0) - 2024-12-19 + + +### New features + +- [A new plugin, `export_buildroot_image`](Plugin-Export-Buildroot-Image), has + been added. This plugin can export the generated Mock chroot as an OCI image + archive once all the build dependencies have been installed (when the chroot + is fully prepared to run `/bin/rpmbuild -bb`). + + A [new complementary feature](Feature-buildroot-image) has also been + implemented in Mock and can be enabled using the following option: + + --buildroot-image /tmp/buildroot-oci.tar + + This feature allows the use of generated OCI archives as the source for the + build chroot, similar to how `bootstrap_image` is used as the base for the + bootstrap chroot. + + Additionally, this feature can be utilized with an online image: + + --buildroot-image registry.access.redhat.com/ubi8/ubi + + In both cases, it is essential to use chroot-compatible images! + +- Hermetic build process is enhanced by adding used imaged digests into the + metadata and confirming that exactly same image is used in the next step. + +- The mock-hermetic-repo command now implements a retry mechanism for + downloading files. + +- The `podman load` mechanism for loading OCI archive bootstrap images has been + replaced with `podman pull oci-archive:/path/to-the.tar`. + +### Bugfixes + +- The [chroot_scan plugin](Plugin-ChrootScan) [issue#1490][] has been fixed so it + no longer (re)creates resultdir below the global `basedir`, but under the + per-package resultdir (by default in a `/var/tmp/` sub-directory). In turn, the + resultdir is no longer created with improper ownership. + +- Make `--dnf-cmd` compatible with DNF5, fixes [issue#1400][]. + +- The `libexec/create_default_route_in_container.sh` file shipped with Mock has + been removed, it was never used in practice (relates to [issue#113][]). + +- The [hermetic mode](feature-hermetic-builds) no longer fallbacks to a manual + bootstrap installation using the hosts DNF stack; it doesn't make sense + because we don't have the bootstrap packages pre-downloaded in the local + "offline" repository. Fixes [issue#1522][]. + +- The error message in the `podman_check_native_image_architecture()` method has + been fixed to correctly indicate the expected (system) architecture and the + image architecture. + +- Regression introduced in Mock v5.7 that ignored the `dnf_builddep_opts` + configuration option has been fixed, [issue#1496][]. + +- The `%pre` scriptlet installing the `mock` group is newly not used for modern + distributions like Fedora 39+ or Mageia (group/user additions are handled by + an RPM built-in feature). + +### Mock Core Configs v41.5 changes + +- The Fedora ELN template has been updated for the new pullspec of the bootstrap + image. + +- The Fedora ELN ResilientStorage repositories are obsolete and have been + removed from the ELN template. + +- The EPEL 10 configuration has been updated to include the epel and epel-testing + repos with the appropriate metalinks. Previously it only included the koji + local repo. + +- Fedora 39 is now [end-of-live](https://fedorapeople.org/groups/schedule/f-39/f-39-all-tasks.html); + the corresponding Mock configuration files have been moved under the + `/etc/mock/eol` directory. + +- Fix [openSUSE-tumbleweed update failure][issue#1506] during the second build. + +- The CentOS Stream 10 configuration has been updated to use + `quay.io/centos/centos:stream10` as its bootstrap image, instead of the + previously used development image. + + +#### The following contributors have contributed to this release: + +- Addisu Z. Taddese +- Carl George +- cheese1 +- duli +- Jakub Kadlcik +- Maksym Kondratenko +- Miroslav Suchý +- Ralph Bean +- Romain Geissler +- Tomas Kopecek +- Yaakov Selkowitz + +Thank You! + +[issue#113]: https://github.com/rpm-software-management/mock/issues/113 +[issue#1506]: https://github.com/rpm-software-management/mock/issues/1506 +[issue#1490]: https://github.com/rpm-software-management/mock/issues/1490 +[issue#1522]: https://github.com/rpm-software-management/mock/issues/1522 +[issue#1400]: https://github.com/rpm-software-management/mock/issues/1400 diff --git a/docs/index.md b/docs/index.md index 354f2e94e..a61c9c5d8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -69,6 +69,7 @@ Versions in Linux distributions: ## Release Notes +* [6.0 and Configs 41.5](Release-Notes-6.0) (2024-12-19) - New OCI image support for buildroot, hermetic build mode fixes, Fedora 39 EOL. * [5.9 and Configs 41.4](Release-Notes-5.9) (2024-09-30) - A --no-bootstrap-chroot regression with DNF4 chroots fixed. * [5.8](Release-Notes-5.8) (2024-09-27) - Bug-fixed regression in `chroot_scan` plugin. * [5.7 and Configs 41.3](Release-Notes-5.7) (2024-09-26) - Support for isolated builds added. DNF4 = DNF. Option `--scrub-all-chroots` added. diff --git a/mock-core-configs/mock-core-configs.spec b/mock-core-configs/mock-core-configs.spec index ef1f47b55..2a2b7a078 100644 --- a/mock-core-configs/mock-core-configs.spec +++ b/mock-core-configs/mock-core-configs.spec @@ -3,7 +3,7 @@ %endif Name: mock-core-configs -Version: 41.4 +Version: 41.5 Release: 1%{?dist} Summary: Mock core config files basic chroots @@ -149,6 +149,14 @@ fi %ghost %config(noreplace,missingok) %{_sysconfdir}/mock/default.cfg %changelog +* Thu Dec 19 2024 Pavel Raiskup 41.5-1 +- Fedora 39 EOL +- fix openSUSE-tumbleweed update failure during the second build (duli4868@gmail.com) +- use non development bootstrap image for CentOS Stream 10 (romain.geissler@amadeus.com) +- remove ELN ResilientStorage repos (yselkowi@redhat.com) +- update ELN bootstrap image (yselkowi@redhat.com) +- Add epel and epel-testing repos to the EPEL 10 config (carlwgeorge@gmail.com) + * Mon Sep 30 2024 Pavel Raiskup 41.4-1 - update ELN repos (yselkowi@redhat.com) diff --git a/mock/mock.spec b/mock/mock.spec index 362da4e2b..72bc27ccd 100644 --- a/mock/mock.spec +++ b/mock/mock.spec @@ -18,7 +18,7 @@ Summary: Builds packages inside chroots Name: mock -Version: 5.9 +Version: 6.0 Release: 1%{?dist} License: GPL-2.0-or-later # Source is created by @@ -330,6 +330,24 @@ pylint-3 py/mockbuild/ py/*.py py/mockbuild/plugins/* || : %config(noreplace) %{_sysusersdir}/mock.conf %changelog +* Thu Dec 19 2024 Pavel Raiskup 6.0-1 +- export_buildroot_image: new plugin for OCI image exports +- buildroot_image: allow using OCI images as the base for buildroot +- hermetic: do not install buildroot via DNF +- podman: typofix in library call error-message +- use new digest for comparing podman images (tkopecek@redhat.com) +- hermetic: do "podman pull" instead of "podman load" for bootstrap +- podman: always tag/untag the images we work with locally +- podman: generalize the logic so it is not bootstrap-only +- avoid using the %%pre scriptlet if possible +- hermetic: retry on failed network requests (rbean@redhat.com) +- hermetic: more robust retry mechanism for downloading rpms (tkopecek@redhat.com) +- chroot_scan: bugfix - create chroot_scan/ correctly in buildroot.resultdir +- mock: drop the unused create_default_route_in_container.sh script +- mock: make --dnf-cmd compatible with DNF5 (frostyx@email.cz) +- mock: add a real source URL into %%Source +- the dnf_builddep_opts made working again (addisu@openrobotics.org) + * Mon Sep 30 2024 Pavel Raiskup 5.9-1 - fix the DNF4 fallback for --no-bootstrap-chroot diff --git a/releng/release-notes-next/chroot-scan-resultdir-creation.bugfix b/releng/release-notes-next/chroot-scan-resultdir-creation.bugfix deleted file mode 100644 index 4c40245f7..000000000 --- a/releng/release-notes-next/chroot-scan-resultdir-creation.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -The [chroot_scan plugin](Plugin-ChrootScan) [issue#1490][] has been fixed so it -no longer (re)creates resultdir below the global `basedir`, but under the -per-package resultdir (by default in a `/var/tmp/` sub-directory). In turn, the -resultdir is not created with improper ownership. diff --git a/releng/release-notes-next/dnf-cmd.bugfix b/releng/release-notes-next/dnf-cmd.bugfix deleted file mode 100644 index acbe9aec6..000000000 --- a/releng/release-notes-next/dnf-cmd.bugfix +++ /dev/null @@ -1 +0,0 @@ -Make `--dnf-cmd` compatible with DNF5 diff --git a/releng/release-notes-next/drop-unused-container-script.bugfix b/releng/release-notes-next/drop-unused-container-script.bugfix deleted file mode 100644 index 090f891e4..000000000 --- a/releng/release-notes-next/drop-unused-container-script.bugfix +++ /dev/null @@ -1,2 +0,0 @@ -The `libexec/create_default_route_in_container.sh` has been removed, it was -never used in practice (relates to [issue#113][]). diff --git a/releng/release-notes-next/eln-bootstrap-image.bugfix b/releng/release-notes-next/eln-bootstrap-image.bugfix deleted file mode 100644 index f400eaaf6..000000000 --- a/releng/release-notes-next/eln-bootstrap-image.bugfix +++ /dev/null @@ -1 +0,0 @@ -The Fedora ELN template has been updated for the new pullspec of the bootstrap image. diff --git a/releng/release-notes-next/eln-rs-removal.bugfix b/releng/release-notes-next/eln-rs-removal.bugfix deleted file mode 100644 index 60fab7240..000000000 --- a/releng/release-notes-next/eln-rs-removal.bugfix +++ /dev/null @@ -1 +0,0 @@ -The Fedora ELN ResilientStorage repositories are obsolete and have been removed from the ELN template. diff --git a/releng/release-notes-next/epel10-metalinks.config.md b/releng/release-notes-next/epel10-metalinks.config.md deleted file mode 100644 index ab4de9bcb..000000000 --- a/releng/release-notes-next/epel10-metalinks.config.md +++ /dev/null @@ -1,3 +0,0 @@ -The EPEL 10 configuration has been updated to include the epel and epel-testing -repos with the appropriate metalinks. Previously it only included the koji -local repo. diff --git a/releng/release-notes-next/export-import-oci-buildroot-image.feature b/releng/release-notes-next/export-import-oci-buildroot-image.feature deleted file mode 100644 index 33f7668ad..000000000 --- a/releng/release-notes-next/export-import-oci-buildroot-image.feature +++ /dev/null @@ -1,17 +0,0 @@ -A new plugin, `export_buildroot_image`, has been added. This plugin can export -the Mock chroot as an OCI archive once all the build dependencies have been -installed (when the chroot is ready-made for runnign `/bin/rpmbuild -bb`). - -A new complementary feature has been implemented in Mock, and can be enabled -using the following option: - - --buildroot-image /tmp/buildroot-oci.tar - -It allows the use of generated OCI archives as the source for the build chroot, -similar to how `bootstrap_image` is used "as the base" for the bootstrap chroot. - -Additionally, this feature may be used as: - - --buildroot-image registry.access.redhat.com/ubi8/ubi - -Of course, in both cases it is important to use chroot-compatible iamges. diff --git a/releng/release-notes-next/fedora-39-eol.config b/releng/release-notes-next/fedora-39-eol.config deleted file mode 100644 index 0ee3ab12d..000000000 --- a/releng/release-notes-next/fedora-39-eol.config +++ /dev/null @@ -1,3 +0,0 @@ -Fedora 39 is now [end-of-live](https://fedorapeople.org/groups/schedule/f-39/f-39-all-tasks.html); -the corresponding Mock configuration has been moved under the `/etc/mock/eol` -directory. diff --git a/releng/release-notes-next/fix-openSUSE-tumbleweed-update-failure-during-the-second-build.config b/releng/release-notes-next/fix-openSUSE-tumbleweed-update-failure-during-the-second-build.config deleted file mode 100644 index aa8474206..000000000 --- a/releng/release-notes-next/fix-openSUSE-tumbleweed-update-failure-during-the-second-build.config +++ /dev/null @@ -1 +0,0 @@ -fix [openSUSE-tumbleweed update failure][issue#1506] during the second build. diff --git a/releng/release-notes-next/hermetic-download-retry.bugfix.md b/releng/release-notes-next/hermetic-download-retry.bugfix.md deleted file mode 100644 index 25fb4479b..000000000 --- a/releng/release-notes-next/hermetic-download-retry.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -The mock-hermetic-repo command now implements a retry mechanism for downloading files. diff --git a/releng/release-notes-next/no-bootstrap-installation-with-dnf.bugfix b/releng/release-notes-next/no-bootstrap-installation-with-dnf.bugfix deleted file mode 100644 index 0ad321789..000000000 --- a/releng/release-notes-next/no-bootstrap-installation-with-dnf.bugfix +++ /dev/null @@ -1,4 +0,0 @@ -The [hermetic mode](feature-hermetic-builds) no longer fallbacks to a manual -bootstrap installation using the hosts's DNF stack; it doesn't make sense -because we don't have the bootstrap packages pre-downloaded in the local -"offline" repository. Fixes [issue#1522][]. diff --git a/releng/release-notes-next/podman-arch-check.bugfix b/releng/release-notes-next/podman-arch-check.bugfix deleted file mode 100644 index 5db47adba..000000000 --- a/releng/release-notes-next/podman-arch-check.bugfix +++ /dev/null @@ -1,3 +0,0 @@ -The error message in podman_check_native_image_architecture() method has been -fixed to correctly what is the expected (system) architecture, and what is the -image architecture. diff --git a/releng/release-notes-next/podman-digests.feature b/releng/release-notes-next/podman-digests.feature deleted file mode 100644 index de84d3814..000000000 --- a/releng/release-notes-next/podman-digests.feature +++ /dev/null @@ -1,2 +0,0 @@ -Hermetic build process is enhanced by adding used imaged digests into the -metadata and confirming that exactly same image is used in the next step. diff --git a/releng/release-notes-next/restore-dnf_builddep_opts.bugfix b/releng/release-notes-next/restore-dnf_builddep_opts.bugfix deleted file mode 100644 index 0a4c77647..000000000 --- a/releng/release-notes-next/restore-dnf_builddep_opts.bugfix +++ /dev/null @@ -1 +0,0 @@ -Regression introduced in Mock v5.7 that ignored the `dnf_builddep_opts` configuration is now fixed. diff --git a/releng/release-notes-next/sysusers-on-mageia.bugfix b/releng/release-notes-next/sysusers-on-mageia.bugfix deleted file mode 100644 index 10583fabd..000000000 --- a/releng/release-notes-next/sysusers-on-mageia.bugfix +++ /dev/null @@ -1,2 +0,0 @@ -The %pre scriptlet is not generated for modern distributions like Fedora 39+ or -Mageia (group/user additions are handled by an RPM built-in feature). diff --git a/releng/release-notes-next/use-non-development-centos-bootstrap-image.config.md b/releng/release-notes-next/use-non-development-centos-bootstrap-image.config.md deleted file mode 100644 index 85b8e42a9..000000000 --- a/releng/release-notes-next/use-non-development-centos-bootstrap-image.config.md +++ /dev/null @@ -1,3 +0,0 @@ -The CentOS Stream 10 configuration has been updated to use -`quay.io/centos/centos:stream10` as its bootstrap image, -instead of the previously used development image.