[[diary/Kojima]]
・作業メモ
- python3 の共有ライブラリは /usr/lib/libpython3.6m.so になっているのだけど、libpython3.6.so を要求するソフトウェア(気づいたのは rpm-4.13.1)が存在する。
このヘン、特に何も指定しないで libpython3.6m.so になってるし、/usr/lib/pkgconfig/python-3.6.pc も -lpython3.6m になっているので、rpm-4.13.1 の方が間違ってると思うんだけど、どう直したものか。。
- bsdtar
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 で対応できそうかな?
- rpmextractはcontribにあります。rpm2tgzを作っていたのでcontribに追いやったのでした。 -- [[TenForward]] &new{2018-07-08 (日) 03:38:14};
- ninjaはgnome/freedesktop方面で使われ始めているようですね。ご参考 https://github.com/plamolinux/Plamo-src/blob/plamo-7.x/plamo/03_libs/glib/PlamoBuild.glib-2.54.2 -- [[TenForward]] &new{2018-07-08 (日) 03:41:45};
#comment