Releases: NLnetLabs/ploutos
v7.1.0
This release contains the following changes:
- Adds support for a new
runs_on
andcross_runs_on
workflow input for controlling which type of GitHub runner Ploutos jobs run on (in particular this allows for self-hosted runners to be used). - Run all jobs on
ubuntu-latest
rather than a mix of Ubuntu versions (partially related to #50).
(note: this release replaces the now yanked v7.1.2 release which was incorrectly numbered, and also needed a minor fix to work with Ubuntu 22.04 on GitHub hosted runners)
v7.0.2
v6.3.1
v7.0.1
This bug fix release contains the following changes:
- Upgrade cargo-generate-rpm (#69) from v0.10.1 to v0.10.2 to fix an upstream regression which accidentally dropped support for
metadata.generate-rpm.summary
in cargo-generate-rpm v0.9.0, which was then inherited by Ploutos v7.0.0.
If you created RPMs using Ploutos prior to v7.0.0 and were using the package.metadata.generate-rpm.summary
key in Cargo.toml
then Ploutos v7.0.0 would have silently ignored your summary
setting. This releases restores the original behaviour.
v7.0.0
This breaking release contains the following changes:
- Add support for Cargo virtual manifests (#67), including two new Ploutos settings:
manifest_dir
andworkspace_package
(see the updated docs for more information) - Upgraded tools used to versions compatible with Cargo workspaces:
- Upgrade cargo-deb from 1.38.4 to 1.42.2.
- Upgrade cargo-generate-rpm from 0.8.0 to 0.10.1.
- Upgrade toml-cli from 0.2.0 to 0.2.3.
Known issues:
- Now that
cargo-generate-rpm
supports setting the URL tag, instructingrpmlint
to suppress errorno-url-tag
fails when the URL tag is actually set. Removing the suppression however causes existing projects that do not set thepackage.homepage
,package.repository
orpackage.metadata.generate-rpm.url
to failrpmlint
validation because the URL tag is missing. To upgrade to this version of Ploutos you thus need to ensure a URL tag is set. - Lintian is raising new error
manpage-not-compressed-with-max-compression
(and related warningchangelog-not-compressed-with-max-compression
). For now Ploutos suppresses the new error. This is possibly due to changes in the newer version of cargo-deb that we upgraded to but hasn't been investigated yet. - There could be changes in the upgraded tool versions that result in breakage for users of Ploutos in ways that our test suite hasn't detected.
v6.3.0
This minor release includes the following changes:
- Support for a new
package_test_rules
matrix key (also usable inpackage_build_rules
when nopackage_test_rules
are specified) calledtest-image
which can be used to test a built package in a different O/S than in which it was built, e.g. to test a Rocky Linux 9 package in Alma Linux 9 or CentOS Stream 9.
v6.2.0
This minor release includes the following changes:
- Add support for building and testing in the rockylinux:9 Docker and LXC containers.
- Add support for specifying exclude entries for the generated default test rules matrix via new matrix field 'test-exclude' in the build rules.
- Rename support for 'mode' in the build rules to 'test-mode' ('mode' is still supported for backward compatibility) to make it clearer that it affects generated default test rules and to be consistent with the new 'test-exclude'.
v6.1.0
v6.0.0
This breaking release includes the following changes:
- Change the behaviour of
rpm_scriptlets_path
when evaluated in the context of an "alternate" RPM package such that "alternate" RPM packages don't automatically reuse the same maintainer scripts that were used by the "primary" package. See #52.
Should I upgrade?
Only users who do all of the following are potentially affected by this release:
- Are packaging RPMs, and
- Are generating more than one RPM package from the same
Cargo.toml
, and - Have at least one table in
Cargo.toml
named[package.metadata.generate-rpm-alt-base-<ALT_PKG_NAME>]
(where<ALT_PKG_NAME>
is a placeholder for the actual value used in yourCargo.toml
).
Users who do not create RPM packages, or only create a single RPM package from a single Cargo.toml
file, are unaffected and do not need to upgrade to this release of Ploutos.
Which issue does this fix?
Issue #52, raised because of NLnetLabs/krill#1003.
Why was this fix required?
To prevent alternate packages wrongly re-using the maintainer scripts of the primary package, e.g. wrongly trying to create users, add systemd units or whatever your RPM scriptlets are doing for the primary package.
Where can I find out more?
- Issue #52.
- Also see references to
rpm_scriptlets_path
in the updated documentation.
Why did this require a breaking release?
Any projects using v5 of Ploutos who had alternate RPM packages already may have been relying on the behaviour that the same maintainer scripts are used for all packages.
How can I keep the previous behaviour?
Create a symbolic link with the name of the alternate package appended and point the link to the original rpm scriptlet file, or create a second file with the same content as the first.
For example, given:
.github/workflows/pkg.yml
containsrpm_scriptlets_path = "/tmp/scriptlets.toml"
.Cargo.toml
contains[cargo.metadata.generate-rpm-alt-base-myalt]
.
Then do the following (on Linux): ln -s A B
. That can be understood as "create a link from existing file A and call the link B".
For example:
$ ln -s /tmp/scriptlets.toml /tmp/scriptlets.toml-myalt