Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 11593 - Fixing versioning
Summary: Fixing versioning
Status: RESOLVED DUPLICATE of bug 2767
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: x86 Linux
: High enhancement
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-04 16:26 UTC by Tim Haughton
Modified: 2011-10-30 22:36 UTC (History)
1 user (show)

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 Tim Haughton 2002-12-04 16:26:22 UTC
There is potentially a case for a portage file which allows a user to fix the
versions of certain packages. At the moment, you can opt to simply not upgrade a
particular package, or mask it manually. This prevents you from doing 'emerge -u
world', or means that you have to update the .mask file after every rsync.

For example, I need the enigmail functionality of Mozilla 1.1, so I unmask it
and emerge it. The problem is every time I rsync, it shows an available update
to version 1.0 as being available. So I either pick the updates manually, or if
there are a lot of them, I update the .mask file and emerge -u world.

I don't want to use the ACCEPT_KWYWORDS approach as I don'y want any other
potentially unstable stuff being available to me. Specifying the exact ebuild
version in a 'packages.fix' file would allow me to fix the version.

This might want to have a certain degree of flexibility about it; i.e. some
users may wish to fix the exact ebuild version, ignoring all updates, but it
might be nice to restrict Mozilla to version 1.1 ebuilds only, so updates arrive
for the 1.1 branch and are used.

This would be particularly useful for admins of a large number of machines who
wish to run automated 'emerge rsync && emerge -u world' scripts, but who don't
wish to surprise a user base by upgrading a key piece of software out of the
blue.It may be that dependency issues implicitly force other packages into a
'fixed' status.

To avoid users 'fixing' an ebuild, and forgetting that they've done it, whenever
they do an emerge -u -p world for example, there needs to be a communication of
the fact that an update is available, but is being ignored because the version
has been fixed, sort of a :

These are the packages that I would merge, in order.

Calculating world dependencies ...done!
[ebuild    U ] net-ftp/gftp-2.0.14_rc1

Updates are available for the following packages, but these won't be merged as
their versions have been fixed:

[ebuild    F ] net-www/mozilla-1.0.1-r3

Updates are available for the following packages, but these won't be merged as
at least one package on which they depend has been fixed.

[ebuild    F ] net-www/another-0.0.1-r4



Note the F flag to denote a fixed package. This won't be merged as I've 'fixed'
mozilla to the 1.1 branch in packages.fix.

Just a thought. I know I'd find it useful. Comments appreciated.
Comment 1 Troy Dack 2002-12-04 17:20:49 UTC
I'm pretty sure that you can "pin" a package by doing something like the
following in /var/cache/edb/world:

=mozilla-1.1

To only ever have Mozilla 1.1 installed
or

<=mozilla-1.1

That will stop you from upgrading past Mozilla 1.1

Currently portage does not have any visible indication that the package is
"pinned" by the user.  The logic of the code is probably something like:

Current = 1.1
New = 1.2
New > Current?
 yes:
  Is package pinned in world file?
   yes:
    Skip to the next package
   no:
    mark the package as having an update

Lather, rinse, repeate
Comment 2 SpanKY gentoo-dev 2003-01-08 14:53:09 UTC

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