Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 15497

Summary: portage unmerges new package when updating instead of the old one
Product: Portage Development Reporter: Ernst Rohlicek jun. <ernst.rohlicek>
Component: UnclassifiedAssignee: Nicholas Jones (RETIRED) <carpaski>
Status: RESOLVED FIXED    
Severity: major    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Ernst Rohlicek jun. 2003-02-11 09:05:00 UTC
I recently had to update perl and its deps (bash, groff, libperl, python, 
ncurses and portage) and told it "emerge -u perl", but as I hunted the problem 
down (after it quit a compile of one of the deps), I found out that whichever 
of the packages I wanted to update, it did unmerge the recent package it had 
just merged (eg. emerge -u python -> merges python-2.2.2 -> tells me "will be 
unmerged: 2.2.2, protected 2.2.1-rXX" and if I wouldnt interrupt, it would 
unmerge python 2.2.2 again, instead of the old one I wanted to replace with a 
new version).
I was using portage 2.0.44 at the moment these problems came up, but even the 
2.0.46-r10 (think it was 10), didnt make a change.
So I had to unmerge the package first (including bash, hm.) and re-emerge the 
package. Or emerge the new one and unmerge the old one afterwards (would 
say "omitted: [new version] unmerging: [old version]".

Hope you can reproduce that problem and fix it.

Reproducible: Always
Steps to Reproduce:
1. emerge -u [package]

Actual Results:  
Unmerging: [new version]
Protected: [old version]

Expected Results:  
Unmerging: [old version]
Protected or Omitted: [new version]
Comment 1 Nicholas Jones (RETIRED) gentoo-dev 2003-02-16 22:17:43 UTC
Running:
# regenworld
# AUTOCLEAN="no" emerge -e world

will fix it. It's corrupt COUNTER files in your portage db.
There is a script in bugs somewhere that can fix that. It
shouldn't happen ever again in >=portage-2.0.46-r10. Your
problem started with 2.0.44 so it'll persist until you
rebuild with 2.0.46 or you fix the counters by hand.