Arch Linux: Como ignorar certos pacotes para certos repositórios usando o pacman?

4

Eu tenho um repositório não oficial chamado haskell-core . Eu quero colocar na lista negra todos os pacotes haskell em extra e usar os pacotes de haskell-core . Eu não quero usar pacotes haskell de extra e eu preciso que ele seja de baixa manutenção. Isso é possível?

EDITAR: O Pacman ainda instala pacotes haskell de extra se eles forem mais novos.

    
por ArchHaskeller 06.04.2013 / 19:32

1 resposta

8

Basta colocar seu repositório acima de [extra] em pacman.conf . Seu arquivo deve se parecer com:

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

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

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

Desta forma, seus pacotes haskell serão automaticamente preferidos em relação aos pacotes oficiais do extra com o mesmo nome, a menos que os que estiverem em extra tenham um número de versão maior. Certifique-se de que seus pacotes lidem com todas as dependências necessárias dos pacotes oficiais do haskell se você não quiser ter problemas. Isso só funciona se os pacotes personalizados tiverem números de versão superiores aos oficiais.

Outra alternativa seria adicionar provides=('<[extra] package name') e conflicts=('<package name'>) ao seu PKGBUILD s e depois adicionar seu repositório em qualquer lugar em pacman.conf , para que quando você instalar seus pacotes, o pacman pergunte se você deseja substituí-los em [extra] , se eles estiverem instalados. Você pacotes personalizados não devem ter o mesmo nome dos oficiais. Por exemplo, um pacote deve ser chamado <package-name>-custom ou algo assim.

    
por 06.04.2013 / 20:21