deb-mock/docs/Release-Notes-3.0.md
robojerk 4c0dcb2522
Some checks failed
Build Deb-Mock Package / build (push) Successful in 54s
Lint Code / Lint All Code (push) Failing after 1s
Test Deb-Mock Build / test (push) Failing after 36s
enhance: Add comprehensive .gitignore for deb-mock project
- Add mock-specific build artifacts (chroot/, mock-*, mockroot/)
- Include package build files (*.deb, *.changes, *.buildinfo)
- Add development tools (.coverage, .pytest_cache, .tox)
- Include system files (.DS_Store, Thumbs.db, ._*)
- Add temporary and backup files (*.tmp, *.bak, *.backup)
- Include local configuration overrides (config.local.yaml, .env.local)
- Add test artifacts and documentation builds
- Comprehensive coverage for Python build system project

This ensures build artifacts, chroot environments, and development
tools are properly ignored in version control.
2025-08-18 23:37:49 -07:00

141 lines
4.8 KiB
Markdown

---
layout: default
title: Release Notes - Mock v3.0
---
Released on 2022-04-07.
## Mock v3.0 changes:
- Mock `v2.*` releases of Mock were supported on Enterprise Linux 7+. Since
this version `v3.0`, the prerequisite is Enterprise Linux 8 or newer. Mock for
the Enterprise Linux 7 is still supported in the [mock-2 branch][mock-2]
upstream, but it will only receive bug fixes.
This only affects the Mock RPM installation, i.e. the **host** EL7 operating
system where Mock is run. **Building** packages for the **target** Enterprise
Linux 7 chroots continues to be supported in Mock v3.X. More info in the
[original issue][issue #755].
- The minimal runtime requirement now is **Python 3.6**.
- Mock has a new command `--list-chroots` which prints the list of available
chroots with short descriptions ([PR#869][pull #869]). It will go through both
system-wide configuration files in `/etc/mock` and users' configuration in
`~/.config/mock/`. The output looks like:
```
$ mock --list-chroots
INFO: mock.py version 2.16 starting (python version = 3.10.2, NVR = mock-2.16-1.git.3339.8f0b45e.fc35)...
Start(bootstrap): init plugins
INFO: selinux enabled
Finish(bootstrap): init plugins
Start: init plugins
INFO: selinux enabled
Finish: init plugins
INFO: Signal handler active
Start: run
config name description
Global configs:
alma+epel-8-aarch64 AlmaLinux 8 + EPEL
alma+epel-8-ppc64le AlmaLinux 8 + EPEL
alma+epel-8-x86_64 AlmaLinux 8 + EPEL
[..snip..]
rhel-8-x86_64 RHEL 8
rocky+epel-8-aarch64 Rocky Linux 8 + EPEL
rocky+epel-8-x86_64 Rocky Linux 8 + EPEL
rocky-8-aarch64 Rocky Linux 8
rocky-8-x86_64 Rocky Linux 8
Custom configs:
mockbuild.exception.ConfigError: Could not find included config file: /etc/mock/foohkhk
fedora-50-x86_64 error during parsing the config file
fedora-rawhide-python39 Fedora Rawhide
Finish: run
```
In this example, the `fedora-50-x86_64` is a user's configuration file which
has some syntax issue(s).
- There is a new function `mockbuild.config.simple_load_config(name)` available.
You should use it if you want to parse Mock's configuration files. The use is
as simple as:
```
>>> from mockbuild.config import simple_load_config
>>> config_opts = simple_load_config("fedora-rawhide-x86_64")
>>> config_opts["resultdir"]
'/var/lib/mock/fedora-rawhide-x86_64/result'
```
- the [hw_info plugin](Plugin-HwInfo) now reports utilization of volume with `cachedir` directory.
- Source CA certificates found in `/usr/share/pki/ca-trust-source` are now
automatically copied from host to the target chroot, together with the
`/etc/pki/ca-trust` ([PR 864][pull #864]).
- bash completion for `--scrub` and `--short-circuit` has been improved.
- SECCOMP was disabled for `systemd-nspawn` before, and newly we disable it for
Podman commands by default, too ([PR 885][pull #885]).
The SECCOMP rules (syscall allow-lists) maintained in those tools are often
different across distributions or even distro versions. Because Mock does
cross-distribution builds, the "host" distro rules are not always applicable
on the "target" distribution. To not complicate things, and because by design
Mock doesn't have to fully isolate, we disable SECCOMP for those
containerization tools by default. But if you want to enable it, you can now
do it using:
```
config_opts["seccomp"] = True
```
- Since the last release of Mock we have done a few mock-core-configs releases,
see below.
## mock-core-configs-37-1
- EOL CentOS/EPEL 8 configs
- Add Fedora 36
- drop failovermethod=priority from EL8 configs
- Add Extras repo for CentOS Stream 9
## mock-core-configs-37.1-1
- drop EL7 related hack
- link default.cfg file to the right EL N config
- Add CentOS Stream 8 + EPEL 8 configs
## mock-core-configs-37.2-1
- Update CentOS Stream 9 Extras repo to use correct key
- Add AlmaLinux+EPEL 8 for POWER (ppc64le)
- Add AlmaLinux 8 for POWER (ppc64le)
- Deleted Fedora 37/Rawhide armhfp configs
## mock-core-configs-37.3-1
* Provided 'epel-9' symlinks for 'fedpkg mockbuild'
* allow n-2 gpg key for Fedora ELN
* added new key `description` for `--list-chroots` command
**Following contributors contributed to this release:**
* Derek Schrock
* Didik Supriadi
* Miro Hrončok
* Miroslav Suchý
* Neal Gompa
* Pavel Raiskup
* Tomas Tomecek
Thank you.
[mock-2]: https://github.com/rpm-software-management/mock/tree/mock-2
[issue #755]: https://github.com/rpm-software-management/mock/issues/755
[pull #864]: https://github.com/rpm-software-management/mock/pull/864
[pull #885]: https://github.com/rpm-software-management/mock/pull/885
[pull #869]: https://github.com/rpm-software-management/mock/pull/869