Skip to content

Releases: NLnetLabs/ploutos

v7.1.0

30 Apr 22:30
Compare
Choose a tag to compare

This release contains the following changes:

  • Adds support for a new runs_on and cross_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

24 Apr 14:31
Compare
Choose a tag to compare

This bug fix release contains the following changes:

  • Workaround for Debian Stretch APT repos having been archived (apt-get update failing in pkg job on Debian Stretch #72).

Note: This fix has also been back-ported to v6.3.1 and the v6 tag has been updated to refer to v6.3.1.

v6.3.1

24 Apr 14:45
Compare
Choose a tag to compare

This bug fix release contains the following changes:

  • Workaround for Debian Stretch APT repos having been archived (apt-get update failing in pkg job on Debian Stretch #72) (backported from Ploutos v7.0.2)

v7.0.1

20 Mar 11:01
Compare
Choose a tag to compare

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

09 Mar 15:12
Compare
Choose a tag to compare

This breaking release contains the following changes:

  • Add support for Cargo virtual manifests (#67), including two new Ploutos settings: manifest_dir and workspace_package (see the updated docs for more information)
  • Upgraded tools used to versions compatible with Cargo workspaces:

Known issues:

  • Now that cargo-generate-rpm supports setting the URL tag, instructing rpmlint to suppress error no-url-tag fails when the URL tag is actually set. Removing the suppression however causes existing projects that do not set the package.homepage, package.repository or package.metadata.generate-rpm.url to fail rpmlint 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 warning changelog-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

02 Mar 23:04
Compare
Choose a tag to compare

This minor release includes the following changes:

  • Support for a new package_test_rules matrix key (also usable in package_build_rules when no package_test_rules are specified) called test-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

02 Mar 10:42
Compare
Choose a tag to compare

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

09 Feb 15:10
Compare
Choose a tag to compare

This minor release includes the following changes:

Fixes:

  • Valid workflow runs can be annotated with tens of "Cache save failed" warnings. (#59)

v6.0.0

26 Jan 14:23
af3bb38
Compare
Choose a tag to compare

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 your Cargo.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?

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 contains rpm_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

v5.3.1

26 Jan 13:16
89e2a2a
Compare
Choose a tag to compare

This patch release contains the following changes:

  • Remove a (harmless) debug statement that should not have been included in the v5.3.0 release.