FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 01-24-2010, 08:15 PM
Mike Frysinger
 
Default emerge -C eselect-python disaster

On Sunday 24 January 2010 00:12:39 Benny Pedersen wrote:
> it removes python-wrapper and this remove python link from
> /usr/bin/python linked to /usr/bin/python-wrapper so all portage does
> not work after this, but i solved it with a quickpkg from another host

sounds a bug that should be filed so it can be fixed
-mike
 
Old 01-24-2010, 10:06 PM
Richard Freeman
 
Default emerge -C eselect-python disaster

On 01/24/2010 01:20 PM, Ben de Groot wrote:

2010/1/24 Petteri Ršty<betelgeuse@gentoo.org>:

On 01/24/2010 03:02 PM, Ben de Groot wrote:
Why should we keep redundant information in the list?


How is that redundant?


Well, I doubt we'll get away from python in the system set anytime soon,
but imagine the results of having a policy that anything that is a
dependency of something in system needs to be in system.


Now the system set is three times larger than it is now. There is also
no easy way to tell whether something is in the set simply because it is
a dependency. Then in the future if something is no longer a dependency
it will be installed on every gentoo system unnecessarily.


Sure, we can clean things up every once in a while, and maybe even
automate that, but what would be the point.


The whole reason we have dependency management in our package managers
is so that you don't have to worry about details like what package
requires what. Package managers shouldn't make it trivial to
accidentally remove a dependency in an unsafe manner


Rich
 
Old 01-24-2010, 11:02 PM
Dale
 
Default emerge -C eselect-python disaster

Petteri Ršty wrote:

On 01/24/2010 08:20 PM, Ben de Groot wrote:


2010/1/24 Petteri Ršty <betelgeuse@gentoo.org>:


On 01/24/2010 03:02 PM, Ben de Groot wrote:


You can't have functioning package management without the hard
dependencies it requires. So both portage and python should be in the
system set.


Why should we keep redundant information in the list?


How is that redundant?

Cheers,



The problem the original poster wanted to solve is having a warning when
trying to unmerge something in "system". The best way here is to file a
Portage enhancement request and not pollute the profile system set
marking. The purpose of the packages file is to describe what needs to
be installed for a minimal system to work so it doesn't make sense to
pollute it with implementation details.

Regards,
Petteri




Since unmerging python results in a broken system, I'm not sure how this
"pollutes" anything. The system set is to maintain a working and
bootable system that can install packages and portage requires python to
work. What good is a Gentoo system without a working package manager?


Is there something that I am missing here? For me, system should
include the things needed for booting and for the package manager to
work. If it can't contain python then portage has a problem. As I
pointed out in another reply, portage won't let you unmerge itself but
it will let you unmerge a package that will render portage useless. If
I can unmerge python then portage should just go ahead and let me
unmerge portage itself too. At least it is easier to repair removing
portage.


Dale

:-) :-)
 
Old 01-25-2010, 12:53 AM
Jacob Godserv
 
Default emerge -C eselect-python disaster

On Sun, Jan 24, 2010 at 19:02, Dale <rdalek1967@gmail.com> wrote:
> Since unmerging python results in a broken system, I'm not sure how this
> "pollutes" anything. ¬*The system set is to maintain a working and bootable
> system that can install packages and portage requires python to work. ¬*What
> good is a Gentoo system without a working package manager?

There are two issues here:

* Avoiding hacks for deciding which packages are needed for system
* Helping users avoid the dangerous mistake of crippling the package manager.

Here's how I see this break down. To avoid crippling the package
manager, the user must be warned of an action that will cripple the
package manager. If removing python cripples the package manager, then
warn the user. It's quite simple. Adding python to the system set is
messy, as pointed out, but somehow there must be a way to determine
that python is needed by the package manager.

The last remaining option (without adding any new features) is to
track on which packages are required by the system set and warning
about removing any packages required by any package in the system set.
This seems like a good solution.


I could also argue that using "emerge -C" period is dangerous, as some
here have mentioned. As far as I can tell, the best way to remove a
package is to edit the package out of /var/lib/portage/world file and
then letting portage safely remove packages via "--depclean". (This is
outside the current topic, of course, so if anyone wants to seriously
propose this it should be re-posted under a new subject heading.)

--
Jacob

"For then there will be great distress, unequaled
from the beginning of the world until now ‚ÄĒ and never
to be equaled again. If those days had not been cut
short, no one would survive, but for the sake of the
elect those days will be shortened."

Are you ready?
 
Old 01-25-2010, 01:22 AM
Richard Freeman
 
Default emerge -C eselect-python disaster

On 01/24/2010 07:02 PM, Dale wrote:

Is there something that I am missing here? For me, system should
include the things needed for booting and for the package manager to
work.


It should include the programs directly involved in booting, and the
package manager. I'm not sure that it should contain their dependencies
- since that information can be derived from the packages themselves.


As I pointed out in another reply, portage won't let you unmerge
itself but it will let you unmerge a package that will render portage
useless.


Well, it shouldn't allow you to unmerge anything that will render
ANYTHING useless without some explicit instruction to do so.

The documentation does warn of this behavior:

--unmerge (-C)
WARNING: This action can remove important packages! Removes all
matching packages. This does no checking of dependencies, so it

may remove packages necessary for the proper operation of your
system. Its arguments can be atoms or ebuilds. For a dependency
aware version of --unmerge, use --depclean or --prune.

If you use --depclean to remove your package then you're safe.

Note - the command line option names are not well-chosen here. -C
should really be --unmerge-without-checking-dependencies-unsafe or some
other obnoxious option, and --depclean should be the easy to type parameter.
 
Old 01-25-2010, 01:28 AM
Dale
 
