if you have a .tbz2 for a masked package emerge --usepkg will use it instead of complaining about the masked state. Reproducible: Always Steps to Reproduce: 1. emerge -B /usr/portage/sys-apps/portage/portage-2.0.49_pre17.ebuild 2. emerge -k portage Actual Results: portage will install pre17. Expected Results: portage should install the current unmasked version.
Hmm, looks like binary packages aren't subject to masking at all if I read the description of binarytree.dep_bestmatch(). Is that on purpose or is it just not implemented ?
You built it... Why not use it?
Well, because it's irritating at best: why is the ebuild masked but not the binary (after all, most masked packages compile without problems). It's especially annoying if you have FEATURES=buildpkg and emerged a masked package once or mask one locally after emerging. So my previous question is still valid: bug, feature or todo-list ?
Yeah. I masked all dependencies for gnome-2.4, as well as gnome-2.4 itself, to revert to a gnome-2.2 system. I had built gnome-2.4 with --buildpkg, but I don't want to get rid of the gnome-2.4 pkg's, as I might use them again in the future. Anyway, "emerge -eDk gnome" reinstalls all gnome-2.4 pkg's, even though they are masked in /etc/portage/package.mask. I need to use "-k/--usepkg" to make sure my base system components are reinstalled from binaries, and my gnome-2.2 pkg's are the only ones built from scratch. So, to me this bug is very annoying, and time consuming to try to work around it. Thanks guys.
Created attachment 24305 [details, diff] patch for emerge in portage-2.0.49-r21 Hi, I was afflicted by the same bug as this, too. So I created a patch for 2.0.49-r21. How is it?
Cannot use that patch. How would you suggest handling cases where you don't have an ebuild for a binary package? --usepkgonly and --getpkgonly must ignore masking as you cannot assume that the ebuilds are masked properly. If you don't have a portage tree, you cannot merge anything... if you do something like that patch. The current functionality makes sense for a deployment standpoint... If the package is there, use it because I put it there.
*** Bug 61880 has been marked as a duplicate of this bug. ***
--usepkg will now only use binaries if the matching ebuild is unmasked. --usepkgonly still ignores masking.