Mailinglist Archive: opensuse-ja (69 mails)

< Previous Next >
Re: [opensuse-ja] Re: [opensuse-ja] Re: [opensuse-ja] /tmp でオープンソースの管理をするなっ!,ですか?
At Mon, 19 Mar 2012 21:26:22 +0900,
野宮 賢 / NOMIYA Masaru wrote:

野宮です.

In the Message;

Subject : [opensuse-ja] Re: [opensuse-ja] Re: [opensuse-ja] /tmp
でオープンソースの管理をするなっ!,ですか?
Message-ID : <4F65E2D1.9030604@xxxxxxx>
Date & Time: Sun, 18 Mar 2012 22:27:45 +0900

Satoru Matsumoto <helios_reds@xxxxxxx> has written:

ともあれ,/tmp ではファイル群が消失する,というのは,何故なんでしょう
か? 11.3 迄は,このような現象に遭遇したことがありませんので.

/etc/sysconfig/cron の中身は確認されてますか? YaST2 -> /etc/sysconfig
エディタ -> System -> Cron からも確認/編集できますので見てみてください。

それでしたか.

tmpwatch というファイルだと思い,それらしいものを探していました.

…ちなみに、私も $HOME 以下に src ディレクトリ作って管理してたりしますね。

そうですか.

In the Message;

Subject : Re: [opensuse-ja] /tmp でオープンソースの管理をするなっ!,ですか?
Message-ID : <4F66B9B8.4030702@xxxxxxx>
Date & Time: Mon, 19 Mar 2012 13:44:40 +0900

Satoru Matsumoto <helios_reds@xxxxxxx> has written:

FHS によると、/tmp ディレクトリの目的は

The /tmp directory must be made available for programs that require
temporary files.
[...]
あくまで一時的なデータ置き場であり、ここにあるものはいつなくなってもおか
しくないと心得よ! ということですね。

これは知っていました.
が,11.3 迄は平気でしたので,openSUSE は別方針だと受け止めていました.

いきなり変えられると面食らうだけです.

別に変わっていませんよ。
もし、変わっていたとしたら(かつそれが原因だとしたら)、野宮さんの環境で
何かが勝手に書き換えたりしたんだと思います。


ただ,オープンソースの管理先を ~/temp に変えたことがあります.が,その
時には,ビルドの後,checkinstall を走らせて rpm ファイルを作成すると,
ソースに拠っては,ファイルやディレクトリ群の所有者が root に変わるとい
う面倒な事態が発生し,一々 chown を実行するのも面倒ですので,またぞろ,
/tmp でオープンソースの管理をするようになった次第です(/tmp では.root
に所有者が変わるということはありませんので).

checkinstall はあくまで「手抜きのためのツール」だと考えた方がいいと思い
ます。どこまで信頼できるかちょっと怪しい部分もあるので、ちゃんとやるなら
ディストリビューションの *.src.rpm (もしあるなら) を取ってきて spec ファ
イルを取り出し、編集して RPM を作った方がいいでしょうね。

checkinstall の怪しい部分というのは,何を指しておられるのでしょうか?
後学の為,お訊きしたいと思います.

ところで,ちゃんとやるなら src.rpm の *.spec ファイルを使え,とのこと
ですが,出来る場合は,これをやっています.が,12.1 用の src.rpm ファイ
ルでも rpmbuild --rebuild が通らないということが少なくない,というのを,
松本さんは,ご存知なんでしょうか?

何時だったか,軒並み蹴られました.
勿論,原因は探ります.が,原因の解らない方が多く,小生は,バイナリーの
rpm ファイルは,我々のと同じ 12.1 の環境でビルドされているとは限らない,
受け止めています.

12.1のパッケージは、全て同じ12.1の環境でビルドされてますよ。
もちろん、rpmbuild --rebuildで生成されているわけではありません。
OBSでやってることは、12.1のレポジトリから必要なファイルをchroot上にイ
ンストールしてそこでビルドしているだけです。ですから、基本手にすべての
パッケージはアクセス可能なレポジトリに含まれているわけです。

もちろん、通常のインストールではすべての必要なファイルがインストールさ
れているわけでもありません。
また、12.1のアップデートパッケージは、他のパッケージのアップデートが必
要になる、といった状況は生じることがあります。それでも必要なパッケージ
はUpdateレポジトリにあるはずですので、zypperで取得すれば通常そのまま
大丈夫なはずです。

例えば,依存関係を変えたく,*.spec ファイルに於ける ./configure の
switch を変えてビルドすると通らない.では,ということで,元の*.spec ファ
イルに戻してビルドしてみると,これが通らない,という経験が少なくありま
せん.
記憶に残っているものとしては,scilab-5.3.3 です(11.3の時ですが).

11.3 用の src.rpm ファイルなのに,rpmbuild --rebuild が通らない.幸い
この時は.ocaml のバグ由来というのが解り,ocaml を手動でアップデートし
て難を逃れましたが.

これ,おかしいと思われませんか?
11.3 の環境として提供されているもので,ビルド出来ないものを,何のアナ
ウンスもなく,src.rpm で提供するというのは.

野宮さんの誤解です。

こういうと,buguzilla と仰るかも知れませんが,正直言って,bugzilla に
上げるのは面倒です.

ともあれ,rpm バイナリーは,必ずしもターゲット環境にに沿った形でビルド
されているとは考えてはいません.

何時も鬱陶しく感じるのは,libcaca のインストール時です(これは,頻繁に
アップデートされています).これをインストールしようとすると必ず.

libtinfo

無い,と文句を言いますが,構わずインストールしています.

ご存知かも知れませんが,libtinfo は,openSUSE では提供されておらず,

古いバージョンのパッケージに文句を言われても…。
ちなみにFACTORYのncursesには既にlibtinfo.so.*が含まれています。

小生は,

ln -s libncurses.so.5.8 libtinfo.so.5

とすることで,問題を解決しています.これも bugzilla ネタですか?

おそらく、新しいバージョンのlibcacaをビルドされているのだと思います。
それに対応するパッケージ(ncurses関連)をOBSのdevel projectからインストー
ルするのが正解でしょう。

--
Takashi Iwai <tiwai@xxxxxxx>
--
To unsubscribe, e-mail: opensuse-ja+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-ja+owner@xxxxxxxxxxxx

< Previous Next >