Alan McKinnon wrote:
On Mon, 02 Jan 2012 04:19:39 -0600
Dale<rdalek1...@gmail.com> wrote:
Alan McKinnon wrote:
The current behaviour is the correct and expected one - you told
portage to emerge something and it did. Why else would you emerge
something if you didn't intend it to become a permanent feature of
the system and part of world? This has always been the definition
of emerge - to make it permanent. If you want to emerge something
and NOT have portage put it in world then you must use the -1
option. Remember that emerging something is supposed to be a
permanent action that you (as root) intended to happen. If what you
intend is something more unusual like a mere test or "just to see
what would happen" then you must take additional steps (to make it
clear that you are doing something out of the ordinary). It's the
same logic as rm uses: the user told the computer to delete a file
so the computer did what it was told by it's master and deleted the
file. What else would you expect it to do? p.s. before I forget:
Happy New Year :-)
I didn't tell it to add it to the world file tho, I just told it to
update it hence the option --update. I update things all the time
but it doesn't mean I want them added to the world file. If I want
to emerge something and have it added to the world file, I leave the
-u option out of it, then it should be added because I requested it
to be emerged not updated.
Example:
emerge phonon
That means I want it emerged on my system and should be added to the
world file.
emerge -u phonon
That means I want to update/upgrade phonon. I don't want it in my
world file, just updated. This is the way it worked before --oneshot
came along. It is not the way it is now but it was that way a good
while back.
Happy New Year to you too. Mine are getting better. I lost my Dad
on New Years Day many years ago. It's not the same since.
The current behaviour seems more logical to me. You also seem to have
gotten used to the old way and can't see past it :-)
When Zac needs to define when something does, he needs to keep the big
picture in mind to get consistency. So what's the purpose of emerge?
Well, read the DESCRIPTION in the man page:
=====
DESCRIPTION
emerge is the definitive command-line interface to the
Portage system. It is primarily used for installing packages, and
emerge can automatically handle any dependencies that the desired
package has. emerge can also update the portage tree, making new and
updated packages available. emerge gracefully handles updating
installed packages to newer releases as well. It handles both source
and binary packages, and it can be used to create binary packages for
distribution.
=====
Obviously it must maintain system and the world file to do this. That
is the primary function, everything else is secondary. When emerge
merges something to the live system, it puts everything listed on the
command line into world; everything brought along automagically as
a dep does not go into world. Any changes to that purpose must have a
very good reason.
Emergeing something puts it in world, we have established that. But
this thing called an "update" does not imply that the packages are not
to go in world - an update is just an update, not "merge this but also
do something weird with world". Actually --update makes little sense
with just individual packages, if they are not already installed they
will be (which is exactly what you get by omitting --update). It does
make a lot of sense when used with system, world, and sets though.
So it seems to me Zac has removed a peculiar bahaviour and made it much
more consistent:
When you emerge packages explicitly by name, they go into world always.
The only way to do it differently is to use -1 which tells portage to
not put them in world.
Makes sense to me.
That's why I fixed the new way to be closer to what I am used to. I
added --oneshot to my make.conf. When I really need to add something to
world, I just use --select y -nav. To me, that is a lot of extra steps
to be "consistent". That works if it is already installed. For those
reading, leave off the -n if it is a fresh new install of a package.
The -n means to not compile it, just add it to world.
You see my dracut post? I *think* I got init thingy to work. O_O It
took me a couple months but . . . .
Dale
:-) :-)
--
I am only responsible for what I said ... Not for what you understood or how
you interpreted my words!
Miss the compile output? Hint:
EMERGE_DEFAULT_OPTS="--quiet-build=n"