1 |
On Mon, Jan 2, 2012 at 11:16 AM, Michael Mol <mikemol@×××××.com> wrote: |
2 |
> On Mon, Jan 2, 2012 at 11:09 AM, Michael Orlitzky <michael@××××××××.com> wrote: |
3 |
>> On 01/02/2012 11:01 AM, Mark Knecht wrote: |
4 |
>>> |
5 |
>>> |
6 |
>>> I tell by knowing which files I want in @world. Everything in world |
7 |
>>> should be a package __I__ specifically want to use. Everything in |
8 |
>>> world (on my machines anyway) is something: |
9 |
>>> |
10 |
>>> 1) I'd call from the command line |
11 |
>>> 2) Need to write a little software myself, most specifically a library |
12 |
>>> 3) Aid in displaying things, like font packages |
13 |
>>> 4) Something required by Gentoo that I don't totally understand, like |
14 |
>>> a virtual package. |
15 |
>>> |
16 |
>>> I just look through every so often and make sure everything seems to |
17 |
>>> meet those sorts of requirements. When I find a library or something |
18 |
>>> else then: |
19 |
>>> |
20 |
>>> 1) I make sure I'm clean with emerge -DuN @world AND emerge -p --depclean |
21 |
>>> 2) I'll delete the questionable item |
22 |
>>> 3) I'll see what happens with the two commands in #1 |
23 |
>>> |
24 |
>>> To me it's pretty straight forward, but I'm also not bothered at all |
25 |
>>> by the idea that emerge package and emerge -u package do the same |
26 |
>>> thing. A machine that doesn't have a package, when updated, should |
27 |
>>> have the package and it should (IMO) be in world, but that's just me. |
28 |
>> |
29 |
>> |
30 |
>> Fine for your home PC, doesn't cut it on servers. I have the following in |
31 |
>> one of my world files: |
32 |
>> |
33 |
>> dev-php/PEAR-Mail |
34 |
>> dev-php/PEAR-Mail_Mime |
35 |
>> dev-php/PEAR-PEAR |
36 |
>> dev-php/PEAR-Structures_Graph |
37 |
>> |
38 |
>> which of those do I want? At least one of them was installed to support a |
39 |
>> customer's custom PHP application. Maybe all of them were and they all |
40 |
>> belong in world. No one knows, this server is older than the current |
41 |
>> --update behavior. |
42 |
>> |
43 |
>> So which ones can I remove? |
44 |
>> |
45 |
>> Solutions involving time travel and/or losing customers will be |
46 |
>> disqualified. |
47 |
> |
48 |
> Make a backup copy of your world file. |
49 |
> |
50 |
> 1a. Remove those four lines. |
51 |
> 2a. emerge -p --depclean |
52 |
> 3a. Did any of those show up in the to-be-removed set? Add them back. |
53 |
> |
54 |
> Alternately: |
55 |
> 1b. emerge -pev --tree --with-bdeps=y @world |
56 |
> 2b Find those packages in the output. The tree form of the display |
57 |
> will help you see if anything is depending on them. |
58 |
> 3b. If anything is depending on them, you should be able to safely |
59 |
> remove them from your world file. I'd follow up with the 1a, 2a, 3a |
60 |
> solution to be sure. |
61 |
|
62 |
It just occurred to me...in the future, you might be able to build |
63 |
ebuilds for managing customer requests, to ensure that dependencies on |
64 |
particular packages with USE flags and version requirements are met. |
65 |
|
66 |
I haven't built ebuilds myself yet, but it's on my TODO list. |
67 |
|
68 |
-- |
69 |
:wq |