
最新バージョンをインストールするためのインストールパッケージを作成したいと思います。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」を変更してください。)
Debian ビルドツールで予想される ".orig" tarball に 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をダウンロードして処理することもできますが、興味があれば見てみましょう。