diary/Kojima

・作業メモ

このヘン、特に何も指定しないで libpython3.6m.so になってるし、/usr/lib/pkgconfig/python-3.6.pc も -lpython3.6m になっているので、rpm-4.13.1 の方が間違ってると思うんだけど、どう直したものか。。

rpm-4.13.1をArch Linuxの手順でビルドしていると、rpmextract コマンドが bsdtar というのを使っている。最初は、"BSDで開発された(GNU tarよりも)古い世代の tar なのかな?" と思ってたけど、実は libarchive という各種アーカイブファイルを読み書きするライブラリのフロントエンドとして開発された新しいtarコマンドで "BSDライセンスで配布されているtar"らしい。

そのため、本来のtarフォーマットのみならず、libarchiveが対応している cpio 経由で rpm や deb も処理できるので、GNU tar よりも機能は豊富っぽい。

$ bsdtar tvf rpm-4.14.2-0.rc1.1.fc29.x86_64.rpm 
drwxr-xr-x  1 0      0           0  6月 29 21:48 ./etc/rpm
-rwxr-xr-x  1 0      0       21432  6月 29 21:48 ./usr/bin/rpm
-rwxr-xr-x  1 0      0       16472  6月 29 21:48 ./usr/bin/rpm2archive
-rwxr-xr-x  1 0      0       12376  6月 29 21:48 ./usr/bin/rpm2cpio
-rwxr-xr-x  1 0      0       17456  6月 29 21:48 ./usr/bin/rpmdb
-rwxr-xr-x  1 0      0       17352  6月 29 21:48 ./usr/bin/rpmkeys
lrwxrwxrwx  1 0      0           3  6月 29 21:48 ./usr/bin/rpmquery -> rpm
....
$ bsdtar tvf libarchive12_3.0.4-3+wheezy1_amd64.deb 
-rw-r--r--  0 0      0           4  3月  6  2015 debian-binary
-rw-r--r--  0 0      0        1384  3月  6  2015 control.tar.gz
-rw-r--r--  0 0      0      301960  3月  6  2015 data.tar.gz

たしかにこれだけ高機能なら、rpmextract がワンライナーで書けるし、rpm2cpioとかも使う必要は無いなぁ。。

・meson/ninja

ちょくちょく meson/ninja をビルドに使うソフトウェアに遭遇するようになったので、make_PlamoBuild.py も対応したいところ。

ざっと見、configure のところが meson $S --prefix=/usr --libdir=/usr/lib、 build のところが ninja、 package のところが DESTDIR=$P ninja install で対応できそうかな?



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:43