Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 87137 - package.defer to notify about but not upgrade packages
Summary: package.defer to notify about but not upgrade packages
Status: RESOLVED DUPLICATE of bug 47456
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-29 09:54 UTC by Chris Gottbrath
Modified: 2005-10-16 08:43 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Gottbrath 2005-03-29 09:54:34 UTC
I have a world file which contains entries such as 
 =app-office/openoffice-1.1.1
yet when I do an emerge -pv world portage
wants to upgrade my openoffice installation. 

Portage used to successfully honor specific version
specifications in the world file. It appears that
this is broken.

A search on the forums mentions that this is a common 
issue -- however I didn't find any other bugs filed
with this specific description.

Reproducible: Always
Steps to Reproduce:
1. pin a version in the world file
2. use emerge -pv world to see that it is not getting honored

Actual Results:  
emerge appears to ignore the version specification

Expected Results:  
emerge should honor the version specification (it did in the past).

I have seen this on two systems. They are both running 
sys-apps/portage-2.0.51.19. I know this used to work, but 
I don't have a clear idea which portage upgrade broke this 
functionality.
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2005-03-29 09:55:59 UTC
This isn't supported anymore since 2.0.50, use package.mask instead.
Comment 2 Chris Gottbrath 2005-03-29 12:35:37 UTC
Marius, 

Thanks for the suggestion.

So it looks in general like I can take 
any =category/package-version
statement in my world file and simplify
it to just category/package
then add a corresponding
>cateogory/package-version 
statement to the package.mask file in 
/etc/portage. 

However -- this means something a little
different. In one case I was telling portage
not to update a specific item. In the other case
I am telling portage to consider anything newer 
than a specific version to be masked. 

I'm not just being nit-picky (I don't think 
I am anyway -- I guess I might just not understand
something here) it seems like these two statements 
would have a different meaning with respect to slots. 

For example. I had =dev-lang/python-2.3.3 in my 
world file because I have a production app that relies
on python and I didn't want to accidentally break
that app. However now python is slotted -- so 
I don't necessarily want to avoid installing 
python 2.4 -- I just don't want my 2.3.3 to 
get changed. 

I see from 

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3

that I can use the package.unmask file to override masked packages. 
I imagine that I could do something like 

>dev-lang/python-2.4 in the /etc/portage/package.unmask 
file -- so that I would effectively be masking
versions of python greater than 2.3.3 but less
than 2.4. However then I'd end up unintentionally
unmasking legitimately masked unstable ebuilds in 
the 2.4 and later version range. 

I presume I could go in and mask ebuilds explicitly
with '=' statements in the package.mask file. However
that would then need to be updated everytime someone releases
a new revision of an ebuild -- fragile an unmaintainable. 

What is the right way to tell portage to leave
a particular version alone when doing emerge
world?

Cheers,
Chris
Comment 3 Jason Stubbs (RETIRED) gentoo-dev 2005-04-11 08:05:31 UTC
Okay. I've seen enough bugs now to warrant a place-holder.
Comment 4 Chris Gottbrath 2005-04-12 09:38:42 UTC
Jason, 

I notice you just changed the summary on this bug. 

It sounds like you are thinking of implementing the ability 
to pin packages with a new file rather than in the
world file.

Could you provide a quick summary of what you have in 
mind or point me to a mailing list message or glep with the 
details.

Thanks much!

Cheers,
Chris
Comment 5 Jason Stubbs (RETIRED) gentoo-dev 2005-04-13 04:28:08 UTC
package.prefer would be a file with the same syntax as package.mask or package.unmask. Any package that's a candidate for an upgrade or downgrade and matches an atom in package.prefer would be shown (and marked) in --pretend output but would not be updated.
Comment 6 Chris Gottbrath 2005-04-13 06:50:20 UTC
Jason, 

Thanks for the response. I like the idea. 

In the summary you called it package.defer and in your statement
you called it package.prefer. 

I like package.prefer personally. I think it is more clear. 

I'll watch this bug for activity -- I'd love to help with early testing
of this.

Cheers,
Chris
Comment 7 Jason Stubbs (RETIRED) gentoo-dev 2005-04-13 07:04:21 UTC
package.defer.. prefer is another idea. Or in other words, "defer" can change but "prefer" is already taken.
Comment 8 Chris Gottbrath 2005-04-13 08:38:59 UTC
Jason, 

Responded too early this morning -- before my 
caffine.

How would this interact with slots?

If I understand correctly package.defer would have
the same functionality as pacakge mask but just 
different notification.

Wouldn't this have the same problem of preventing the 
addition of a newer slotted version?

Cheers,
Chris
Comment 9 Jason Stubbs (RETIRED) gentoo-dev 2005-10-16 08:43:02 UTC

*** This bug has been marked as a duplicate of 47456 ***