Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
--depclean wants to remove nano!
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
angry_vincent
n00b
n00b


Joined: 21 Feb 2010
Posts: 30

PostPosted: Sat Jul 09, 2011 3:48 am    Post subject: Reply with quote

The feature probably is good but it's not about having alternative editor. nano and less was in stage3 from beginning, nano is easiest for new-comers(as rh1 stated before, many gentoo documentation pages mentioned nano), imagine a confusion about having emacs? So, stage3 MUST provide some basic editor by default. btw, that's why less is added into portage dependencies because of that new feature (it's a default editor for etc-update and dispatch-conf).
_________________
http://www.funtoo.org
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 7747
Location: Somewhere over Atlanta, Georgia

PostPosted: Sat Jul 09, 2011 9:34 am    Post subject: Reply with quote

Note that nobody is suggesting removing nano (or less) from the stage3, something that would be a singularly bad idea, in my opinion.

- John
_________________
This space intentionally left blank.
Back to top
View user's profile Send private message
while true
Guru
Guru


Joined: 07 Apr 2010
Posts: 346
Location: Ljubljana, Slovenia

PostPosted: Sat Jul 09, 2011 7:01 pm    Post subject: Reply with quote

ok, ok, but...

as newbie as I am, do I remove it or not?
I use vim, a lot, but not nano. I do not mind having nano on my system.

From what I read, I understood that I have to set vim as system editor? Or not?
If I remove nano, will my gentoo work?
Or how to tell depclean to leave it be?

Thank you
_________________
Kind regards, Goran Mitic

alive
while true
kick ass
Back to top
View user's profile Send private message
rh1
Guru
Guru


Joined: 10 Apr 2010
Posts: 501

PostPosted: Sun Jul 10, 2011 2:54 am    Post subject: Reply with quote

Quote:
If I remove nano, will my gentoo work?
Or how to tell depclean to leave it be?

Gentoo doesn't "need" nano but if vim breaks, you'll probably wish you had it installed. It barely takes up any room and doesn't depend on much. In order to keep just run 'emerge --noreplace nano' which will add it to your world file.
Back to top
View user's profile Send private message
while true
Guru
Guru


Joined: 07 Apr 2010
Posts: 346
Location: Ljubljana, Slovenia

PostPosted: Sun Jul 10, 2011 7:51 am    Post subject: Reply with quote

Got it, thank you rh1!
_________________
Kind regards, Goran Mitic

alive
while true
kick ass
Back to top
View user's profile Send private message
pigeon768
l33t
l33t


Joined: 02 Jan 2006
Posts: 669

PostPosted: Mon Jul 11, 2011 8:16 am    Post subject: Reply with quote

I think the best, simplest solution is to give virtual/editor a 'nano' USE flag which is enabled by default, that would make virtual/editor depend on app-editors/nano. That way, a user can chose to remove nano from the system which having to jump through hoops, but a less experienced user won't accidentally nuke their only CLI editor when VIM gets broken by X related borkage or something, and we don't have --depclean scaring people.

Same for virtual/pager and less.
_________________
My political bias.
Back to top
View user's profile Send private message
sera
Developer
Developer


Joined: 29 Feb 2008
Posts: 992
Location: CET

PostPosted: Mon Jul 11, 2011 9:10 am    Post subject: Reply with quote

The point is nano is a harmless example and --depclean was dangerous already before that.

You can even construct an example where portage would remove itself. ;)

The irony is that an EAPI 4 feature helping to reduce installed packages in save way was dropped in last minute as the portage implementation thereof wasn't ready.


--depclean tells you to be very cautious when running it. It really means what it says.
Back to top
View user's profile Send private message
Sadako
Advocate
Advocate


Joined: 05 Aug 2004
Posts: 3753
Location: sleeping in the bathtub

PostPosted: Mon Jul 11, 2011 11:27 am    Post subject: Reply with quote

sera wrote:
--depclean tells you to be very cautious when running it. It really means what it says.
It also gives you the following message, which tells you exactly what to do to work around this very issue;
Code:
 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.

_________________
"You have to invite me in"
Back to top
View user's profile Send private message
theBlackDragon
l33t
l33t


Joined: 23 Nov 2002
Posts: 757
Location: Gent (Belgium)

