Skip to content

fix: debsign argument parsing, PPA_SERIES precedence, passphrase cleanup#119

Merged
rtibbles merged 1 commit intomainfrom
fix/dynamic-series-and-debsign
Mar 21, 2026
Merged

fix: debsign argument parsing, PPA_SERIES precedence, passphrase cleanup#119
rtibbles merged 1 commit intomainfrom
fix/dynamic-series-and-debsign

Conversation

@rtibbles
Copy link
Member

Summary

Follow-up fixes for the debsign signing failure after merging #117:

  • Makefile: Validate GPG_KEY_ID and GPG_PASSPHRASE are set before signing; space-separate -k from its value so an empty key ID doesn't consume the .changes filename as the key argument
  • setup_ppa.sh: PPA_SERIES env var takes precedence when set, ensuring all CI containers (including Ubuntu ones) use the same PPA series
  • build_debian.yml: Cleanup step also removes GPG passphrase temp file on failure

Full build+sign flow verified end-to-end in an ubuntu:latest container (changelog patching → install-upload-deps → install-kolibri → dist → debsign with passphrase-protected key).

References

Reviewer guidance

  • The debsign fix can be verified by checking that -k "value" (space-separated) won't collapse when the value is empty, unlike -k"value" which becomes just -k
  • setup_ppa.sh change: PPA_SERIES now takes precedence over auto-detection, so CI containers consistently use the build runner's series
  • The passphrase cleanup is a defense-in-depth measure for CI

AI usage

This PR was developed using Claude Code. Claude identified the root cause of the debsign failure (empty -k"" consuming the next positional argument), proposed and tested fixes, and ran a full end-to-end simulation of the build_debian.yml workflow in an ubuntu:latest container to verify the signing flow works with a passphrase-protected GPG key.

- Makefile: validate GPG_KEY_ID and GPG_PASSPHRASE are set before signing;
  space-separate -k from its value so empty key ID doesn't eat the filename
- setup_ppa.sh: PPA_SERIES env var takes precedence when set, ensuring all
  CI containers use the same series regardless of OS
- build_debian.yml: cleanup step also removes GPG passphrase temp file

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rtibbles rtibbles merged commit c2454ce into main Mar 21, 2026
14 checks passed
@rtibbles rtibbles deleted the fix/dynamic-series-and-debsign branch March 21, 2026 00:30
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