Repository navigation
fix: update debian changelog and rpm spec to 2.6.11 - #138
Merged
Merged
Conversation
They were left at 2.6.8 (2024-10-08) while tags moved on to v2.6.11. Since VERSION comes from git describe, the generated tarball name never matched what dpkg-source and rpmbuild looked for, so every release since v2.6.9 shipped only the source tar.gz with no deb or rpm.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
debian/changelogとrpm/stns.specが 2.6.8 (2024-10-08) で止まったまま、タグだけが v2.6.11 まで進んでいました。この不一致により v2.6.9 以降のリリースで deb / rpm が1つも生成されていません。破綻の仕組み
VERSIONはgit describe --tagsから取得されるのに、パッケージのバージョンは changelog / spec のハードコード値から取られます。両者がズレると、生成済み tarball の名前と探しにいく名前が食い違ってビルドが落ちます。graph TD A["make version: git describe → 2.6.11"] --> B["source_for_deb / source_for_rpm<br/>libnss-stns-v2_2.6.11.orig.tar.xz を生成"] B --> C{"changelog / spec は 2.6.8 と宣言"} C --> D["dpkg-source: 2.6.8 の orig tarball を探す → 不在<br/>rpmbuild: 2.6.8 の Source を探す → 不在"] D --> E["deb / rpm ビルド失敗"] B --> F["tar.gz だけ builds/ に残りリリースに添付される"]リリースに tar.gz だけが残っていたのは、
make rpmの前段source_for_rpmが tar.gz をbuilds/にコピーした後、rpmbuildで落ちるためです。変更内容
debian/changelogとrpm/stns.specに 2.6.9 / 2.6.10 / 2.6.11 のエントリを追加し、rpm/stns.specのVersion:を 2.6.11 に更新します。既存エントリは変更していません。各エントリの内容はタグ間のコミット履歴から起こしています。
deb の distribution 欄は既存に倣って
jammyにしています。Makefile の deb ターゲットがsed -e 's/xenial/$(DIST)/g' -e 's/jammy/$(DIST)/g'でディストリ名を置換するため、ここがjammyでないと置換されません。検証
Ubuntu 26.04 (resolute) コンテナで確認しました。
rpmspecは%changelogの日付(曜日と日付の整合)が不正だとここで落ちるため、日付フォーマットの妥当性も担保されています。マージ後の手順
再タグは不要です。
make versionは master HEAD からgit describe --tags --abbrev=0で 2.6.11 を返すため、Release ワークフローをworkflow_dispatchで再実行するだけで v2.6.11 に成果物が追加されます(ghr --replaceが既存リリースに上書きします)。これにより #137 で追加された Ubuntu 26.04 (resolute) の deb が生成され、STNS/package 側の
debrepo-resoluteが動くようになります。補足: 2年近く気づかれなかった理由
build.shがdocker compose upの終了コードを検査していないため、ビルド失敗が握り潰されています。さらに
make github_releaseのghr -u STNS --replace v$(VERSION) builds/はbuilds/が空でもエラーになりません。この2段構えで失敗が隠れ、Release ワークフローは v2.6.9 / v2.6.10 / v2.6.11 とも conclusion: success のままでした。再発防止には終了コードの伝播が必要ですが、本PRのスコープ外としています。
Refs: STNS/STNS#394