On Thursday 24 February 2005 04:10 pm, Damian Kolkowski <[EMAIL PROTECTED]> wrote: > * Boyd Stephen Smith Jr. <[EMAIL PROTECTED]> [2005-02-24 18:08]: > > Well, the problem is that the package in question may not be in your > > world file > > Heh, I write all of this below and now I understand you :-) > > My world file? I thought that everything is in my "world file" - hmmm..?
Nope. If you emerge foo-bar/baz and that pulls in foo-bat/gonzo as a dependency, foo-bat/gonzo is not placed in your world file. Similarly, dependencies of foo-bat/gonzo are pulled in but not added to world. If you want emerge <package> to not add the package to world, you should use --oneshot (-1). If you want to add a package to world that is installed, you can simply place it in there youself. If you want to add a package to world that is not installed or you don't want to mess with the world file manually, just emerge <package>. BTW, there's no need for quotes around the phrase 'world file'. Portage literally maintains a file, named world, in /var/lib/portage that directs the behavior of emerge world. [In fact, there's a nice GLEP that will, if implemented, allow (somewhat) arbitary files structed like world in /var/lib/portage/sets to direct portage similarly.] > Fortunately it works good for "ldap" and evolution :-D And there is no > need in my gentoo case to use -uD :-) While what you attempted worked in this particular case, you are misunderstanding how emerge world works, and how --newuse and -D modify that separately and together. > > If it's not, --newuse will not pick up on it, unless you add --deep > > (-D). --ask (-a) is better than pretend, 'cept that it has to be used > > interactively. --verbose (-v) and --tree (-t) make the pretend > > information a lot more useful. I suppose --update (-u) was a bit of > > overkill. > > > > I rarely, if ever, go without -avt. Of course, -uD and --newuse are > > only added as needed. > > I do not agre :-) > > If we use "--newuse" because we add USE="ldap", emerge will find > packages that need to be install [1], so something like -D, -u in that > case is useles :-) No, as I said before, if you do emerge --newuse world it will only (initially) scan world for packages that have new use flags, if none exist then no package will be recompiled, even if a dependency has had it's use flags change. [When a package is slated for recompile, emerge does, then check it's dependencies.] This is the same with -u (or a combination of the two). Only packages in your world file will be checked for an up/downgrade, as well a dependecies of any package that does need to be remerged. If a dependcy has been updated, but not it's dependent in world, it will not be recompiled. --deep (-D) changes this behavior so that all dependencies are scanned for possible remerge, even if the package it depends on is up-to-date w.r.t. the -u and --newuse options passed on the command-line. [Can a dev (Ciran?) back me up on this or am I just talking out of my arse?] > P.S. I have small wuestion: > > Why is this happening? Read my text above and you should understand the problem. What is hapening is that kdenetwork is not in your world file AND the item in your world file that depends on it does not have a wifi option but does have an ldap option. When you specify just wifi, emerge never checks the kdenetwork package for new use flags because what it depends on doesn't need to be remerged. When you specific both ldap and wifi, emerge notices that the dependent needs to be recompiled because of the changed ldap flag, then it scans it's dependencies and notices that kdenetwork needs to be remerged due to the changes wifi flag. Also, hopefully you are using 'USE="blah" emerge <stuff>' syntax just as an example; you really shouldn't be using that if you want to keep your use flags maintainable. -- Boyd Stephen Smith Jr. [EMAIL PROTECTED] ICQ: 514984 YM/AIM: DaTwinkDaddy [1] But only if that package is in the world file or a there is a direct dependecy chain of packages that need to be remerged leading to it. After a use-flag change, you really want to 'emerge -D --newuse world'. -- gentoo-user@gentoo.org mailing list