PostPosted: Mon Jul 11, 2011 12:16 pm    Post subject: Reply with quote

Sadako wrote:
sera wrote:
--depclean tells you to be very cautious when running it. It really means what it says.
It also gives you the following message, which tells you exactly what to do to work around this very issue;
Code:
 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.


Being able to work around broken behavior doesn't make it any less broken, a lot of things will break when nano goes and saying "depclean has always been dangerous" is no excuse in this instance as it refuses to unmerge other system packages that are in use (as nano will be for 99% of the people that will get this message):

Code:
 * Not unmerging package dev-lang/python-2.6.6-r1 since there is no valid
 * reason for Portage to unmerge currently used Python interpreter.


but there is for the currently used editor (since there is no way to pick another system wide default editor)?

Putting nano in world by default would do the trick or adding a eselect setting for $EDITOR (with nano as default). The few people that want to be rid of it can, and the rest of the world can just go on as they have been for the past 10years.

Bottomline: the current behavior is broken.
_________________
Fvwm|Fvwm forum
Back to top
View user's profile Send private message
Sadako
Advocate
Advocate


Joined: 05 Aug 2004
Posts: 3753
Location: sleeping in the bathtub

PostPosted: Mon Jul 11, 2011 12:37 pm    Post subject: Reply with quote

theBlackDragon wrote:
Being able to work around broken behavior doesn't make it any less broken, a lot of things will break when nano goes and saying "depclean has always been dangerous" is no excuse in this instance as it refuses to unmerge other system packages that are in use (as nano will be for 99% of the people that will get this message):

Code:
 * Not unmerging package dev-lang/python-2.6.6-r1 since there is no valid
 * reason for Portage to unmerge currently used Python interpreter.


but there is for the currently used editor (since there is no way to pick another system wide default editor)?

Putting nano in world by default would do the trick or adding a eselect setting for $EDITOR (with nano as default). The few people that want to be rid of it can, and the rest of the world can just go on as they have been for the past 10years.

Bottomline: the current behavior is broken.
I think your definition of "broken" and mine are rather different, nano will only be removed if the user chooses to install a compatible console text editor, something which is not likely to be pulled in incidentally.

The only thing which could be broken by this is the current value of the EDITOR environment variable itself, and if this is broken by the removal of nano it'll be because another editor which can satisfy this variable has been installed by the user, and anyone who uses software depending on the editor variable should be more than capable of setting it to the new software, and if nano is what they really wanted but (foolishly) let depclean remove it anyways, there's nothing stopping them from simply re-emerging it.
Unlike your python example, unmerging nano will in no way prevent the re-emerging of it...

Bottomline: the current behavior is a change from what we're used to and is less than ideal, but whether or not it can be considered "broken" is at the very least debatable, and I for one wouldn't consider it so.
_________________
"You have to invite me in"
Back to top
View user's profile Send private message
firephoto
Veteran
Veteran


Joined: 29 Oct 2003
Posts: 1560
Location: +48° 5' 23.40", -119° 48' 30.00"

PostPosted: Fri Jul 22, 2011 11:15 pm    Post subject: Reply with quote

Recently noticing this because sys-apps/ed was installed as a dep for a net-misc/curl update that seems to have some .ed patches(?). . .

Nano is my only editor (and anyone else that has never installed an editor) so it seem a bit dumb to be warning me about a removing a package that's in my system profile. It would be like depclean removing something in the world file because I had two packages that did the same thing. It's there for a reason, let those who install their own virtual/editor remove the unused editor or unused anything duplicated that is a virtual dep.

System profile packages need protection from automated tasks like depclean instead of just a shiny warning about it.
_________________
#gentoo-kde on freenode
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 7747
Location: Somewhere over Atlanta, Georgia

PostPosted: Sat Jul 23, 2011 12:08 am    Post subject: Reply with quote

"Any problem can be solved by adding an additional layer of abstraction." :wink:
Code:
emerge --nodeps nano
will prevent future removal attempts. You need to read the whole thread to understand what's going on, but that's your solution.

- John
_________________
This space intentionally left blank.
Back to top
View user's profile Send private message
firephoto
Veteran
Veteran


