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/