web-dev-qa-db-ja.com

.debからPKGBUILDを作成します

圧縮されたdataファイル内の_.deb_フォルダーとしてソフトウェアのバイナリを本質的に含む_/usr/share/bin_ debianパッケージと、他のファイルのチェックサムを含む別のメタデータ圧縮ファイルがあります。

私の目標は、そのような.debパッケージをarchlinuxに正しくインストールするためのPKGBUILDを作成することです。

それを行う適切な方法は何ですか?

build()関数を使用して、_/usr/share/bin_ディレクトリの内容をpkg _/usr/share/bin_ fakeroot環境にコピーするだけで十分ですか?ビルドされたパッケージが実際にインストールされると、フォルダーは実際の_/usr/share/bin_の場所にコピーされますか?

11
Manu343726

はい、バイナリソースを持つ他のPKGBUILDと同じように機能します-抽出してファイルをコピーします。言及する必要があるのは、deb-archiveが他の3つのファイル(debian-binarycontrol.tar.gzdata.tar.gz)で構成されていることだけです。 makepkgは第1レベルのアーカイブのみを抽出するため、data.tar.gzを手動で抽出する必要があります。

prepare() {
    tar -zxvf data.tar.gz
}

package() {
    # copy files
}

または、deb-archiveをnoextract配列に配置して、data.tar.gzのみを手動で抽出することもできます。

$ ar p source.deb data.tar.gz | tar zx
9
diffycat