Joined: 29 Oct 2003
Posts: 1560
Location: +48° 5' 23.40", -119° 48' 30.00"

PostPosted: Sat Jul 23, 2011 1:08 am    Post subject: Reply with quote

John R. Graham wrote:
"Any problem can be solved by adding an additional layer of abstraction." :wink:
Code:
emerge --nodeps nano
will prevent future removal attempts. You need to read the whole thread to understand what's going on, but that's your solution.

- John

No, I know exactly what is going on, the system editor is being removed even though it's known to be installed by the system and not the user. I don't care how many people don't like nano or if there is a simple user solution to make nano stick.

A system tool is being removed by a another system tool used for routine maintenance, and in my case because of a non-user-installed package that just so happens to rank higher because it it is a package dependency.

This a bug and adding nano to the world file is just a hack but apparently acceptable by those who have a say and likely use other editors which waste average users time with complexity that is not needed for 99% of normal system edits.
_________________
#gentoo-kde on freenode
Back to top
View user's profile Send private message
Ant P.
Advocate
Advocate


Joined: 18 Apr 2009
Posts: 2337
Location: UK

PostPosted: Sat Jul 23, 2011 1:29 am    Post subject: Reply with quote

Alternatively you could replace Portage with Paludis, which is sane: ;)
Code:
# cave resolve -1x nano
[...]

# grep nano /var/db/pkg/world || echo n
n

# cave uninstall nano
Done: 1714 steps               

These are the actions I will take, in order:

<   app-editors/nano 2.3.1:0::installed
    Reasons: target

Total: 1 uninstalls

I cannot proceed without being permitted to do the following:

X   virtual/editor 0:0::installed
    Will be broken by uninstalls:
    Reasons: dependent upon app-editors/nano-2.3.1:0::installed (RDEPEND)
    Cannot proceed without: --uninstalls-may-break or --remove-if-dependent
Back to top
View user's profile Send private message
cwr
Veteran
Veteran


Joined: 17 Dec 2005
Posts: 1685

PostPosted: Sat Nov 19, 2011 11:13 am    Post subject: Reply with quote

Well, if nano is to be removed from the stage 3 then the installation docs need
to be rewritten in terms of whatever is the new default editor - or all editors,
if there's no default. Any devs willing to volunteer? (It comes under the
"you broke it, you fix it" rule.)

Will
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 7747
Location: Somewhere over Atlanta, Georgia

PostPosted: Sat Nov 19, 2011 12:09 pm    Post subject: Reply with quote

As far as the Stage3 goes, nano isn't going anywhere. It takes a thorough read of this thread to see what's going on.

The summary is that the system set now contains some virtuals, in particular virtual/editor and virtual/pager, in place of some explicit packages, respectively app-editors/nano and sys-apps/less. Now, nano and less are installed in the Stage3 tarball (thus the dependencies of the virtuals are met) but not part of the world set. For dependency resolution, Portage's prefers dependencies that are part of the world set so, for instance, as soon as you make another editor that will satisfy virtual/editor part of your world set, nano becomes eligible for deletion by "emerge --depclean". If you want to keep it, make it part of your world set:
Code:
emerge --noreplace nano
That's what's going on. There's been a fair amount of discussion: some people like the new behavior (I do); some don't. But the bottom line (I believe) is that this small paradigm shift has no real detrimental effect and, especially since it's behaving as intended, hasn't broken anything.

- John
_________________
This space intentionally left blank.
Back to top
View user's profile Send private message
firephoto
Veteran
Veteran


Joined: 29 Oct 2003
Posts: 1560
Location: +48° 5' 23.40", -119° 48' 30.00"

PostPosted: Sat Nov 19, 2011 4:07 pm    Post subject: Reply with quote

Probably already said but I know the issue I had on systems was that something else that qualified as an editor was pulled in as a direct dependency and this change meant that even if nano was the virtual/editor it no longer mattered because that relationship as "the one" isn't static.

There's also something to say if you're going to install a system with one editor then that should exist till removed and not swing to the side of the very advanced people that want to use a very advanced editor that is pointless for 99% of system edits. ;) I'll say it was a clever way to work around the opposing views too by making this an issue of virtuals and dependencies.
_________________
#gentoo-kde on freenode
Back to top
View user's profile Send private message
derk
Apprentice
Apprentice


