Gentoo Archives: gentoo-user

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

Replies

Subject Author
Re: [gentoo-user] emerge --update behavior Michael Mol <mikemol@×××××.com>