68user's page 掲示板

Prev< No. 2331〜2336> Next  [最新発言に戻る] [過去ログ一覧]
No. 2331 # なっち 2001/12/05 (水) 18:14:10
お答えありがとうございました。
かなり役に立ってます。すごいです。
また、質問何ですが、UNIXで壁紙を自分のもっている画像にしたいので
すが、xvコマンド以外で何か良い方法ありませんか?

No. 2332 # わたなべ 2001/12/06 (木) 02:51:39
はじめまして。
このページではいつも色々と勉強させて貰っています。

さて、質問なのですが、今現在CVSにてあるプロジェクトを管理しており、
そのリポジトリをcvswebにて閲覧出来るようにしようとしているのですが、
ある特定のファイル達の中身を表示しようとしたときに、
cvs checkout: cannot exec co: No such file or directory
cvs checkout: could not check out xxx/yyy/Zzz.java
という様なメッセージが出てしまいます。
CVSも使い始めたばかりのため、何が原因なのかが分かりません。
もし良かったら何かヒントや、cvswebに関しての解説があるような
ページがありましたら教えていただけると嬉しいです。

よろしくお願いします。

No. 2333 # 68user 2001/12/06 (木) 04:11:41
>>2330 しんベエ
> 正しくは「if ( $pid = fork() ){」ですよね?
ご指摘ありがとうございます。その通りですね。修正しておきます。

>>2331 なっち
> お答えありがとうございました。
> かなり役に立ってます。すごいです。
じゃなくて、回答した結果、解決したかどうかをちゃんと書いて
ください。とりあえず
        http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse
を読んでください。

> UNIXで壁紙を自分のもっている画像にしたいのですが、
> xvコマンド以外で何か良い方法ありませんか?
ImageMagick が入っているなら
    % display -window root 画像ファイル
でできるかも。

>>2332 わたなべ
あなたも
    http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse
を読んでください。少なくともこの掲示板ではマルチポストは
ダメですし、2ch でも歓迎はされないでしょう。

あと、OS は何ですか? cvs のバージョンは? RCS のバージョンは?
cvsweb には zeller 版と knu 版がありますが、どっちを使って
いますか? また、そのバージョンは? 内容を表示って、x-cvsweb-markup
のことですか? それとも text/plain ですか?

仮にうちと同じ knu 版 cvsweb-1.105.1.65 だとすると、その
エラーが出そうなところは
    exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);
しかなさそうなので、オプションなどの値を表示させてみて、
同じことをコマンドラインからやってみてはどうですか。

# http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/cvsweb.cgi?rev=1.9&content-type=text/x-cvsweb-markup

No. 2334 # わたなべ 2001/12/06 (木) 13:05:37
渡辺です。
>>2322 pon
は非常に浅はかな行動だったと認識しました。
申し訳ありませんでした。
今後気を付けます。

質問の続きをさせて頂いてもよろしいでしょうか…?
使っている各ソフトウェアのバージョンですが、
OS : Solaris SunOS 5.8
CVS : 1.9
RCS : 5.7
cvswebは、68userさんが使われているのを、http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgiのリポジトリから拝借しました。(ひょっとして、これもまずい行動でしたか。)
そして、内容の表示というのは、x-cvsweb-markupも、text/plainもです。
表示出来るファイルに関しては、双方とも表示出来るのですが、エラーが起きるファイルに関しては、両方ともに起きます。

また、68userさんがおっしゃってる通り、
exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);
でエラーが起きているであろうと考え、それをコマンドラインで実行してみたのですが、コマンドラインからは実行できました。
(実行できました。といいますか、あるファイルをチェックアウトでき、標準出力に出力されるという結果を得ました。)
オプションの値を変更して…という事ですが、CVSに明るくないため、何をどうかえたら良いのかがわかりませんでした。

これで足りますでしょうか?
もし、>>2332での事をお許し頂けるなら、何がアドバイス等を頂けたら嬉しいです。
結果報告もきちんとしますので、よろしくおねがいします。

No. 2335 # わたなべ 2001/12/06 (木) 14:02:08
>>2334 わたなべ
での書き込みにある、>>2322は>>2332の間違いです。
重ねてお詫びします。申し訳ありません。

No. 2336 # 68user 2001/12/06 (木) 14:58:28
>>2334 わたなべ
> ひょっとして、これもまずい行動でしたか。
問題ありません。書いてある通り、covered by the BSD-Licence です。

checkout できるファイルとできないファイルがあるということですから、
まずはリポジトリのパーミッションはどうなっているか確認して下さい。

同じディレクトリでも co できるファイルと co できないファイルがあれば、
ファイルのパーミッションが怪しいですし、あるディレクトリの下のファイルが
全て co できないならディレクトリのパーミッションがおかしいでしょうし。

うちの Solaris2.6 では
    % chown -R cvs /cvsroot (グループは cvs グループで統一)
    % chmod -R g+w /cvsroot (cvs グループに書き込み権限を与える)
    % find /cvsroot -type d | xargs chmod g+s (BSD タイプのパーミッションに)
とかしてます。でも、cvsweb.cgi は nobody で動かしているから
これは関係ないかな…。

また、CGI の実行権限は何ですか? 例えば nobody なら su nobody して
から checkout してみて下さい。

実際にどういうコマンドが実行されているかは、
    if (! open($fh, "-|")) { # child
        open(STDERR, ">&STDOUT"); # Redirect stderr to stdout
        exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);
    }
の前に
    print "Content-type: text/plain\n\n";
    print qq(exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where););
    exit;
などと書けばわかるでしょう。

それでもダメなら
        exec($CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);

        exec("/bin/truss", $CMD{cvs}, @cvs_options, '-d', $cvsroot, 'co', '-p', $revopt, $where);
として、どのファイルをオープンしようとしてエラーになっているかを
調べて下さい。ちなみに、こちらでやってみると
    open("/MASTER/cvs/CVSROOT/config", O_RDONLY) = 4
    open("/MASTER/cvs/CVSROOT/cvsignore", O_RDONLY) Err#2 ENOENT
    open("//.cvsignore", O_RDONLY) Err#2 ENOENT
    open("/MASTER/cvs/CVSROOT/cvswrappers", O_RDONLY) = 4
    open("/MASTER/cvs/CVSROOT/modules", O_RDONLY) = 4
    ..
    open("/MASTER/cvs/admin/public_html/cvsweb.cgi,v", O_RDONLY) = 5
となります。

Prev< No. 2331〜2336> Next  [最新発言に戻る] [過去ログ一覧]