[Tomoyo-dev 1235] Re: ccstools のマルチコールバイナリ解消および共有ライブラリ化について

Back to archive index

Hiroshi Shinji hiros****@gmail*****
2010年 4月 9日 (金) 17:25:29 JST


宍道です。

> ということで、マルチコールバイナリ状態を解消し、 ncurses に依存する
> ccs-editpolicy と ccs-queryd 以外は ncurses ライブラリとリンクさせない形に
> 変更してみました。また、共有ライブリとして /usr/lib/ccstools.so.1 を利用し、
> 個々のプログラムのサイズの増加を抑えられるようにしました。

小さいことですが、ライブラリ名は、ccstools とかではなく、libccs or libtomoyo
などにしたほうが良くないですか?

> (1)ccstools パッケージに含まれていない別のアプリケーション(例えばGUI
> プログラム)から /usr/lib/ccstools.so.1 をリンクしたいと考えていますか?
> それとも、 ccstools パッケージ(に含まれている /usr/sbin/ccs-\* )から
> だけしかリンクされないと考えていますか?

Yes.

> (2)(1)が前者の場合、 /usr/lib/ccstools.so.1 のソースは
> ccs-tools パッケージとは分離したほうが都合が良いですか?

特にこれはどちらでも良いかも。
ただ一緒の場合、makeするときにライブラリだけビルド、とかしてくれると
うれしいですね。

> (3)(1)が前者の場合、別のアプリケーションから呼び出せるようにするために
> /usr/lib/ccstools.so.1 には ccstools パッケージ内では1個のプログラム
> からしか呼ばれない関数であっても詰め込んだ方が良いですか?
>
> (4)(1)が前者の場合、別のアプリケーションから呼び出せるようにするために
> /usr/lib/ccstools.so.1 内の関数は static 関数として宣言しないように
> する方が良いですか?

利用可能な関数は、取捨選択する必要はあります。
が、ちょっといまは、どれが欲しいとあげられる時間がないので、
すみません。

取り急ぎ。


2010年4月6日21:08 Tetsuo Handa <from-****@i-lov*****>:
>  熊猫です。
>
>> こちらのほうは、 ncurses を準備するのが困難な環境向けに ccs-editpolicy-agent を
>> 用意したけれども、 ccs-loadpolicy や ccs-savepolicy などは ncurses を準備するのが
>> 困難な環境であっても使いたいので、 ncurses に依存したマルチコールバイナリという状態を
>> 解消して必要なプログラムだけを選べるようにするつもりです。ライブラリ化の要望が
>> 出ているため、共有ライブラリを使う形で作成する手順について勉強し、6月下旬の
>> http://www.apc.ehdo.go.jp/seminar/course/10semi22294.html までに
>> CAT760 ( http://tomoyo.sourceforge.jp/incoming/cat760.avi )でも使えるような
>> 状態にしたいと考えています。
>
> ということで、マルチコールバイナリ状態を解消し、 ncurses に依存する
> ccs-editpolicy と ccs-queryd 以外は ncurses ライブラリとリンクさせない形に
> 変更してみました。また、共有ライブリとして /usr/lib/ccstools.so.1 を利用し、
> 個々のプログラムのサイズの増加を抑えられるようにしました。
> http://sourceforge.jp/projects/tomoyo/svn/view/trunk/1.7.x/ccs-tools/ccstools/?root=tomoyo
>
> どのように使われる共有ライブラリにするかが未定なので、どの処理をライブラリに
> 含めるかで迷っています。ということで、(特に宍道さんに)質問です。
> どのように共有ライブラリを使おうと考えていますか?
>
> (1)ccstools パッケージに含まれていない別のアプリケーション(例えばGUI
> プログラム)から /usr/lib/ccstools.so.1 をリンクしたいと考えていますか?
> それとも、 ccstools パッケージ(に含まれている /usr/sbin/ccs-\* )から
> だけしかリンクされないと考えていますか?
>
> (2)(1)が前者の場合、 /usr/lib/ccstools.so.1 のソースは
> ccs-tools パッケージとは分離したほうが都合が良いですか?
>
> (3)(1)が前者の場合、別のアプリケーションから呼び出せるようにするために
> /usr/lib/ccstools.so.1 には ccstools パッケージ内では1個のプログラム
> からしか呼ばれない関数であっても詰め込んだ方が良いですか?
>
> (4)(1)が前者の場合、別のアプリケーションから呼び出せるようにするために
> /usr/lib/ccstools.so.1 内の関数は static 関数として宣言しないように
> する方が良いですか?
>
> Revision 3580 では(1)が後者で、 ccs-tools のリリース毎にバイナリ互換性が
> 無くなる(必要に応じて ccstools.so.2 ccstools.so.3 ・・・と増えていく)ことを
> 問題視しない方針で、 ccstools パッケージ内で1回しか呼ばれていない処理は
> ライブラリには含めない(個々のプログラムに直接埋め込む)ようにし、 ccstools
> パッケージのプログラムが直接呼び出さない変数や関数は static 変数/関数として
> 宣言するという仕様になっています。
>
> _______________________________________________
> tomoyo-dev mailing list
> tomoy****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/tomoyo-dev
>



-- 
宍道 洋
hiros****@gmail*****
http://d.hatena.ne.jp/hshinji/




tomoyo-dev メーリングリストの案内
Back to archive index