Files
fips/testing/openwrt
Johnathan Corgan 7671f0d59a Version release-candidate .ipk packages so opkg sorts them below the release
A release candidate is tagged vX.Y.Z-rcN, and the OpenWrt workflow
wrote that tag unchanged as the .ipk control Version. opkg compares
versions with dpkg's algorithm and reads the text after the last '-' as
a revision, so v0.5.3-rc1 sorted above v0.5.3 and a router that had
installed the candidate was never upgraded by the release.

The "Derive package version" step now also emits ipk_version, which
maps a candidate tag's -alphaN/-betaN/-preN/-rcN suffix to '~' (the
same mapping the .deb uses), giving v0.5.3~rc1. The leading 'v' is
kept: every released .ipk carries it, and under opkg 0.5.4 would sort
below v0.5.3, so dropping it would stop future releases upgrading.
Release tags and branch builds are unchanged.

build-ipk.sh takes the control Version from IPK_VERSION, falling back
to PKG_VERSION, and still names the file from PKG_VERSION so the asset
name keeps the tag's -rcN (a GitHub release renames assets with '~').

check-package-versions.sh gains an .ipk section that runs the step's
text for a release tag, an rc and a beta candidate tag and a branch,
checks the ordering against v0.5.2, v0.5.3 and v0.5.4 and of the beta
below the rc, and checks the job output and build step wiring.
package-test.sh builds the .ipk with IPK_VERSION removed from the
build's environment and with it set, and reads the control Version
back. It removes the first package before the second build and records
a missing file as a failed check, so a build-ipk.sh that named its file
from IPK_VERSION cannot pass by reading the first build's package, and
its exit trap also removes a package whose name carries the '~' form.
2026-10-01 22:41:14 +00:00
..