Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 134721 - revdep-rebuild -X doesn't only pass name (also passes version)
Summary: revdep-rebuild -X doesn't only pass name (also passes version)
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
: 168218 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-05-28 22:46 UTC by Joe Millenbach
Modified: 2007-02-24 10:42 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 Joe Millenbach 2006-05-28 22:46:47 UTC
With gentoolkit v0.2.2-rc1 installed I recently did a "revdep-rebuild -X" that found 3 packages that needed to be rebuilt.  Unfortunately the command line that was generated included the version numbers (ie, "emerge --oneshot =pmount-0.9.9").  In this case it didn't matter, but I figured this should work.

I used --packagenames recently to allow pmount to upgrade (when sysfsutils was 2.0) so I know the functionality is still there.  And I marked the bug as only AMD64 as I don't know if it happens anywhere else.  Also I can't try to repro it as I have already updated those 3 packages...no idea how to trick revdep into creating a command line.
Comment 1 Rick Harris 2006-05-29 01:59:09 UTC
Not a bug, this is the correct behaviour, and has always been as far as I can recall.

'-X' implies installing the best available version of that package, but it will still emerge by version number regardless of whether '-X' is used or not.

Example:

I have games-emulation/xmame-0.102 built with +arts, but has since broken when kde-base/arts was unmerged.

# revdep-rebuild -p -v

All prepared. Starting rebuild...
emerge --oneshot -p -v =games-emulation/xmame-0.102


# revdep-rebuild -X -p -v

All prepared. Starting rebuild...
emerge --oneshot -p -v =games-emulation/xmame-0.105


To further illustrate, your command line
"emerge --oneshot =pmount-0.9.9"
as returned by "revdep-rebuild -X" is correct.

revdep-rebuild has chosen to install the latest/best version of pmount, in this case 0.9.9 (as unmasked by you).
Comment 2 Joe Millenbach 2006-05-29 03:00:42 UTC
Then why are they listed as synonyms if they aren't?

"# revdep-rebuild --help
Usage: /usr/bin/revdep-rebuild [OPTIONS] [--] [EMERGE_OPTIONS]

Broken reverse dependency rebuilder.

  -X, --package-names  Emerge based on package names, not exact versions
..."
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-05-29 03:08:33 UTC
(In reply to comment #2)
> Then why are they listed as synonyms if they aren't?

Eh? What's listed as synonyms?
Comment 4 Joe Millenbach 2006-05-29 07:30:47 UTC
The text I had included above was from the tool's own --help.  It lists both options on the same line with a single description of "Emerge based on package names, not exact versions".
Comment 5 Paul Varner (RETIRED) gentoo-dev 2006-05-30 19:55:19 UTC
The behavior that you are seeing is correct.

revdep-rebuild by default tries to re-emerge the exact version that is installed.  When you use -X or --package-names, it internally uses portage to determine the best version available based upon the package name.  Once it determines the best version, it explicity uses that version for the emerge command.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-02-24 10:42:01 UTC
*** Bug 168218 has been marked as a duplicate of this bug. ***