On Mon, Jan 2, 2012 at 6:33 PM, Alan McKinnon <[email protected]> wrote: > On Mon, 2 Jan 2012 11:20:19 -0500 > Michael Mol <[email protected]> wrote: > >> On Mon, Jan 2, 2012 at 11:16 AM, Michael Mol <[email protected]> >> wrote: >> > On Mon, Jan 2, 2012 at 11:09 AM, Michael Orlitzky >> > <[email protected]> wrote: >> >> On 01/02/2012 11:01 AM, Mark Knecht wrote: >> >>> >> >>> >> >>> I tell by knowing which files I want in @world. Everything in >> >>> world should be a package __I__ specifically want to use. >> >>> Everything in world (on my machines anyway) is something: >> >>> >> >>> 1) I'd call from the command line >> >>> 2) Need to write a little software myself, most specifically a >> >>> library 3) Aid in displaying things, like font packages >> >>> 4) Something required by Gentoo that I don't totally understand, >> >>> like a virtual package. >> >>> >> >>> I just look through every so often and make sure everything seems >> >>> to meet those sorts of requirements. When I find a library or >> >>> something else then: >> >>> >> >>> 1) I make sure I'm clean with emerge -DuN @world AND emerge -p >> >>> --depclean 2) I'll delete the questionable item >> >>> 3) I'll see what happens with the two commands in #1 >> >>> >> >>> To me it's pretty straight forward, but I'm also not bothered at >> >>> all by the idea that emerge package and emerge -u package do the >> >>> same thing. A machine that doesn't have a package, when updated, >> >>> should have the package and it should (IMO) be in world, but >> >>> that's just me. >> >> >> >> >> >> Fine for your home PC, doesn't cut it on servers. I have the >> >> following in one of my world files: >> >> >> >> dev-php/PEAR-Mail >> >> dev-php/PEAR-Mail_Mime >> >> dev-php/PEAR-PEAR >> >> dev-php/PEAR-Structures_Graph >> >> >> >> which of those do I want? At least one of them was installed to >> >> support a customer's custom PHP application. Maybe all of them >> >> were and they all belong in world. No one knows, this server is >> >> older than the current --update behavior. >> >> >> >> So which ones can I remove? >> >> >> >> Solutions involving time travel and/or losing customers will be >> >> disqualified. >> > >> > Make a backup copy of your world file. >> > >> > 1a. Remove those four lines. >> > 2a. emerge -p --depclean >> > 3a. Did any of those show up in the to-be-removed set? Add them >> > back. >> > >> > Alternately: >> > 1b. emerge -pev --tree --with-bdeps=y @world >> > 2b Find those packages in the output. The tree form of the display >> > will help you see if anything is depending on them. >> > 3b. If anything is depending on them, you should be able to safely >> > remove them from your world file. I'd follow up with the 1a, 2a, 3a >> > solution to be sure. >> >> It just occurred to me...in the future, you might be able to build >> ebuilds for managing customer requests, to ensure that dependencies on >> particular packages with USE flags and version requirements are met. >> >> I haven't built ebuilds myself yet, but it's on my TODO list. >> > > It's quite easy actually, doubly so if the package follows some sane > rational build process (like eg configure && make && make install). In > that case the ebuild is very small as the portage framework does all > the heavy lifting automagically. > > I'd move that TODO item higher up on the priority list if I were you, > you'll be glad you did :-)
Oh, I know. There's a bunch of things I want to add or fix. Even if that means taking some degree of ownership of them. -- :wq

