可能性のある複製:
他のパッケージを自動的にインストールするメタパッケージの作成方法
Frescobaldi(Lilypondのエディター)を使用したいのですが、公式リポジトリのlilypondのパッケージリリース(2.12.3。lilypondはスコアシートのTeXに似ています)は、新しい機能を使用したいので少し古いです。だから私は彼らのgitリポジトリをクローンし、そこからインストールしました。
さて、私の質問は、どのようにしてaptに、lilypondの依存関係を手動で満たして、別のコピーをインストールしないようにしたかということです。
実際に依存関係を提供している場所については、checkinstall
を使用してインストールを行います。 checkinstall
は基本的にmake install
を置き換え、適切な.debパッケージを生成してインストールします。それにより、パッケージをより良い方法で削除またはアップグレードできるようになるだけでなく(時間が来たら)、他のアプリケーションからの依存関係も満たします。
別の方法は、ファイルを提供しないが、あなたが望むものを提供すると主張する小さなダミーパッケージを書くことです。最も簡単な方法は、equivs
というアプリケーションを使用することです。
Sudo apt-get install equivs
equivs-control lilypond
# edit your fake package so it has the right versions, names, description, etc
nano lilypond
equivs-build lilypond
Sudo dpkg -i lilypond-dummy*.deb
簡単ですが、潜在的に有害な3番目のルートがあります。標準のリポジトリからインストールして、生成したファイルでファイルを置き換えてください。パッケージのバージョンをロックして、アップグレードされないようにします。これには間違ったスコープがありますので、checkinstall
ができないか、最初にパッケージを偽造できない場合にのみ、それを行ってください。
Sudo check install
の代わりにdhmake
またはSudo make install
を使用する必要があります。そうすることで、後のlilypondバージョンのdeb(インストールをチェックするとdebもインストールされます)を作成できます^^。
ソース(およびコンパイル後のオブジェクトファイル/メイクファイルなど)がまだある場合は、再度ダウンロードしなくてもそれを行うことができます。