Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Discussion & Documentation Gentoo Chat
  • Search

Portage Feature Request (If it doesn't exist)

Opinions, ideas and thoughts about Gentoo. Anything and everything about Gentoo except support questions.
Post Reply
  • Print view
Advanced search
22 posts • Page 1 of 1
Author
Message
Centinul
Apprentice
Apprentice
Posts: 232
Joined: Thu Jul 28, 2005 10:56 pm

Portage Feature Request (If it doesn't exist)

  • Quote

Post by Centinul » Wed May 10, 2006 6:37 pm

Sometimes when you run an emerge --sync and emerge -u world there is a package in a large list of package that you DO NOT want installed. Personally I hate having to type in emerge -u package1 package2 package3 etc. to avoid emerging that one package that I don't want. Is there a feature already built into emerge that would allow me to do this? I read man emerge and I didn't see any options for that?

If not then my suggest is to add an "exclude" feature. I'm not sure how complicated it would be to implement because you would have to check the exclude arguments to see if they are dependencies for other packages in the emerge. So it could look something along the lines of

emerge --exclude gentoo-sources -u world

Just a thought.. Give me your two cents :)
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Wed May 10, 2006 6:43 pm

You can still use /etc/portage/package.mask, there is sthg in the wiki for that, I think
Top
Centinul
Apprentice
Apprentice
Posts: 232
Joined: Thu Jul 28, 2005 10:56 pm

  • Quote

Post by Centinul » Wed May 10, 2006 6:48 pm

I realize that I could use that file, but say for a one time use it would be more convenient to have the command and use it via the command line then to add the package to package.mask and then remove it after.
Top
nlindblad
Guru
Guru
User avatar
Posts: 476
Joined: Thu Jun 30, 2005 1:07 pm
Location: Lund, Sweden
Contact:
Contact nlindblad
Website

  • Quote

Post by nlindblad » Wed May 10, 2006 8:08 pm

Centinul wrote:I realize that I could use that file, but say for a one time use it would be more convenient to have the command and use it via the command line then to add the package to package.mask and then remove it after.
Agreed, that would be a very handy feature indeed.
Please provide detailed tracebacks and your emerge --info when posting compile errors.
Add [SOLVED] to the thread's topic if you feel that your question has been anwered or your problem is solved.
Top
sternklang
Veteran
Veteran
User avatar
Posts: 1641
Joined: Sat Sep 10, 2005 1:22 pm
Location: Somewhere in time and space

  • Quote

Post by sternklang » Wed May 10, 2006 8:28 pm

Yes, that would be a great feature. Especially running an ~arch system, there are often frequent patch updates to packages I don't use a lot, so if I can put off upgrading something as large as kdelibs or gecko-sdk it would be a great time-saver.
Top
Centinul
Apprentice
Apprentice
Posts: 232
Joined: Thu Jul 28, 2005 10:56 pm

  • Quote

Post by Centinul » Wed May 10, 2006 10:39 pm

If I really wanted to I think I could write a wrapper to go around the emerge command but I don't think that is the correct solution to this feature request. Ideally I think this should be built into the emerge script. Unfortunately I don't know enough about portage/python to change the emerge script. Unless someone can direct me to a source where I can learn how it works. Either way, this would be a nice feature.

::EDIT:: Interestingly enough I found this: Pick Your Emerge (PYE). It's a wrapper script for emerge.
Top
baeksu
l33t
l33t
User avatar
Posts: 609
Joined: Sun Sep 26, 2004 11:03 am
Location: Seoul, Korea

  • Quote

Post by baeksu » Thu May 11, 2006 1:10 am

Personally, I think this kind of complexity is much easier accomplished through GUIs, where you can have checkboxes to choose which packages to update or not. There are a couple of GUIs available already (porthole and kuroo) that I'm planning on using in the near future for package management (just have to wait until some of my ~x86 packages are marked stable).

Maybe a solution for terminals would be to write a curses-fronted for portage? This could provide much of the functionality that GUIs offer (i.e. menus, lists etc). Of course the old command line functionality would always be there, so this wouldn't really cut down anyone's choices.
Gnome:
1. A legendary being.
2. A never ending quest to make unix friendly to people who don't want unix and excruciating for those that do.
Top
andrewd18
Guru
Guru
User avatar
Posts: 364
Joined: Sun Apr 11, 2004 4:21 pm
Location: Wisconsin, USA

  • Quote

Post by andrewd18 » Thu May 11, 2006 4:41 am

baeksu wrote:Maybe a solution for terminals would be to write a curses-fronted for portage? This could provide much of the functionality that GUIs offer (i.e. menus, lists etc). Of course the old command line functionality would always be there, so this wouldn't really cut down anyone's choices.
I still prefer the idea of --exclude <pkgname> over a GUI. It's just adding more clicks, either by mouse or by keyboard. It'd take about as much time to start the ncurses-or-other-GUI, select all, exclude the one or two, then run emerge as it would to add the one package to package.mask.

~~ Andrew D.
Keep Your Toolchain Stable! - emwrap.sh

There's no place like ::1
Top
nlindblad
Guru
Guru
User avatar
Posts: 476
Joined: Thu Jun 30, 2005 1:07 pm
Location: Lund, Sweden
Contact:
Contact nlindblad
Website

  • Quote

Post by nlindblad » Thu May 11, 2006 8:04 am

baeksu wrote:Personally, I think this kind of complexity is much easier accomplished through GUIs, where you can have checkboxes to choose which packages to update or not. There are a couple of GUIs available already (porthole and kuroo) that I'm planning on using in the near future for package management (just have to wait until some of my ~x86 packages are marked stable).

Maybe a solution for terminals would be to write a curses-fronted for portage? This could provide much of the functionality that GUIs offer (i.e. menus, lists etc). Of course the old command line functionality would always be there, so this wouldn't really cut down anyone's choices.
Good point, while we're at it, is there any ncurses front-end available? If not, it would be much fun to write one, with features like this in mind...
Please provide detailed tracebacks and your emerge --info when posting compile errors.
Add [SOLVED] to the thread's topic if you feel that your question has been anwered or your problem is solved.
Top
damkor
n00b
n00b
Posts: 15
Joined: Mon Nov 21, 2005 5:49 pm

  • Quote

Post by damkor » Thu May 11, 2006 8:24 am

I agree with andrewd18. I don't even have any GUI installed, since I prefer to use the command line.
However, I suppose that any --exclude <pkgname> would lead to an error. Let me explain this.
emerge -u world installs only what is needed according to the programs in 'world' and the USE variable.

If you exclude a package without changing the USE variables and without unmerging the program that
depends on it, emerge should report an error, right?

As far as I understand, this option would be similar to emerging as usually, cancelling the installation
just before that specific package is emerged, and then running emerge --resume --skipfirst.

Maybe this should be done with a new program to be inserted in gentoolkit. It could even be a flag for
equery, like so:
equery depends <packagename> --update <world_or_other_package_name>
and it would report the package tree and USE values that lead to the installation of <packagename>,
when trying to update <world_or_other_package_name>, if that dependency exists.

Then you can do what is necessary to install only what you want.
Top
at240
l33t
l33t
Posts: 603
Joined: Fri Aug 12, 2005 2:54 pm
Location: UK

  • Quote

Post by at240 » Thu May 11, 2006 8:35 am

Bugzilla is the place to request enhancements, once you've checked that no one has asked for this before.
damkor wrote:However, I suppose that any --exclude <pkgname> would lead to an error.
Not if nothing depended on the package being excluded, which is possible in an emerge -u world.
Top
damkor
n00b
n00b
Posts: 15
Joined: Mon Nov 21, 2005 5:49 pm

  • Quote

Post by damkor » Thu May 11, 2006 8:37 am

How is it possible if the package was not installed and any program depended on it?
Top
damkor
n00b
n00b
Posts: 15
Joined: Mon Nov 21, 2005 5:49 pm

  • Quote

Post by damkor » Thu May 11, 2006 8:41 am

> Bugzilla is the place to request enhancements, once you've checked that no one has asked for this before.
Yes, but I suppose that asking some Gentoo users before requesting is better that
asking directly for this feature through bugzilla. Some brainstorming may show what
the Gentoo users prefer. Maybe someone posts a reply with a better idea.
Top
at240
l33t
l33t
Posts: 603
Joined: Fri Aug 12, 2005 2:54 pm
Location: UK

  • Quote

Post by at240 » Thu May 11, 2006 11:13 am

damkor wrote:How is it possible if the package was not installed and any program depended on it?
Well, if something needs the package, then, yes, excluding it would not work.

But I don't think it's correct to say that "any" such exclusion would lead to an error. My understanding of the original poster is that he wanted to have a way of stopping portage updating particular packages, without doing that via the files in /etc/portage/. So, say he syncs and there are new gentoo-sources available; an emerge -u world will install them and upgrade all other explicitly installed apps. If he wants to exclude the kernel sources from that emerge, because perhaps he is on a dial-up connection and they take ages to download, or maybe he's short on disk space, then he wants to be able to do that by just specifying that in the emerge -u world command, rather than having to manually emerge -u every other package (which can be a real pain if there's loads to update).

