前回までにmake_
パッケージに含まれる不思議なファイル
Plamo Linuxのパッケージは,
$ less FD-3.01h-x86_64-B1.txz drwxr-xr-x root/root 0 2019-01-26 10:18:54 usr/ drwxr-xr-x root/root 0 2019-01-26 10:18:54 usr/bin/ -rw-r--r-- root/root 46382 2019-01-26 10:18:54 usr/bin/fd-unicd.tbl -rw-r--r-- root/root 20429 2019-01-26 10:18:54 usr/bin/fd-dict.tbl -rw-r--r-- root/root 12841 2019-01-26 10:18:54 usr/bin/fd-cat.ja -rw-r--r-- root/root 12340 2019-01-26 10:18:54 usr/bin/fd-cat.C -rwxr-xr-x root/root 719488 2019-01-26 10:18:54 usr/bin/fd hrwxr-xr-x root/root 0 2019-01-26 10:18:54 usr/bin/fdsh usr/bin/fd へのリンク ...
さらにはemacsを使って内部のテキストファイルを直接確認することも可能です。
こうしていくつかのパッケージを眺めていると,
たとえばzlib-1.
$ less ~/Srcs/Plamo-7/Plamo-7.x/x86_64/plamo/00_base/zlib-1.2.8-x86_64-P2.txz drwxr-xr-x root/root 0 2016-06-15 19:26:04 usr/ drwxr-xr-x root/root 0 2016-06-15 19:26:04 usr/lib/ drwxr-xr-x root/root 0 2016-06-15 19:26:04 usr/lib/pkgconfig/ -rw-r--r-- root/root 252 2016-06-15 19:26:04 usr/lib/pkgconfig/zlib.pc -rw-r--r-- root/root 144182 2016-06-15 19:26:04 usr/lib/libz.a -rwxr-xr-x root/root 110976 2016-06-15 19:26:04 usr/lib/libz.so.1.2.8 -rw-r--r-- root/root 0 2016-06-15 09:00:00 usr/lib/libz.so -rw-r--r-- root/root 0 2016-06-15 09:00:00 usr/lib/libz.so.1 ... drwxr-xr-x root/root 0 2016-06-15 19:26:04 install/ -rw-r--r-- root/root 160 2016-06-15 09:00:00 install/doinst.sh
さて,
install/ doinst. shスクリプト
謎解き風に話題を展開する筆力もないので先に答を言ってしまうと
このスクリプトの主な使い道は,
シンボリックリンクは,
シンボリックリンクをスクリプトに変換する処理は,
共有ライブラリは,
そのため,
1 ( cd usr/lib ; rm -rf libz.so )
2 ( cd usr/lib ; ln -sf libz.so.1.2.8 libz.so )
3 ( cd usr/lib ; rm -rf libz.so.1 )
4 ( cd usr/lib ; ln -sf libz.so.1.2.8 libz.so.1 )
一方,
-rw-r--r-- root/root 0 2016-06-15 09:00:00 usr/lib/libz.so -rw-r--r-- root/root 0 2016-06-15 09:00:00 usr/lib/libz.so.1
これらサイズが0の,
このシンボリックリンクをスクリプトに変換する処理は,
91 #############################
92 # convert symlink to null file and
93 # add "ln -sf" command into install/doinst.sh
94 ################################
95 convert_links
96
97 cd $P
98 /sbin/makepkg ../$pkg.$compress <<EOF
このconvert_
なお,