[[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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS