2011-07-07 7 views
-1

まあ。このパッケージには、親指を下ろし、親指を2本、中指を上に向けます。OSX 10.6.8でmacportsとパッチの問題

このツールでは何もインストールできないようです。マクロポートがパッチを適用しようとする段階になると、必然的に問題が発生します。明らかに/ usr/bin/patchには、ディレクトリツリー内で上向きにパッチを張らないようにするセキュリティパッチが含まれているので、これはうまくいきます。一般的なエラーメッセージ:

:情報:パッチは/ usr/binに/パッチ:**でファイル名を拒否する ".." コンポーネント:../libunwind/include/libunwind.h

私は見ますhttps://trac.macports.org/ticket/29871https://trac.macports.org/ticket/29813など、この問題に関するさまざまなバグレポートがありますが、実際の解決策はありません。

パッチを当てるパッチがありますか?

+0

セキュリティ上の問題があり、ポート数にはほとんど影響しない可能性があるため、MacPortsプロジェクトのアプローチは、問題のポートが検出されたときに修正することです。まだポートしていない場合は、問題が発生しているポートで開かれている問題があるかどうかを確認し、そうでない場合は新しい問題を開きます。 –

答えて

1

私はMacportを使用していません(私はこの解決策を試すことができません)が、patchのGNUバージョンをインストールしようとする可能性があります。実際には、Macport内にはportfileがあります。それはgpatchとしてインストールされますが、簡単に/opt/bin/patch -> /opt/bin/gpatchのようなシンボリックリンクを作成できます。さらに、パスに/usr/binの前に/opt/binが表示されていることを確認する必要があります。

ポートファイルにはパッチを適用する必要がありますが、幸運にも..パスコンポーネントは使用しません。

このsecurity patchが2011年2月に作成されたように見えます.6.6.1より前のバージョンでは、このメソッドが機能するはずです。

+0

OS Xの '/ usr/bin'にあるものを変更することは、ほとんど常に悪い考えです。しかし、ポートがパッチされるまでこのポートをインストールするだけで問題を一時的に回避したい場合は、MacPortsの 'gpatch'をインストールすることができます。ただし、Appleが提供する '/ usr/bin'の' patch 'を上書きしないように注意してください。 MacPortsは '/ opt/local/bin'にインストールされます。このようなものがうまくいくはずです(テストされていません!): 'sudo mv/usr/bin/patch/usr/bin/patch-SAVED; sudo ln -s/opt/local/bin/gpatch/usr/bin/patch; sudo port install xxxx; sudo mv/usr/bin/patch-SAVED/usr/bin/patch' –

+0

実際には、/ opt/local/bin/patchではなく/ usr/bin/patchを打つ必要がありました。 patchではなく/ usr/bin/patchを明示的に使用します。/usr/bin/patch、symlinks/usr/bin/patchを安全でないgpatchに一時的に保存し、ポートを実行してから/ usr/bin/patchをオリジナルに復元する新しいスクリプトを作成しました。 –

+0

はい、それは私が提案したものです。 MacPortsは、使用するビルドツールを正確に指定するのに非常に注意しています。 –

関連する問題