It is possible that some packages can be excluded in this way----because an update can be available but not required as a dependency by anything else.

BTW, I was just pointing out the bugzilla thing as advice, not as a reprimand. :)
Top
John R. Graham
Administrator
Administrator
User avatar
Posts: 10894
Joined: Tue Mar 08, 2005 3:39 pm
Location: Somewhere over Winder, Georgia, USA

  • Quote

Post by John R. Graham » Thu May 11, 2006 11:30 am

damkor wrote:However, I suppose that any --exclude <pkgname> would lead to an error.
I concur with at240. Not if (a) the package being excluded was already installed and (b) the update was a bug fix or other minor tweak. New versions of packages sometimes require new versions of particular dependencies. However, most of the time this is not so. Any dependencies not being met after exclusions could be flagged.

I like this feature idea!

- John
Top
SirYes
Apprentice
Apprentice
User avatar
Posts: 282
Joined: Sun Jan 15, 2006 10:14 am
Location: Lodz, Poland
Contact:
Contact SirYes
Website

  • Quote

Post by SirYes » Thu May 11, 2006 12:18 pm

From the brief thinking I conclude that the idea is well worth a feature request on its own. Please do file bug for it and see what happens. Alternatively, subscribe to the gentoo-dev mailing list and ask there for feedback.

