On 07/10/2017 04:37 PM, William L. Thomson Jr. wrote: > On Mon, 10 Jul 2017 19:22:47 -0400 > "William L. Thomson Jr." <wlt...@o-sinc.com> wrote: >> >> That part does not require it to resolve deps. Just check world file, >> assuming its correct. Though could be thrown off if say gcc, or >> another was in the world file. I think the profile or set would catch >> that as it does now and generate a warning, regardless. > > Speaking of gcc in the world file. I think portage should STOP adding > packages that are in the profile or a dep to world. If you merge a > package as part of a set, I am pretty sure it does not get recorded to > world, need to confirm, could be wrong. > > A rule for portage could be; > > - If the package is not in world and already installed. Do not add the > package to world. If you are re-emerging a package already > installed. You do not have to use the -1 option. > > I have polluted so many world files with system packages and/or > dependencies I re-emerged directly without -1. Those IMHO should never > have been recorded to that file. They were brought in by other things. > Only things in my world should be packages merged directly, not from > profile, set, or a dep. > > I will file a bug on that as well. > Whether Portage adds a package to a set or world file is dependent on how you invoke emerge. Some people (like me) include sets as part of their world, via /var/lib/portage/world_sets . At that point, sets added to that file are basically treated as the world package list.
If gcc or other @system packages end up in your world, it's not Portage's fault. If you don't want a package added to a set or world, you'll need to use the -1 (--oneshot) option. I added it to my default emerge options in make.conf for exactly that reason (clean world); though, I have to be careful and make sure packages I care about are in a set somewhere or --depclean will wipe'em out. In short, Portage won't stop you from shooting yourself in the foot. If you decide you want to add a package to world without re-merging it, -n (--noreplace) will do the job. I'm not sure if eix-test-obsolete (from app-portage/gentoolkit) will catch a @system atom inside a set/world file, but that's where I'd expect such a notification to come from. The tool can help clean up unneeded entries in /etc/portage files, and would be a good fit for this particular issue. That said, having helpful messages is a good addition, but needs to be done in a way that is unambiguous and gives the user a clear solution. Hope this helps, zlg -- Daniel Campbell - Gentoo Developer OpenPGP Key: 0x1EA055D6 @ hkp://keys.gnupg.net fpr: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6
signature.asc
Description: OpenPGP digital signature