Default emerge -C eselect-python disaster

Jacob Godserv wrote:

On Sun, Jan 24, 2010 at 19:02, Dale <rdalek1967@gmail.com> wrote:


Since unmerging python results in a broken system, I'm not sure how this
"pollutes" anything. The system set is to maintain a working and bootable
system that can install packages and portage requires python to work. What
good is a Gentoo system without a working package manager?



There are two issues here:

* Avoiding hacks for deciding which packages are needed for system
* Helping users avoid the dangerous mistake of crippling the package manager.

Here's how I see this break down. To avoid crippling the package
manager, the user must be warned of an action that will cripple the
package manager. If removing python cripples the package manager, then
warn the user. It's quite simple. Adding python to the system set is
messy, as pointed out, but somehow there must be a way to determine
that python is needed by the package manager.

The last remaining option (without adding any new features) is to
track on which packages are required by the system set and warning
about removing any packages required by any package in the system set.
This seems like a good solution.


I could also argue that using "emerge -C" period is dangerous, as some
here have mentioned. As far as I can tell, the best way to remove a
package is to edit the package out of /var/lib/portage/world file and
then letting portage safely remove packages via "--depclean". (This is
outside the current topic, of course, so if anyone wants to seriously
propose this it should be re-posted under a new subject heading.)




Well put. I would agree that a simple warning should be given before
removing a system package or a package that system must have, especially
portage.

Maybe what portage needs is a reverse -n feature. Instead of adding
something to the world file, it removes a unwanted package from the
world file and then the user could use --depclean to remove that package
and its no longer needed friends. I assume this is doable.


Dale

:-) :-)
 
Old 01-25-2010, 04:03 AM
Dale
 
Default emerge -C eselect-python disaster

Richard Freeman wrote:

On 01/24/2010 07:02 PM, Dale wrote:

Is there something that I am missing here? For me, system should
include the things needed for booting and for the package manager to
work.


It should include the programs directly involved in booting, and the
package manager. I'm not sure that it should contain their dependencies
- since that information can be derived from the packages themselves.


I see your point but if removing python renders portage useless, then
portage is not any good either. So, if portage will not warn against
removing python, it may as well not warn about removing portage either.
The system needs both to work.





As I pointed out in another reply, portage won't let you unmerge
itself but it will let you unmerge a package that will render portage
useless.


Well, it shouldn't allow you to unmerge anything that will render
ANYTHING useless without some explicit instruction to do so.

The documentation does warn of this behavior:

--unmerge (-C)
WARNING: This action can remove important packages! Removes all
matching packages. This does no checking of dependencies, so it

may remove packages necessary for the proper operation of your
system. Its arguments can be atoms or ebuilds. For a dependency
aware version of --unmerge, use --depclean or --prune.

If you use --depclean to remove your package then you're safe.

Note - the command line option names are not well-chosen here. -C
should really be --unmerge-without-checking-dependencies-unsafe or
some other obnoxious option, and --depclean should be the easy to type
parameter.





I agree that since --depclean has improved, a LOT, that it is the safest
way to remove a package. Maybe that reverse -n feature may be
considered. Reserve the -C for someone that knows what not to remove.


Dale

:-) :-)
 
Old 01-25-2010, 08:25 AM
Petteri Ršty
 
Default emerge -C eselect-python disaster

On 01/25/2010 02:02 AM, Dale wrote:

> Is there something that I am missing here? For me, system should
> include the things needed for booting and for the package manager to
> work. If it can't contain python then portage has a problem. As I
> pointed out in another reply, portage won't let you unmerge itself but
> it will let you unmerge a package that will render portage useless. If
> I can unmerge python then portage should just go ahead and let me
> unmerge portage itself too. At least it is easier to repair removing
> portage.
> Dale
>

Again let's try again so maybe you understand the issues here. You can
see the contents of the system set like this:

emerge --nodeps -epv @system (on Portage 2.2)

It doesn't have eselect-python:

pena portage-trunk # emerge --nodeps -epv @system | grep eselect-python
pena portage-trunk #

You must differentiate between the @system set and what you think of as
"system packages". The set should for maintenance reasons reflect it's
true purpose. Again you can file a bug for Portage to warn about
removing it's deps and Portage maintainers can see if it's feasibly doable.

Another thing we should consider is writing a news item educating users
how to use Portage properly these days. At least ACCEPT_LICENSE and
--depclean need attention.

Regards,
Petteri
 
Old 01-25-2010, 08:26 AM
Petteri Ršty
 
Default emerge -C eselect-python disaster

On 01/25/2010 04:28 AM, Dale wrote:
>
> Well put. I would agree that a simple warning should be given before
> removing a system package or a package that system must have, especially
> portage.
> Maybe what portage needs is a reverse -n feature. Instead of adding
> something to the world file, it removes a unwanted package from the
> world file and then the user could use --depclean to remove that package
> and its no longer needed friends. I assume this is doable.
>

You can already use --depclean for this.

Regards,
Petteri
 
Old 01-25-2010, 10:02 AM
Dale
 
Default emerge -C eselect-python disaster

Petteri Ršty wrote:

On 01/25/2010 04:28 AM, Dale wrote:


Well put. I would agree that a simple warning should be given before
removing a system package or a package that system must have, especially
portage.
Maybe what portage needs is a reverse -n feature. Instead of adding
something to the world file, it removes a unwanted package from the
world file and then the user could use --depclean to remove that package
and its no longer needed friends. I assume this is doable.




You can already use --depclean for this.

Regards,
Petteri




So there is already a option that is the reverse of -n ?

Dale

:-) :-)
 

Thread Tools




All times are GMT. The time now is 07:05 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org