You are not logged in.

#1 2016-01-20 18:50:24

wsha
Member
Registered: 2015-07-22
Posts: 19

How to pin specific package to update from specific repository?

I use the `haskell-core` and `haskell-happstack` repositories for some packages not in the official repositories. Recently, I installed the new `git-annex` package from `community`. It only has `make` dependencies on Haskell packages, so there are no conflicting packages, except that there is a `git-annex` in `haskell-core`. Is there any way to set `pacman`'s configuration so it ignores just the `git-annex` package in `haskell-core` or so that it associates `git-annex` with `community` rather than `haskell-core`? Or perhaps more generally could `pacman` be configured to only update packages from the repositories they were installed from? My goal is to be able to continue updating the system with `pacman -Syu` without having to deal with `git-annex` by hand each time.

Offline

#2 2016-01-20 20:57:01

ooo
Member
Registered: 2013-04-10
Posts: 1,637

Re: How to pin specific package to update from specific repository?

afaik, neither is possible with pacman.

I have no knowledge of the haskell repos, but I suppose you're supposed to use the git-annex from haskell repos instead of community.
At least that's usually the case if a unofficial repository contains packages also included in official repos.

Arch wiki also instructs placing [haskell-core] above [community] in your pacman.conf, to allow packages in [haskell-core] to take precedence over official packages.

Why exactly do you want to use git-annex from [community]?

Offline

#3 2016-01-20 22:34:00

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: How to pin specific package to update from specific repository?

Alias 'pacman -Syu repo/package' to e.g. 'pac2'.

Offline

#4 2016-01-20 22:41:11

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: How to pin specific package to update from specific repository?

karol wrote:

Alias 'pacman -Syu repo/package' to e.g. 'pac2'.

alias psyu='/usr/bin/pacman -Syu --needed community/git-annex'

With "--needed" the package will not be re-installed unless there is an upgrade available.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#5 2016-01-21 05:41:25

wsha
Member
Registered: 2015-07-22
Posts: 19

Re: How to pin specific package to update from specific repository?

Thanks for the replies. I thought I might have to use an alias with `--ignore` if there were no configuration option, but I didn't know about the behavior of `--needed`.

Why exactly do you want to use git-annex from [community]?

`git-annex` has several feature sets that rely on distinct sets of dependencies. The [haskell-core] maintainers have decided to provide a bare bones version of `git-annex` that leave out some features while the new [community] package provides a full build with all dependencies.

Offline

#6 2020-08-31 05:03:25

soloturn
Member
Registered: 2016-04-18
Posts: 5

Re: How to pin specific package to update from specific repository?

ignoring a package from upgrade is possible:

  $ sudo vi /etc/pacman.conf

  # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
  #IgnorePkg =
  IgnorePkg = vlc
  #IgnoreGroup =

(from: https://ostechnix.com/safely-ignore-pac … ch-linux/)

Offline

#7 2020-08-31 06:28:06

fukawi2
Ex-Administratorino
From: .vic.au
Registered: 2007-09-28
Posts: 6,217
Website

Re: How to pin specific package to update from specific repository?

soloturn, please leave the dead to rest in peace: https://wiki.archlinux.org/index.php/Co … bumping.22

Closing.

Offline

Board footer

Powered by FluxBB