That said, I'm not very keen to --exclude option. I think it might be named --keep - becasue that's what it aims for, keeping the selected package at the version it currently is.

And in an event you'd file Feature Request and/or post to the mailing list, maybe you should consider proposing a short option as well? According to the emerge manual, the following options are already taken:

Code: Select all

1 abcdefghklnopqstuv BCDFKGNOPSV
My blog: In search for ultimate programming language
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Thu May 11, 2006 1:33 pm

I found this thread cause porthole was mentioned. Just to confirm...porthole does allow you to select which world and dependency packages you wish to upgrade, it then sends those packages to emerge 1 at a time so that if one package fails it will continue with the others.

Just to let you know, one of porthole's devs about did start on an ncurses interface, but his work changed and could not continue. He also had not gotten very far at the time.


There is the -a --ask feature, Ive not used it, but it may offer some of what you wish. Posibly it could be extended to individually select y/n from the list by ading a third option to the first asking of approval for the list, ie. "y/n" options would become "y/n/i". The "i" being individual y/n asking, then continue with the yes's. You may have better luck extending an existing feature (and less coding work too), than getting a new one implemented.

Currently they are now trying to stabalize portage-2.1 for release in time for the 2006.x livecd, so it will be a while before it could be available even if a dev likes the idea.
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
Centinul
Apprentice
Apprentice
Posts: 232
Joined: Thu Jul 28, 2005 10:56 pm

  • Quote

Post by Centinul » Fri May 12, 2006 10:41 am

Ya know if I knew more about the emerge commnand (and Python in general) I would try and implement this change and present it to the Devs. Is there any documentation that explains the emerge script and such? If not it looks like I'll just have to do a feature request in Bugzilla. Thanks, I appreciate the backing behind this :)
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Fri May 12, 2006 1:53 pm

No, there isn't much for documentation. Python is a fairly easy read though. You would have to read thru emerge and somewhat of potage and it's other library files.

Do you like the idea of extending the --ask feature?
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
spb
Retired Dev
Retired Dev
User avatar
Posts: 2135
Joined: Fri Jan 02, 2004 1:18 pm
Location: Cambridge, UK

  • Quote

Post by spb » Fri May 12, 2006 4:16 pm

dol-sen wrote:Python is a fairly easy read though.
While Python may be easy to read, Portage is anything but. Unless, that is, you enjoy having your brain dribbling out through your ears.
14:20:19 <mark_alec> i fail
..shortly afterwards...
14:32:09 <spb> so it's "do what i want or i ban you"
14:32:13 <mark_alec> yes
Top
dol-sen
Retired Dev
Retired Dev
User avatar
Posts: 2805
Joined: Sun Jun 30, 2002 2:44 pm
Location: Richmond, BC, Canada

  • Quote

Post by dol-sen » Fri May 12, 2006 7:58 pm

I didn't say it would be easy to 8O UNDERSTAND. :?:

But if someone restricted themselves to the --ask modules it probably would not be so bad. Caution :!: I have not looked at that code in portage, but from what I know about python, it should not be too complicated at that point. As for me I have my hands full with porthole, a full time job, a small retail kiosk with my wife. Otherwise I might take a stab at extending it.
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Top
maximilian1st
n00b
n00b
User avatar
Posts: 66
Joined: Sat Aug 28, 2004 7:11 pm
Location: Switzerland

  • Quote

Post by maximilian1st » Mon May 15, 2006 7:39 pm

dol-sen wrote:As for me I have my hands full with porthole, a full time job, a small retail kiosk with my wife. Otherwise I might take a stab at extending it.
Real life goes first! You are doing a great job with this application and it is MUCH appreciated!
Thank you very much.
Max
Top
Post Reply
  • Print view

22 posts • Page 1 of 1

Return to “Gentoo Chat”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy