View previous topic :: View next topic |
Most Wanted Portage Feature? |
emerge -u --security |
|
13% |
[ 54 ] |
simultaneous package downloads |
|
9% |
[ 38 ] |
overall progress bar |
|
20% |
[ 83 ] |
reverse dependencies |
|
51% |
[ 211 ] |
other |
|
5% |
[ 21 ] |
|
Total Votes : 407 |
|
Author |
Message |
nadamsieee Guru
Joined: 30 May 2003 Posts: 340 Location: Atlanta, GA, USA
|
Posted: Mon Sep 15, 2003 10:23 pm Post subject: Most Wanted Portage Feature? |
|
|
For those silly people who dare to question my choice of choices (?) and pick 'other' , what's your most wanted portage feature? _________________ nadams (at) ieee (dot) org |
|
Back to top |
|
|
cvk Guru
Joined: 06 Jan 2003 Posts: 314 Location: Our house, in the middle of our street
|
Posted: Mon Sep 15, 2003 10:31 pm Post subject: |
|
|
It's not really a feature, but I really would like to have a database backend. A simple "qpkg -i -g dev-util" takes bloody ages to complete at the moment.
cvk _________________ Adopt an unanswered post now. |
|
Back to top |
|
|
scriptkiddie l33t
Joined: 30 Mar 2003 Posts: 955
|
Posted: Mon Sep 15, 2003 10:38 pm Post subject: |
|
|
My List:
1. MySQL Database Backend (speedier than current system)
2. C/C++ Version of Portage (much quicker)
3. An overall progress bar
4. A way to check the estimated time of complete 'emerge -p filename"
5. To be able to do 'emerge unmerge -dep kde" and get rid of kde and QT
6. I would like to be able to do "emerge -u kde gnome fluxbox" and have it download and install all of them |
|
Back to top |
|
|
Xiol Apprentice
Joined: 24 Jul 2003 Posts: 209 Location: UK
|
Posted: Mon Sep 15, 2003 10:43 pm Post subject: |
|
|
1. Reverse deps.
2. Reverse deps.
3. Reverse deps.
You do that, and then I can't complain. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9609 Location: beyond the rim
|
Posted: Mon Sep 15, 2003 10:45 pm Post subject: |
|
|
modular portage code
documented portage code
portagefs
EDIT: I forgot something very important:
bugfree portage code
Last edited by Genone on Tue Sep 16, 2003 2:11 am; edited 1 time in total |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9609 Location: beyond the rim
|
Posted: Mon Sep 15, 2003 10:47 pm Post subject: |
|
|
oubipaws wrote: | 6. I would like to be able to do "emerge -u kde gnome fluxbox" and have it download and install all of them |
What's the problem with that ? |
|
Back to top |
|
|
scriptkiddie l33t
Joined: 30 Mar 2003 Posts: 955
|
Posted: Mon Sep 15, 2003 10:48 pm Post subject: |
|
|
Genone wrote: | oubipaws wrote: | 6. I would like to be able to do "emerge -u kde gnome fluxbox" and have it download and install all of them |
What's the problem with that ? |
haha, I feel stupid now.. didn't realize you could do that... I thought it would spit out errors |
|
Back to top |
|
|
nadamsieee Guru
Joined: 30 May 2003 Posts: 340 Location: Atlanta, GA, USA
|
Posted: Mon Sep 15, 2003 11:37 pm Post subject: |
|
|
oubipaws wrote: | 5. To be able to do 'emerge unmerge -dep kde" and get rid of kde and QT |
That is what reverse dependencies would do for you. _________________ nadams (at) ieee (dot) org |
|
Back to top |
|
|
scriptkiddie l33t
Joined: 30 Mar 2003 Posts: 955
|
Posted: Mon Sep 15, 2003 11:41 pm Post subject: |
|
|
I know that.. I was just explaining so that people who don't know what dep packages are would understand what I am talking about |
|
Back to top |
|
|
gsfgf Veteran
Joined: 08 May 2002 Posts: 1266
|
Posted: Tue Sep 16, 2003 12:01 am Post subject: |
|
|
it not to take 20 mins to regnerate portag cache after rsyncing. _________________ Aim:gsfgf0 |
|
Back to top |
|
|
noff Guru
Joined: 11 Nov 2002 Posts: 388 Location: College Park, Maryland
|
Posted: Tue Sep 16, 2003 1:53 am Post subject: |
|
|
I was actually just coming to post this question.
I think reverse dependencies is really the most necessary, as anyone how has tried to clean gnome or kde off their system.
I think all ideas about how to get a progress meter are ok, but I have a easy stopgap solution until all ebuilds get their btu calculated (which could be automated, see many other posts for btu's). A non-verbose mode I think would make many people happy. Something like...
Code: |
kde-base/kdegraphics-3.1.3...done
kde-base/kdeadmin-3.1.3...done
kde-base/kdeutils-3.1.3...done
kde-base/kdeartwork-3.1.3...done
dev-tcltk/itcl-3.2-r2...done
app-pda/pilot-link-0.11.7-r1...emerging for 0:3:23
dev-libs/libmal-0.31
kde-base/kdepim-3.1.3
kde-base/kde-3.1.3
|
Just having that shown and opening an xterm with messages.
Simultaneous download of packages seems to be trivial, there might be hangout otherwise it would have been implemented.
Something often overlloked it the way portage handles errors. If just dies when it should continue to emerge everything that does not depend on that package. To use the above non-verbose method with xterm displaying the error and how it affected portage.
Code: | kde-base/kdegraphics-3.1.3...done
kde-base/kdeadmin-3.1.3...done
kde-base/kdeutils-3.1.3...done
kde-base/kdeartwork-3.1.3...done
dev-tcltk/itcl-3.2-r2...done
app-pda/pilot-link-0.11.7-r1...error
dev-libs/libmal-0.31...depends on pilot-link-0.11.7-r1
kde-base/kdepim-3.1.3...depends on pilot-link-0.11.7-r1
kde-base/kde-3.1.3...compiling |
Something else that is minor and would enhance the compile times is a flag in each ebuild to see whether the file is mirrored or not. I know if I am trying to grab a small file that is not on the mirrors portage still checks first. This is a hassle as it takes it 15 seconds to go through the checks when I could have told it to go right to the source. I may not understand how the mirrors work. But this may also help lower the loads of those servers.
Anyway, can we stop arguing about python vs C/C++ if you want to rewrite it go ahead, but I think the time could be better spent. _________________ What Larry was saying is that if you make it too easy for programmers, then poor programmers will be able to do things best left to good programmers, and will inevitably do them poorly. Everyone will suffer in the long term as a result." - Tom Chance |
|
Back to top |
|
|
gabe n00b
Joined: 10 Sep 2003 Posts: 27 Location: 42° 53' N 85° 31' W
|
Posted: Tue Sep 16, 2003 1:59 am Post subject: |
|
|
Reverse deps followed by security for me. The other choices would be nice, but IMHO don't measure up in terms of true usefullness. _________________ -Gabe
----------
gabe.ef-honda.com |
|
Back to top |
|
|
erik_swanson Retired Dev
Joined: 02 Feb 2003 Posts: 123 Location: Corvallis, OR USA
|
Posted: Tue Sep 16, 2003 1:59 am Post subject: |
|
|
1. Don't pre-generate the cache; build it as the info is needed. Even on my system, the speed increase for dep calcualtion is not worth the time to generate it.
2. Reverse deps.
3. --never-downgrade. An unsafe version of -U that will not honor non-slotted deps like "<cat/libfoo-3.3"
4. Reiser4-based backend. (Put the portage tree in a reiser4 loopback image and use some type of deltas to sync that image)
5. A dep of system that will rm -rf / anyone who bitches about portage being written in python. |
|
Back to top |
|
|
scriptkiddie l33t
Joined: 30 Mar 2003 Posts: 955
|
Posted: Tue Sep 16, 2003 2:08 am Post subject: |
|
|
gsfgf wrote: | it not to take 20 mins to regnerate portag cache after rsyncing. |
Amen to that.. Even on the server at work (dual Xeon 3ghz) it takes 10 minutes |
|
Back to top |
|
|
cvk Guru
Joined: 06 Jan 2003 Posts: 314 Location: Our house, in the middle of our street
|
Posted: Tue Sep 16, 2003 7:00 am Post subject: |
|
|
oubipaws wrote: | 1. MySQL Database Backend (speedier than current system)
2. C/C++ Version of Portage (much quicker)
|
1. MySql?!
Take a look at this:
Code: |
* dev-db/mysql
Size of downloaded files: 12,414 kB
* sys-apps/portage
Size of downloaded files: 230 kB
|
2. If a program needs 30 minutes for compiling and 10 seconds for portage stuff, I doubt that reducing the 10 seconds to 5 seconds would be worth the effort of rewriting the whole system.
cvk _________________ Adopt an unanswered post now. |
|
Back to top |
|
|
lamaistres Apprentice
Joined: 17 Dec 2002 Posts: 268 Location: Seattle
|
Posted: Tue Sep 16, 2003 7:00 am Post subject: |
|
|
I want both, emerge -u security & reverse dependencies. Also, I was thinking about how it would be nice to have a way to emerge gedit (for example) without the extra baggage that comes with it. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9609 Location: beyond the rim
|
Posted: Tue Sep 16, 2003 7:27 am Post subject: |
|
|
cvk wrote: | oubipaws wrote: | 1. MySQL Database Backend (speedier than current system)
2. C/C++ Version of Portage (much quicker)
|
1. MySql?!
Take a look at this:
Code: |
* dev-db/mysql
Size of downloaded files: 12,414 kB
* sys-apps/portage
Size of downloaded files: 230 kB
|
|
I mentioned that in another thread: the current filesystem based portage tree has about 80% overhead (it occupies >200 MB but only uses ~50 MB really). This can be cut down dramatically by a db backend, my tests with portagesql showed that mysql+portagesql+db based tree would be about 100 MB, that's half the size of the current tree.
Quote: | 2. If a program needs 30 minutes for compiling and 10 seconds for portage stuff, I doubt that reducing the 10 seconds to 5 seconds would be worth the effort of rewriting the whole system. |
I agree that rewriting the whole system is a bad idea, but portage is slow when it comes to searching and other tasks that need to access the package tree, but IMO this won't be solved by a C/C++ version. A DB backend would help here too (but it won't be implemented until 2.1).
Also if a DB backend would happen it would be completely optional. |
|
Back to top |
|
|
Koon Retired Dev
Joined: 10 Dec 2002 Posts: 518
|
Posted: Tue Sep 16, 2003 9:09 am Post subject: |
|
|
1. emerge --security
2. Rev deps
3. Signed tree
4. Speed
5. Accountability (might/should be on a front-end)
-K |
|
Back to top |
|
|
Lovechild Advocate
Joined: 17 May 2002 Posts: 2858 Location: Århus, Denmark
|
Posted: Tue Sep 16, 2003 9:38 am Post subject: |
|
|
oh so much is wrong with Portage I don't know where to begin...
1. Trust, there's no trust in portage besides md5sum checks... a man in the middle attack would be easy to stage fx.
2. bye bye FS based portagetree - hello sqlite (or something like it) backend
3. a proper gtk2 frontend
4. per package USE flags instead of global flags (handled in the before mentioned GTK2 frontend)
5. games-roguelike -> games-rpg (silly silly silly)
6. layered overlays
7. threading of emerge (to allow for downloading while we emerge)
8. UUID based internal naming aliased to human readable names (fixes all move, renaming, etc. problems)
9. Gentoo menu item handling system (like Debian, following the freedesktop.org standard maybe?)
10. Sticky flags
11. gtk USE flag for gtk1 deps, gtk2 USE flag for gtk2 deps - it should be that simple, but it's not - this is just SILLY !
those are in no important order what I can think off of the top of my head - but portage could be improved much more than that I think. |
|
Back to top |
|
|
KiTaSuMbA Guru
Joined: 28 Jun 2002 Posts: 430 Location: Naples Italy
|
Posted: Tue Sep 16, 2003 10:41 am Post subject: |
|
|
oubipaws wrote: | My List:
1. MySQL Database Backend (speedier than current system)
2. C/C++ Version of Portage (much quicker)
3. An overall progress bar
4. A way to check the estimated time of complete 'emerge -p filename"
5. To be able to do 'emerge unmerge -dep kde" and get rid of kde and QT
6. I would like to be able to do "emerge -u kde gnome fluxbox" and have it download and install all of them |
It doesn't need to be such a beast like MySQL. There are some embedded dbases that are up to the job just fine (search this forum for more discussion on that issue.) In any case, a db solution would offer:
- a huge leap in performance especially in rsyncing (which is hogged not by cpu but rather by net traffic and disk I/O due to infinite minuscule files instead of a single db grab. Actually, if you think of it, a compiled version of portage would not give much of a speed advantage (you still have to relay to external shell commands anyway) since the real cost is due to the perusing of the portage tree and not the python interpreter trying to figure out what to do.
- an easy way to support sticky flags FINALLY.
- an easy way to support (in a speedy manner) reverse deps.
- a way to support custom locally-defined groups of software to emerge on a single command (HUGE help for admins of multiple boxes especially at the corporate/big-office level)
- a way to support "update priority" flags in a more generic way than just emerge -u --security.
As you can see most of the requested stuff can be covered by that migration to a db model.
Other stuff:
- progress bar and ETA: would be nice but can be really tricky since you relay on so many and different from case to case external apps. A previous attempt hit hard on the wall of Makefile variability to even break some ebuilds.
- trust: we could always use gpg signatures for the packages distributed by the gentoo mirrors but unfortunatelly in many cases, packages are downloaded from external resources (cvs repositories, software home pages etc.) In that sense, there could be a trust-check system that prints a warning in the absence of signature and ask the user to explicitly accept the risk of downloading stuff from outside gentoo-operated servers. _________________ Need to flame people LIVE on IRC? Join #gentoo-otw on freenode! |
|
Back to top |
|
|
Ari Rahikkala Guru
Joined: 02 Oct 2002 Posts: 370 Location: Finland
|
Posted: Tue Sep 16, 2003 10:47 am Post subject: |
|
|
Xiol wrote: | 1. Reverse deps.
2. Reverse deps.
3. Reverse deps.
You do that, and then I can't complain. |
Also 4. Reverse deps., 5. Reverse deps., and 6. Reverse deps., please. _________________ <laurentius> gentoo linux?
<ari> Yesh.
<laurentius> they look horny |
|
Back to top |
|
|
Chris Finch Tux's lil' helper
Joined: 10 Mar 2003 Posts: 106 Location: Darmstadt, Germany
|
Posted: Tue Sep 16, 2003 11:29 am Post subject: |
|
|
7. Reverse deps, 8. R...
OK, seriously: I think that after operation of portage, the system should either be in a state where all dependencies are satisfied or it should spit out which dependencies have yet to be fulfilled.
What I want most of all is a complete, in-detail specification of what portage is supposed to do. It is not documented well at all when it comes to details.
ebuild syntax: at least the part that deals with dependencies, should not allow arbitrary bash commands and variables, in order to facilitate alternative implementations of dependency resolving (that yet would use the ebuild command as a backend).
pinning: I want to be able to install an unstable package and resolve the dependencies in a way such that further unstable packages are only installed if necessary. This is in contrast to the often advertised "ACCEPT_KEYWORDS="~x86" emerge something", which updates ALL dependencies to their latest unstable version, often resulting in completely unnescessary upgrades of, say, xfree. While "emerge insertcompletefilenamehere.ebuild" does that, it stops for every unstable dependency and forces you to merge it in the same manner, which is cumbersome, but still my preferred way to "ACCEPT_...". In addition, the world file should take notice if you wish to follow the unstable branch of a package and notify you when updates are available.
a roll back feature would be nice: Before a major upgrade (like gnome-2.4) you could define the current state of the system as correct, any following unmerges would store the unmerged packages in some place and if compiling the new versions gives you just too many errors you could roll back to the safe state.
USE variables are in many peoples' opinions THE major feature of portage. If only for this reason, all portage commands should be completely USE-aware.
what I need least? more speed. Reasonable people update twice a week, speed is irrelevant, system integrity is what's vital!
I know, this should rather go to bugzilla than to the forums, I have submitted some of the suggestions and so have others, but I wanted to add these ideas to this thread which I was delighted to discover does not contain any of this "rewrite portage in C++ for the sake of speed" nonsense. |
|
Back to top |
|
|
Gandalf_Grey_ Apprentice
Joined: 19 Apr 2003 Posts: 151
|
Posted: Tue Sep 16, 2003 12:43 pm Post subject: |
|
|
Reverse Dependancies
An overall progress bar, maybe something with ncurses where the top bit of the screen just shows whether a package has been completed or is still compiling.
I am not sure about this but is there away to upgrade to another masked ebuild during an emerge -UDp world iff that ebujild was already masked
Ok perhaps I should explain my dillema, I want to do an emerge -uD world. When I do emerge -uDp world it spends quite a while calculating the stuff then comes up with an error
!!! all ebuilds that could satisfy "=x11-libs/wxGTK-2.4.1*" have been masked.
!!! (dependency required by "dev-python/wxPython-2.4.1.2" [ebuild])
!!! Problem with ebuild net-p2p/bittorrent-theshadow-5.7
!!! Possibly a DEPEND/*DEPEND problem.
!!! Depgraph creation failed.
because packages which satisfy the wxGTK dependancy for wxPhuthon have been masked. If I did accept_keywords="~x86" it woiuld overwrite all my current packages with tthier masked equivilent. _________________ Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect.
-- Linus Torvalds |
|
Back to top |
|
|
TenPin Guru
Joined: 26 Aug 2002 Posts: 500 Location: Kansas City
|
Posted: Tue Sep 16, 2003 1:00 pm Post subject: |
|
|
Yeah, reverse deps.
I want to be able to look at a tree like this:
Code: |
Package
-dep
-Installed Package
-Installed Package
-dep
-Installed Package
-Installed Package
-dep
-Installed Package
rdep
rdep
rdep
|
That way I can look at a package that is installed (or not) and see at a glance what its dependencies are what what other installed packages depend on those dependencies. Also it lists (rdep) which packages depend on the chosen package.
Also an option to emerge -f -t where t is for total filesize of package and its deps. That way I can see how long its gonna take to emerge -f kde.
Also the idea of downloading while you compile is a must and shouldn't be that hard either. Wget can easily be forked into the background and portage keep track via the wget.logs. |
|
Back to top |
|
|
TheCoop Veteran
Joined: 15 Jun 2002 Posts: 1814 Location: Where you least expect it
|
Posted: Tue Sep 16, 2003 4:42 pm Post subject: |
|
|
We could use a rough idea of emerge time by using something like the LFS bash units (ie, the time it takes to compile bash is recorded, then all other ebuilds have an SBU= variable which lists roughly what percentage of the time taken to compile bash the ebuild takes to complete)
gcc would take ~5 SBUs, kde probably ~20 SBUs... _________________ 95% of all computer errors occur between chair and keyboard (TM)
"One World, One web, One program" - Microsoft Promo ad.
"Ein Volk, Ein Reich, Ein Führer" - Adolf Hitler
Change the world - move a rock |
|
Back to top |
|
|
|