Arch Linux:pacmanを使用して特定のリポジトリの特定のパッケージを無視する方法は?

Arch Linux:pacmanを使用して特定のリポジトリの特定のパッケージを無視する方法は?

という非公式リポジトリがありますhaskell-core。私はすべてのHaskellパッケージをブラックリストに載せ、extraその中のパッケージを使用したいと思いますhaskell-core。私はHaskellパッケージを使用したくないので、メンテナンスextraが少なくて済みます。可能ですか?

編集する: Pacmanは引き続き最新のHaskellパッケージをインストールしますextra

答え1

[extra]ただそこにリポジトリを置きますpacman.conf。ファイルは次のようにする必要があります。

[core]
Include = /etc/pacman.d/mirrorlist

[<your custom repository>]
Server = <your repository location>

[extra]
Include = /etc/pacman.d/mirrorlist

これにより、extraのパッケージがより高いバージョン番号を持たない限り、haskellパッケージはextraの同じ名前の公式パッケージよりも自動的に優先されます。問題が発生したくない場合は、パッケージが公式のHaskellパッケージの必要なすべての依存関係を処理していることを確認してください。これは、カスタムパッケージのバージョン番号が公式パッケージより高い場合にのみ機能します。

もう1つのオプションは、 と をprovides=('<[extra] package name')追加し、必要な場所にリポジトリを追加することです。その後、パッケージをインストールするときに、パックマンがすでにインストールされているリポジトリを交換するかどうかを尋ねます。カスタムパッケージは公式パッケージと同じ名前を持つことはできません。たとえば、パッケージを呼び出すか、または同様のものを呼び出す必要があります。conflicts=('<package name'>)PKGBUILDpacman.conf[extra]<package-name>-custom

関連情報