私が構築した.debパッケージに新しいバージョン番号を設定するにはどうすればよいですか?

私が構築した.debパッケージに新しいバージョン番号を設定するにはどうすればよいですか?

簡単なソースコードの修正を完了し、Raspberry Pi OS(ブルスアイマシン)で再構築しました。これは私にとって新しいものなので、あいまいさを避けるために私が従ったステップをリストします。

$ dhcpcd --version
dhcpcd 8.1.2                            # "before" version
$ sudo apt install devscripts           # build tools for using `debuild`
$ apt-get source dhcpcd5                # creates source tree ~/dhcpcd5-8.1.2; Debian git repo is far off!
$ cd dhcpcd5-8.1.2                      # cd to source dir
$ nano src/dhcp.c                       # make required changes to the source (one line)
~/dhcpcd5-8.1.2 $ debuild -b -uc -us    # successful build
$ cd ..
$ sudo dpkg -i dhcpcd5_8.1.2-1+rpt5_armhf.deb # install .deb file created by debuild
$ dhcpcd --version
dhcpcd 8.1.2                            # "after" version
$ 

すべてが大丈夫ですが、「以前」と「以降」のバージョン番号はまったく同じなので、私のバージョン番号があるかどうかはわかりません。修正済みコードが実行されるか、校正されていないパスワード。インストールします 修正済み.debファイルは複数のホストに転送され、他のホストなどから要求を受け取ることもできるので考えました。特定の方法で簡単に区別するため修正済み~から校正されていないパスワード。

を使用すると、dhcpcd --versionこれを行う簡単な方法のようです。 Debian にはバージョン番号に関する規則があることを読みましたが、「世界」には公開しないので、形式的である必要はないと思います。また、私はDebianリポジトリにフルリクエスト/マージリクエストを送信し、この問題についてRPi組織にアドバイスを提供しました。私はどちらからもフィードバックを受けませんでしたが、このバグは私に大きな迷惑をかけました。私はdhcpcd「正しい」バージョン番号を持つ新しいバージョンを待ちたくありません。

原因になるにはどうすればよいですか?修正済みdhcpcd報告されたバージョンdhcpcd 8.1.2.1- またはそのようなもの?

明確にするために編集:

に基づいてこの回答、私が編集したものですdhcpcd5-8.1.2/debian/changelog。これを変更すると、ユーティリティはapt次のバージョンを一貫して報告します。dhcpcd8.1.3

$ apt-cache policy dhcpcd5
dhcpcd5:
  Installed: 1:8.1.3-1+rpt1
  Candidate: 1:8.1.3-1+rpt1
  Version table:
 *** 1:8.1.3-1+rpt1 100
        100 /var/lib/dpkg/status
     1:8.1.2-1+rpt1 500
        500 http://archive.raspberrypi.org/debian buster/main armhf Packages
     7.1.0-2 500
        500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
$ #
$ dpkg -s dhcpcd5 | grep Version
Version: 1:8.1.3-1+rpt1 
$

まだ:dhcpcd --versionまだ見ています8.1.2dhcpcdエイリアスはdhcpcd5にあります/etc/alternatives。だからdhcpcd --version実際にdhcpcd5 --versionはそうです。現れるdhcpcd5実行可能ファイルはユーティリティ--versionとは異なるソースから来ますapt。 ?

編集2:

結果レポートのバージョン番号は次のように定義dhcpcd --versionされますdefs.h

#define PACKAGE                 "dhcpcd"
#define VERSION                 "8.1.2"

考える dhcpcd少し異常値。 RPiチームは、バージョン8.1.2以降、複数のアップストリームバージョンがあるにもかかわらず、リリース時に(数年前)アップストリームバージョン9を放棄し、バージョン8.1.2に固執することを決定したようです。より混乱しているのは、ファイルがGitリポジトリとして.dscリストされていますが、実際にはバージョン7で停止していることです。Vcs-Browser: https://salsa.debian.org/smlx-guest/dhcpcd5これは私にとってあまり意味がありません。それが私がパッケージマネージャではない理由の1つだと思います。 :)

答え1

上部に関連行を追加できますdebian/changelog(検索ここファイル内容の詳細)。

現在の上部セクションをコピーしてバージョン番号を変更できます(有用なログコメントを作成することをお勧めします)。

dchまたは、次のツール(から)を使用できますdevtools

dch --local your_package_name

インストールが完了したら、次の方法を使用してインストールされているパッケージのバージョンを確認できます。代替)

dpkg -l dhcpcd5

アップストリームバージョン識別子は常に正式に存在しないため、自動的にインポートすることはできません(例:python3-lzss)これを行うと、制限と注文と互換性がない可能性があります。パッケージシステムバージョン。たとえば、epochアップストリームバージョンからDebianバージョンに移行する必要がある場合があります。

関連情報