Summary: | sys-apps/portage: autounmask (sometimes?) writes =-atoms for abi_x86_32 flags | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Michał Górny <mgorny> |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 376695, 484436 |
Description
Michał Górny
2015-01-12 09:18:19 UTC
The code in depgraph.py looks like this: if is_latest: unstable_keyword_msg[root].append( ">=%s %s\n" % (pkg.cpv, keyword)) elif is_latest_in_slot: unstable_keyword_msg[root].append( ">=%s:%s %s\n" % (pkg.cpv, pkg.slot, keyword)) else: unstable_keyword_msg[root].append( "=%s %s\n" % (pkg.cpv, keyword)) else: unstable_keyword_msg[root].append( "=%s %s\n" % (pkg.cpv, keyword)) Your issue could be due to bugs in the check_if_latest function that is used to set the is_latest variable. It looks like this function doesn't account for masking, a masked -9999 ebuild could probably trigger the =atom behavior. (In reply to Zac Medico from comment #1) > Your issue could be due to bugs in the check_if_latest function that is used > to set the is_latest variable. It looks like this function doesn't account > for masking, a masked -9999 ebuild could probably trigger the =atom behavior. Any chance the problem here is that the case of package.use.stable.mask isn't handled as priority over package.mask/'-*' ebuilds ? (In reply to Rafał Mużyło from comment #2) > Any chance the problem here is that the case of package.use.stable.mask > isn't handled as priority over package.mask/'-*' ebuilds ? Well, the check_if_latest function accounts for neither use masking nor package masking/visibility. (In reply to Zac Medico from comment #1) > Your issue could be due to bugs in the check_if_latest function that is used > to set the is_latest variable. It looks like this function doesn't account > for masking, a masked -9999 ebuild could probably trigger the =atom behavior. All three of the packages listed in comment #0 that have =foo atoms also have -9999 ebuilds, so that confirms my hypothesis. I think I'll add a boolean keyword argument to check_if_latest that causes it to ignore masked packages. Then I'll use the new argument to make the package.use code ignore masked packages. That will fix the package.use code, while leaving the package.mask/package.accept_keywords behavior unchanged. I have a patch in the following branch: https://github.com/zmedico/portage/tree/bug_536392 I've posted it for review here: http://thread.gmane.org/gmane.linux.gentoo.portage.devel/5108 This is in the master branch now: https://github.com/gentoo/portage/commit/0b85e54ce3de54d8b1dfaf2c3f3b23b5326d4c44 Released in portage-2.2.16 |