0

libavlの情報ドキュメントをインストールしたかったのです。私が作成した次のbrewライブラリで、 brewコマンドの奇妙な動作を見つけました。私がしたことは:

まず、「make libavl.info」でコンパイルします。次に、brew KEG PREFIX の下に share/info を作成しました。第三に、その共有/情報にいくつかの情報ファイルをインストールしました。

「/usr/local/share/info」などのシステムディレクトリにあるこれらの情報ファイルをシンボリックリンクする方法はまだわかりませんが、この醸造式が必要です。情報ファイルをインストールする前後に、それらの情報ファイルが対応する KEG PREFIX にあることを確認するために、KEG PREFIX にもインストールされる「log」というファイルにディレクトリ構造を出力しました。しかし、それらの情報ファイルはインストール後に消えました。何が起こったのかわかりません。自作サイトBrew.shのどこに聞けばいいのかわからないので、こちらで質問させていただきます。

これは「avl.rb」と呼ばれるフォーミュラファイルです

require 'formula'
class Avl < Formula
  homepage 'http://savannah.gnu.org/projects/avl'
  url 'ftp://ftp.gnu.org/pub/gnu/avl/avl-2.0.3.tar.gz'
  sha1 'ec2e025838c846fbc05fb60cf49035f2e97f37f3'

  def install
    system "make", "libavl.info"
    info.mkpath
    system "/usr/local/bin/tree " "#{prefix} > #{prefix}/log"
    info.install "libavl.info"
    info.install "libavl.info-1"
    info.install "libavl.info-2"
    info.install "libavl.info-3"
    info.install "libavl.info-4"
    system "/usr/local/bin/tree " "#{prefix} >> #{prefix}/log"
  end
end

醸造式の info.install コマンドの前の「ログ」ファイルの内容:

/usr/local/Cellar/avl/2.0.3
├── log
└── share
    └── info

2 directories, 1 file

これは、info.install コマンドの後の「ログ」ファイルの内容です。

/usr/local/Cellar/avl/2.0.3
├── log
└── share
    └── info
        ├── libavl.info
        ├── libavl.info-1
        ├── libavl.info-2
        ├── libavl.info-3
        └── libavl.info-4

2 directories, 6 files

これは、最後にインストールされた KEG PREFIX ディレクトリです。「log」ファイルはありますが、「share/info」ディレクトリはありません。

/usr/local/Cellar/avl/2.0.3
├── AUTHORS
├── COPYING
├── ChangeLog
├── INSTALL_RECEIPT.json
├── NEWS
├── README
├── TODO
└── log

0 directories, 8 files

この謎に対する答えをいただければ幸いです。

ありがとうございました、

4

1 に答える 1

0

Homebrew はデフォルトでは info ファイルをインストールしません。設定することで変更できますHOMEBREW_KEEP_INFO=1

于 2013-11-25T03:05:43.563 に答える