Skip to content

chore(release): libsrt1.5-ceralive 1.5.6+ceralive.1 + package-contract tests#20

Merged
andrescera merged 1 commit into
masterfrom
release/1.5.6-ceralive.1
Jul 21, 2026
Merged

chore(release): libsrt1.5-ceralive 1.5.6+ceralive.1 + package-contract tests#20
andrescera merged 1 commit into
masterfrom
release/1.5.6-ceralive.1

Conversation

@andrescera

Copy link
Copy Markdown
Member

What

Cut the libsrt1.5-ceralive runtime release 1.5.6+ceralive.1 now that master carries upstream SRT v1.5.6 (KMREQ CVE fixes, merged in #19). Truths-up all stale 1.5.5 packaging/workflow metadata and hardens the package-contract test to catch this class of drift statically.

  • packaging/build-deb.sh: default version 1.5.5+ceralive.11.5.6+ceralive.1; versioned Provides for both Debian TLS flavors (= 1.5.5)(= 1.5.6).
  • .github/workflows/publish-release.yml: workflow_dispatch version input default → 1.5.6+ceralive.1.
  • .github/workflows/runtime-package.yml: verify-runtime-replacement.sh deb path → 1.5.6+ceralive.1.
  • packaging/package-contract.sh: extended from a handful of build-flag greps into a full static contract — asserts the deb version, Provides/Conflicts/Replaces (both TLS flavors), the libsrt.so.1.5 SONAME, and that neither workflow retains a stale 1.5.5. Each check names the offending field on failure.

Conflicts/Replaces are unchanged (unversioned, still correct). abi.yml's SRT_BASE: reorderfreeze-1.5.5 is a branch name, not a version — intentionally untouched.

Why

The runtime package version must track the upstream release it is built from; leaving 1.5.5 metadata on a v1.5.6 tree ships a mislabelled deb and an inaccurate versioned Provides. The old contract test only checked build flags, so a version/Provides/workflow-default drift passed CI silently.

How to verify

  • bash packaging/package-contract.shpackage-contract: OK (1.5.6+ceralive.1 / Provides (= 1.5.6)).
  • Red-first proof: the same test run against the pre-fix stale blobs fails naming each stale field (deb version, Provides, publish-release default, runtime-package verify path).
  • The CeraLive SRT Runtime workflow (runtime-package.yml) runs the contract + full replacement gate on this PR.

Risks

Low. Metadata + test only — no C/C++ source or build-flag changes. The versioned Provides bump to (= 1.5.6) still satisfies every downstream libsrt1.5-gnutls/libsrt1.5-openssl dependency (Debian's stable pins are >=-style / unversioned via the SONAME).

Bump the libsrt1.5-ceralive runtime package to 1.5.6+ceralive.1 now that
master carries upstream v1.5.6 (KMREQ CVE fixes). Update the release-workflow
default, the runtime-package verify path, and the versioned Provides for both
Debian TLS flavors (= 1.5.6). Extend package-contract.sh to statically assert
the deb version, Provides/Conflicts/Replaces, the libsrt.so.1.5 SONAME, and
that neither workflow retains a stale 1.5.5 reference.
@andrescera
andrescera merged commit b06fdb6 into master Jul 21, 2026
19 of 20 checks passed
@andrescera
andrescera deleted the release/1.5.6-ceralive.1 branch July 21, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant