
説明する
たとえば、
- 私はsourceからビルドします
my-app
。 - いくつかの依存関係が必要です。インストールしてください
apt-get install foo bar baz
。 - アプリケーションをビルドします。
- 別の
hello.deb
依存関係をインストールしてくださいfoo
。 my-app
ソースフォルダ全体を削除し、しばらくしてから削除します。- 依存関係を削除しました
my-app
。
ただし、手順6では、パッケージが依然として必要であるapt-get remove foo bar baz
ため、単に依存関係を公開できず、パッケージのみを削除する必要があります。hello.deb
foo
bar
baz
提案
この問題を解決するには、仮想パッケージを作成し、依存関係を宣言し、foo
この仮想パッケージを簡単にインストールできます。後でこのダミーパッケージを削除して、これらすべての依存関係を安全に削除できます。ラッパースクリプトはこれらのパッケージを動的にビルドしてインストールします。bar
baz
$ apt-get-named install foo bar baz
Intention: for-myapp
質問
このアプローチで問題は解決しますか?このような問題に対する実装されたソリューションはありますか?この目的のためにダミーパッケージをどのように作成できますか?
答え1
これを正確に提供できる既製のツールはありません。 Debianの一般的な期待は、誰かがそれをパッケージ化し、my-app
それが実際のパッケージになってインストールされている限り、依存関係を引き続きmy-app
使用できるようにすることです()とは別にhello
。
しかし、このような状況で役に立つ2つのツールがあります。私が考えるのに最も関連性が高いのは、equivs
依存関係のあるダミーパッケージを作成する簡単な方法を提供することです。依存関係のみを含む.debパッケージの作成もっと学ぶ。別のツールは、mk-build-deps
他のパッケージのビルド依存関係を反映する仮想パッケージを作成するために使用され、少し異なるシナリオに役立ちます。目標は、特定のパッケージのビルド依存関係を1つの単位で管理することです。バラよりdpkg-checkbuilddepsによって検出された、満たされていないビルド依存関係を自動的にインストールします。もっと学ぶ。