最新バージョンのインストール用パッケージを作成したいpgn 抽出アーカイブをダウンロードしpgn-extract.tgz
て解凍しました。しかし、パッケージを構築するという概念についての経験がないので、それ以上自分で考えることはできません。
答え1
最も簡単な方法(「最も簡単」という値については)は、既存のpgn-extract
パッケージそれをベースに使います:
現在のソースをダウンロード:
wget ftp://ftp.cs.kent.ac.uk/pub/djb/pgn-extract/pgn-extract.tgz
抽出します:
tar xf pgn-extract.tgz
バージョン番号を確認します。
grep Version pgn-extract/index.html
(私は「17-38」を取得しましたので、以下の説明ではそれを使用します。より新しいバージョンをお持ちの場合は、「17」と「38」を適切に置き換えてください)
tarball を Debian ビルド ツールが期待する「.orig」tarball にリンクします。
ln -s pgn-extract.tgz pgn-extract_17.38.orig.tar.gz
ソース パッケージをダウンロードして解凍します。
apt-get source pgn-extract
既存の
debian
ディレクトリをソース ディレクトリにコピーしますpgn-extract
。cd pgn-extract cp -a ../pgn-extract-17.21/debian .
あなたのバージョンの変更履歴エントリを追加します。
dch -v 17.38-0.1 "New upstream release."
新しいパッケージをビルドします。ここでエラーが発生した場合は、パッケージを適切に修正して、もう一度試してください。
dpkg-buildpackage -us -uc
私の場合は、修正する必要がありましたmakefile.patch
。これは、ビルドの開始時にコードを修正するときにエラーとして表示されました。
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building pgn-extract using existing ./pgn-extract_17.38.orig.tar.gz
patching file Makefile
Hunk #1 FAILED at 37.
Hunk #2 succeeded at 48 (offset 1 line).
1 out of 2 hunks FAILED
dpkg-source: info: the patch has fuzz which is not allowed, or is malformed
dpkg-source: info: if patch 'makefile.patch' is correctly applied by quilt, use 'quilt refresh' to update it
dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -E -b -B .pc/makefile.patch/ --reject-file=- < pgn-extract.orig.ltAFev/debian/patches/makefile.patch gave error exit status 1
dpkg-buildpackage: error: dpkg-source -b pgn-extract gave error exit status 2
これを修正するために、私は次のように進めました。
パッチを強制適用します:
export QUILT_PATCHES="debian/patches" quilt push -f
の拒否をチェックアウトし
Makefile.rej
、エディターを使用して手動で適用します。 の現在のバージョンではpgn-extract
、次のようになります。線を探す
# AIX 3.2 Users might like these alternatives
その言葉のすぐ上の行を見つけてください
CC=gcc
その上の という行を削除し
-O3
、\
前の行の末尾の を に置き換えます$(CPPFLAGS)
。行全体は次のようになります。-I/usr/local/lib/ansi-include -std=c99 $(CPPFLAGS)
パッチを更新します:
quilt refresh
ビルドを再度実行します。
抽出した Debian ソース パッケージから開始して、 を使用し、uscan
最新の tarball をダウンロードして処理することもできますが、興味があれば調べてみてください。