Joined: 10 Mar 2003
Posts: 277
Location: St Thomas Ontario

PostPosted: Sat Nov 19, 2011 6:46 pm    Post subject: Reply with quote

FYI actually the problem is that several packages depend on sys-apps/ed which was not part of the intial system set .. it also provides virtual/editor-0 as does nano

recent versions of sys-devel/patch and net-misc/curl pull in sys-apps/ed which then makes nano redundant ..

thus we have some fun ...
Back to top
View user's profile Send private message
cwr
Veteran
Veteran


Joined: 17 Dec 2005
Posts: 1685

PostPosted: Sun Nov 20, 2011 3:03 pm    Post subject: Reply with quote

derk wrote:
FYI actually the problem is that several packages depend on sys-apps/ed which was not part of the intial system set .. it also provides virtual/editor-0 as does nano

recent versions of sys-devel/patch and net-misc/curl pull in sys-apps/ed which then makes nano redundant ..

thus we have some fun ...


Is that "ed" as in "Unix ed". Damn, I wish they'd made it teco - the original YAFIYGI editor. _That_ would have made installing
Gentoo an adventure ...

Will
Back to top
View user's profile Send private message
Dark Shoyu
n00b
n00b


Joined: 05 Nov 2007
Posts: 45

PostPosted: Wed Jan 04, 2012 9:19 pm    Post subject: Reply with quote

Wouldn't it be an interesting feature to put some USE flag options in those virtual packages? I mean, I could select my favorite editor in an easy way, with a simple USE="emacs vim -nano". It could happen the same with pager with USE="less -more"

Cheers,

Rafael
Back to top
View user's profile Send private message
archenroot
n00b
n00b


Joined: 13 Dec 2011
Posts: 32

PostPosted: Sun Dec 23, 2012 10:52 pm    Post subject: Reply with quote

hm, adding this into USE variable could be the way. But why then keep the>
Code:
emerge --noreplace nano

command?

Ladislav
_________________
Emperor wants to control outer space Yoda wants to explore inner space that's the fundamental difference between good and bad sides of the Force
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2288
Location: Canada

PostPosted: Sat Nov 23, 2013 5:30 am    Post subject: Reply with quote

I think that every distribution must have a quaranteed set of basic tools. Basic editor (one may argue which one, nano is as good as any for the role) is one
of basic tools. This, I think, is a role of @system and it is not a place for virtuals.
Back to top
View user's profile Send private message
666threesixes666
Veteran
Veteran


Joined: 31 May 2011
Posts: 1237
Location: 42.68n 85.41w

PostPosted: Sat Nov 23, 2013 7:36 am    Post subject: Reply with quote

get rid of nano and install vigor instead. pico was always better than nano anyways. :twisted:
_________________
cat /etc/*-release
Funtoo Linux - baselayout 2.2.0
consider this warning no. 1
https://wiki.gentoo.org/index.php?title=Special:Contributions/666threesixes666&offset=&limit=500&target=666threesixes666
Back to top
View user's profile Send private message
modnaruved
Tux's lil' helper
Tux's lil' helper


Joined: 21 Mar 2011
Posts: 79

PostPosted: Sat Nov 23, 2013 11:20 am    Post subject: Reply with quote

John R. Graham wrote:
"Any problem can be solved by adding an additional layer of abstraction." :wink:
Code:
emerge --nodeps nano
will prevent future removal attempts. You need to read the whole thread to understand what's going on, but that's your solution.

- John

Just add more abstraction levels and you'll miss it... :)

I saw request too about unmerge nano in fresh installation of gentoo (approximately year back) - just slaving for request for sport and install again nano. All resolved ok.

I think this cant help newbie users and add additional nervous and hands tremor... Its so good for adrenaline.
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2288
Location: Canada

PostPosted: Sun Dec 01, 2013 6:28 am    Post subject: Reply with quote

John R. Graham wrote:
"Any problem can be solved by adding an additional layer of abstraction." :wink:
Code:
emerge --nodeps nano
will prevent future removal attempts. You need to read the whole thread to understand what's going on, but that's your solution.

- John


Why have 'system' set at all then ? Just ship a default world file and be done with it ... that is me being a bit sarcastic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum