You are not logged in.

#26 2011-03-25 17:21:36

jlacroix
Member
Registered: 2009-08-16
Posts: 576

Re: [SOLVED]Pacman update fails

Yes. To recap, the problem currently is that it says that _every_ package is corrupt, even after clearing the cache. It won't install anything, not even locally downloaded packages.

Last edited by jlacroix (2011-03-25 17:22:34)

Offline

#27 2011-03-25 23:17:31

gerald82
Member
From: The known universe
Registered: 2011-03-25
Posts: 83

Re: [SOLVED]Pacman update fails

I just had the same problem and thought I'd follow the advice provided in this thread.
After reading one had problems with pacman had been uninstalled during the process, unable to reinstall, I thought uninstalling yaourt as one pacman wrapper would be a good idea.

This did not solve the problem for me and I decided to postpone the problem, but wanted to have yaourt to be back on board until that.
I.e. I reinstalled yaourt and voila - it stated the new pacman version as a dependency and I said "y" to install it.
Job done.

Edit: Nah, not job done, I had to run the pacman-db-upgrade afterwards (as suggested by pacman itself). And I did run a 'pacman -Syyu' in between (i.e. before reinstalling yaourt) to update the package lists. But then everything was fine.

Last edited by gerald82 (2011-03-25 23:32:50)

Offline

#28 2011-03-26 09:11:02

ktemkin
Member
From: Binghamton
Registered: 2010-12-28
Posts: 6
Website

Re: [SOLVED]Pacman update fails

gerald82 wrote:

I thought uninstalling yaourt as one pacman wrapper would be a good idea.

If you have other wrappers (e.g. the dependencies for yaourt), they would have to go as well.

---

I'll try and explain what's going on from a technical perspective, as I understand it:



1) Whenever pacman detects an update to itself, it requests that it be the first thing updated. (This is a good thing, as it would allow a theoretical security/bugfix release to come into play before more packages are updated and more damage could be done.)

2) During a pacman update, pacman does not allow any other packages to be updated. (Consider what would happen if you allowed packages to be updated in the same run as a pacman self-update. What would install the updates? Pacman?)

3) When any package is updated, pacman checks to ensure that no dependencies are violated. Normally, when a dependency conflict occurs, pacman tries to make everyone happy. Let's say you have a package python3-argparse, which requires python <= 3.1. When upgrading python to 3.2, pacman would detect the dependency conflict, realizing that installing the new python would break your argparse package.  There are two possible outcomes:
     1) Pacman finds a newer version of  python3-argparse, which requires python <= 3.2. Pacman informs you that both packages will be updated and asks if it should continue.
     2) Pacman can't find a newer version of python3-argparse, and aborts the upgrade of python. If you want to upgrade python, you have to remove python3-argparse.

4) In this case, we run into a dependency conflict while trying to upgrade pacman; package-query requires a version of pacman less than 3.5. Even though a newer, compatible version of package-query is available, pacman still can't continue, because:
    1) Pacman needs to be the only thing upgraded during its upgrade run (so the new package-query can't be installed at the same time), and
    2) Pacman would like to be upgraded before all other scheduled upgrades, (so it, as a matter of course, won't upgrade to the new package-query automatically.)

--

Of course, I didn't just pull up the source for pacman, so I could very well be wrong.

Last edited by ktemkin (2011-03-26 09:12:38)

Offline

#29 2011-03-26 11:21:35

tuxce
Member
Registered: 2008-02-19
Posts: 56
Website

Re: [SOLVED]Pacman update fails

ktemkin wrote:

1) Whenever pacman detects an update to itself, it requests that it be the first thing updated. (This is a good thing, as it would allow a theoretical security/bugfix release to come into play before more packages are updated and more damage could be done.)

ktemkin wrote:

    1) Pacman needs to be the only thing upgraded during its upgrade run (so the new package-query can't be installed at the same time), and
    2) Pacman would like to be upgraded before all other scheduled upgrades, (so it, as a matter of course, won't upgrade to the new package-query automatically.)

It's not a matter of detecting a self update, pacman just honors SyncFirst from pacman.conf, if you have others packages that have to be updated at the same time, you have to put them in SyncFirst too.

Offline

Board footer

Powered by FluxBB