Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 93687 - Different dependencies after touching file
Summary: Different dependencies after touching file
Status: RESOLVED DUPLICATE of bug 24439
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-23 06:27 UTC by Michal Čihař
Modified: 2005-05-24 23:45 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 Michal Čihař 2005-05-23 06:27:36 UTC
While trying to find out why does emerge still want to install gtk+-1.2, I found
strange behaviour.

Reproducible: Always
Steps to Reproduce:
1. emerge --sync
2. emerge -pt --update --deep world
3. touch /usr/portage/x11-themes/gtk-engines/gtk-engines-2.6.2.ebuild
4. emerge -pt --update --deep world

Actual Results:  
# emerge --update -pt --deep world

These are the packages that I would merge, in reverse order:

Calculating world dependencies ...done!
[nomerge      ] x11-themes/gnome-themes-2.10.0  
[nomerge      ]  x11-themes/gtk-engines-2.6.2  
[ebuild  N    ]   media-libs/imlib-1.9.14-r3  
[ebuild  NS   ]    x11-libs/gtk+-1.2.10-r11  
[ebuild  NS   ]     dev-libs/glib-1.2.10-r5  
# touch /usr/portage/x11-themes/gtk-engines/gtk-engines-2.6.2.ebuild 
# emerge --update -pt --deep world

These are the packages that I would merge, in reverse order:

Calculating world dependencies /QA Notice: has_version() in global scope: eclass
gtk-engines2
QA Notice: has_version() in global scope: eclass gtk-engines2
QA Notice: has_version() in global scope: eclass gtk-engines2
QA Notice: sed in global scope: x11-themes/gtk-engines-2.6.2
 ...done!
#

Expected Results:  
Both updates should give same resuts.
Comment 1 Ciaran McCreesh 2005-05-23 06:30:47 UTC
Congratulations, you're about the zillionth person to have been bitten by this.

*** This bug has been marked as a duplicate of 24439 ***
Comment 2 Michal Čihař 2005-05-23 06:51:58 UTC
Sorry for not spotting that, I tried to find something related to timestamps
what failed.
Comment 3 Brian Harring (RETIRED) gentoo-dev 2005-05-24 23:45:05 UTC
Short version as to why the mtime changed induced different behaviour- portage
has a cache of metadata from ebuilds, since this data is seperated from the
ebuild, the metadata defined by the ebuild _must_ be constant.  The ebuild in
question violates this, specifically it is (last I dicked around on that bug)
dependant on the local host, which is invalid.
Portage detects staleness via mtime of ebuild and eclasses- a touch of the
ebuild forced portage to regen the cache for that ebuild, and since it's
nonconstant, you suddenly got different deps.  (this is why metadata _must_ be
constant).