Arch Linux: Comment ignorer certains packages pour certains référentiels en utilisant pacman?

J'ai un repository non officiel appelé haskell-core . Je veux blacklistr chaque package haskell en extra et utiliser les packages de haskell-core place. Je ne veux pas utiliser les packages haskell d' extra et j'ai besoin d'être faible maintenance. Est-ce possible?

EDIT: Pacman installe toujours les packages haskell à partir de extra s'ils sont plus récents.

il suffit de placer votre repository au-dessus de [extra] dans pacman.conf . Votre file devrait ressembler à:

 [core] Include = /etc/pacman.d/mirrorlist [<your custom repository>] Server = <your repository location> [extra] Include = /etc/pacman.d/mirrorlist 

De cette façon, vos packages haskell seront automatiquement préférés aux packages officiels de plus avec le même nom, sauf si ceux en plus ont un numéro de version plus élevé. Assurez-vous que vos packages gèrent toutes les dependencies nécessaires des packages haskell officiels si vous ne voulez pas avoir de problèmes. Cela ne fonctionne que si les packages personnalisés ont des numéros de version plus élevés que les versions officielles.

Une autre alternative serait d'append à vos PKGBUILD s conflicts=('<package name'>) provides=('<[extra] package name') et conflicts=('<package name'>) , puis d'y append votre directory dans pacman.conf afin que lorsque vous installerez vos packages pacman vous requestra si vous voulez les replace par [extra] , s'ils sont installés. Vos packages personnalisés ne doivent pas avoir le même nom que les packages officiels. Par exemple, un package doit être appelé <package-name>-custom ou quelque chose comme ça.