Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Things I like to see in Gentoo
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
mountainpenguin
n00b
n00b


Joined: 28 Jan 2003
Posts: 6

PostPosted: Wed Oct 13, 2004 10:26 am    Post subject: Things I like to see in Gentoo Reply with quote

These are some of the things I would like to see in Gentoo but isn't. I would like to hear your opinions on these ideas.

1. parallel build - Instead of downloading source and building process in a single linear process, this can this be done in parallel to save time.

2. paralle start up - start up time can be shortened even further if it is done in parallel.

3. /usr/portage location change - Normally everything in /usr is fairly static and I usually use ext2 for this mount point. For some odd reason Gentoo puts it's most frequently changed files under /usr/portage. This really belongs in /var.

4. emerge search problems - This is just too slow. There is gotta be a ways to improve the speed on this. Also the output of search result is just too verbose.

5. build time estimation - It doesn't have to be accurate but there should be some indication of how much time a build will take.

6. space requirement info and estimation - Some information about how much disk space will be necessary for software build process as well as after the build might be useful. It's annoying to have build process fail somwhere towards the end because disk ran out of space.

7. calculated dependency info caching - Why is it that if I do emerge -u world -p it spends about 5 to 10 seconds calculating dependency and then apparently same calculation is done again and again. I'm sure there is a way to save this data somewhere so we don't have to calculate this thing every single time.

8. environment metadata in package - Perhaps package file should contain metadata about how the package was built. Information like which ebuilt was used, which gcc version, etc.

9. option to not install header file - emerge tends to install everything including header files. I wish there was a way to not install them.

10. dependency graphing app - It would be nice if a graphical app exists to view the package dependency visually.
Back to top
View user's profile Send private message
metwo
n00b
n00b


Joined: 30 Dec 2003
Posts: 69

PostPosted: Wed Oct 13, 2004 10:58 am    Post subject: Reply with quote

Some/Many of these are already in Gentoo.

#1 - you mean like make -j3 ?
#2 - already possible - https://forums.gentoo.org/viewtopic.php?t=131142&start=0&postdays=0&postorder=asc&highlight=paralell+parallel+startup

#4 try www.gentoo-portage.com ??
Back to top
View user's profile Send private message
inode77
Veteran
Veteran


Joined: 20 Jan 2004
Posts: 1303
Location: Heart of Europe

PostPosted: Wed Oct 13, 2004 11:04 am    Post subject: Reply with quote

Quote:

1. parallel build - Instead of downloading source and building process in a single linear process, this can this be done in parallel to save time.

agreed
Quote:

2. paralle start up - start up time can be shortened even further if it is done in parallel.

There's an option in "/etc/conf.d/rc" fot that purpose.
Quote:

3. /usr/portage location change - Normally everything in /usr is fairly static and I usually use ext2 for this mount point. For some odd reason Gentoo puts it's most frequently changed files under /usr/portage. This really belongs in /var.

Edit "/etc/make.conf" to your likeings and you're set.
Quote:

4. emerge search problems - This is just too slow. There is gotta be a ways to improve the speed on this. Also the output of search result is just too verbose.

Not really a problem since there are several programs in portage that are solving this very problem. (e.g. esearch)
Quote:

5. build time estimation - It doesn't have to be accurate but there should be some indication of how much time a build will take.

This is nearly impossible to do but there's a project (external) fot that too.
I don't remember the url right now, but will edit this post when I refind.
Quote:

6. space requirement info and estimation - Some information about how much disk space will be necessary for software build process as well as after the build might be useful. It's annoying to have build process fail somwhere towards the end because disk ran out of space.

An estimation for the compiled version should be possible, but not one for compiler needs.
Quote:

7. calculated dependency info caching - Why is it that if I do emerge -u world -p it spends about 5 to 10 seconds calculating dependency and then apparently same calculation is done again and again. I'm sure there is a way to save this data somewhere so we don't have to calculate this thing every single time.

Use the "-a" switch to decide without recalculating before merge.
Quote:

8. environment metadata in package - Perhaps package file should contain metadata about how the package was built. Information like which ebuilt was used, which gcc version, etc.

Are you talking about precompiled binary packages? If you're talking about including information like this if you compile them, I don't see any advantage in doing that.
Quote:

9. option to not install header file - emerge tends to install everything including header files. I wish there was a way to not install them.

I don't agree here. If you would do that then it would be necessary to either provide them in a seperate package (bad idea => doubles the packages needlessly) or to recompile if needed. They waste only little space if never needed.
Quote:

10. dependency graphing app - It would be nice if a graphical app exists to view the package dependency visually.

I don't know if something like that exists but for me "emerge -evt" is enough.


Last edited by inode77 on Wed Oct 13, 2004 11:08 am; edited 1 time in total
Back to top
View user's profile Send private message
spb
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 2135
Location: Cambridge, UK

PostPosted: Wed Oct 13, 2004 11:08 am    Post subject: Re: Things I like to see in Gentoo Reply with quote

mountainpenguin wrote:
1. parallel build - Instead of downloading source and building process in a single linear process, this can this be done in parallel to save time.
There's a bug on this in Bugzilla. (Edit: Bug 1661)

Quote:
2. paralle start up - start up time can be shortened even further if it is done in parallel.
/etc/conf.d/rc. Set RC_PARALLEL_STARTUP to yes.

Quote:
3. /usr/portage location change - Normally everything in /usr is fairly static and I usually use ext2 for this mount point. For some odd reason Gentoo puts it's most frequently changed files under /usr/portage. This really belongs in /var.
Edit /etc/make.conf, and set PORTDIR, DISTDIR, and PKGDIR to wherever you want them to be.

Quote:
4. emerge search problems - This is just too slow. There is gotta be a ways to improve the speed on this. Also the output of search result is just too verbose.
emerge esearch, or use one of the websites (gentoo-portage.com or packages.gentoo.org)

Quote:
7. calculated dependency info caching - Why is it that if I do emerge -u world -p it spends about 5 to 10 seconds calculating dependency and then apparently same calculation is done again and again. I'm sure there is a way to save this data somewhere so we don't have to calculate this thing every single time.
There's already a huge amount of caching done-- try removing /var/cache/edb/dep and /usr/portage/metadata/cache and see what happens.

Quote:
8. environment metadata in package - Perhaps package file should contain metadata about how the package was built. Information like which ebuilt was used, which gcc version, etc.
There's already some data stored about the build environment, and there are noises being made about storing some more.

Quote:
9. option to not install header file - emerge tends to install everything including header files. I wish there was a way to not install them.
Not really ano option-- if you install, for example, Gtk+ without any headers, how are you going to build stuff that depends on it?

Quote:
10. dependency graphing app - It would be nice if a graphical app exists to view the package dependency visually.
Well, there's emerge -pt, but a nicer one would be nice, yes. ;)
Back to top
View user's profile Send private message
georgz
Tux's lil' helper
Tux's lil' helper


Joined: 06 Dec 2002
Posts: 137
Location: Munich, Germany

PostPosted: Wed Oct 13, 2004 11:28 am    Post subject: Reply with quote

Quote:
1. parallel build - Instead of downloading source and building process in a single linear process, this can this be done in parallel to save time.


Code:
# emerge -f (system | world | whatever)

Then wait a bit... Then do the normal emerge in another window.[/code]
Back to top
View user's profile Send private message
castorilo
Apprentice
Apprentice


Joined: 25 Dec 2002
Posts: 157

PostPosted: Wed Oct 13, 2004 1:46 pm    Post subject: Re: Things I like to see in Gentoo Reply with quote

mountainpenguin wrote:

1. parallel build - Instead of downloading source and building process in a single linear process, this can this be done in parallel to save time.

I think everybody here has asked that question in the forum.
It is even a faq

It is also in the short term goals for portage along with parallel merging (merging 2 or more packages that don't depend on each other simultaneously)
Back to top
View user's profile Send private message
mountainpenguin
n00b
n00b


Joined: 28 Jan 2003
Posts: 6

PostPosted: Wed Oct 13, 2004 3:23 pm    Post subject: My response Reply with quote

First of all, thank you for taking time to respond to my initial post. Here are my reply to some of those responses.

1. parallel build

Ahh.. Someone is already working on such a thing. This is good.

2. paralle start up

This one is done. Good.

3. /usr/portage location change

Yes I'm aware that this can be changed my modifying make.conf however I think this should be default to /var during initial install. I just think it's very unconventional (or even wrong) to put this kind of files under /usr.

4. emerge search problems

esearch is nice but this is yet another external program that really should be part of emerge and works as it should be from emerge. Obviously doing eupdatedb process needs to be merged at the end of emerge sync routine.

5. build time estimation

Obviously build time depends on so many things like cpu speed, compiler version, hard drive speed, memory, etc. Accurate estimate is very difficult or even impossible however a general ballpark estimate would be helpful to users. Something like <1min or 5, 10, .. 30.

6. space requirement info and estimation

I'll split this into two.
6a - final installation footprint
6b - build time space requirement

I do believe both are quite possible and useful for the user. I do think they are useful in that 6a or 6b shouldn't even be attempted if disk space requirement is not met. There are ebuilds where build time disk space depends on external variables. One example is net-www/mozilla and moznoirc moznomail moznocompose USE flags. In cases like mozilla I would say it should report the largest build space requirement. This will require some data collection by the ebuild developers and have that information be part of the ebuild itself.

7. calculated dependency info caching

Well, there may be some cacheing being done but it's obviously not enough or not being done correctly. If you do emerge -u world -p and then issue the same command again, it still does "Calculating world dependencies \|/-" all over again.

8. environment metadata in package

Currently gentoo's binary package isn't really "package" like rpm files since it's more of a tarball. It's missing metadata about itself. I guess my notion of binary package is much more self contained file.

9. option to not install header file

I should have been more clear. For situations when you have a machine that uses built binary packages from another machine, header files are not necessary. They are just there for no purpose. It makes sense to have an option not install header files for those setup.

10. dependency graphing app

I suppose this is more useful tool for ebuild developers than end users.
Back to top
View user's profile Send private message
codergeek42
Bodhisattva
Bodhisattva


Joined: 05 Apr 2004
Posts: 5142
Location: Anaheim, CA (USA)

PostPosted: Wed Oct 13, 2004 4:40 pm    Post subject: Re: My response Reply with quote

mountainpenguin wrote:
4. emerge search problems

esearch is nice but this is yet another external program that really should be part of emerge and works as it should be from emerge. Obviously doing eupdatedb process needs to be merged at the end of emerge sync routine.
Use `esync` instead of `emerge sync`
Quote:
10. dependency graphing app

I suppose this is more useful tool for ebuild developers than end users.
Code:
# emerge app-portage/gentoolkit
# equery depgraph <package>

_________________
~~ Peter: Programmer, Mathematician, STEM & Free Software Advocate, Enlightened Agent, Transhumanist, Fedora contributor
Who am I? :: EFF & FSF
Back to top
View user's profile Send private message
antonlacon
Apprentice
Apprentice


Joined: 27 Jun 2004
Posts: 257

PostPosted: Wed Oct 13, 2004 10:51 pm    Post subject: Reply with quote

genlop can be used to guesstimate package build time.
Back to top
View user's profile Send private message
Archangel1
Veteran
Veteran


Joined: 21 Apr 2004
Posts: 1212
Location: Work

PostPosted: Thu Oct 14, 2004 2:01 am    Post subject: Re: My response Reply with quote

mountainpenguin wrote:

8. environment metadata in package

Currently gentoo's binary package isn't really "package" like rpm files since it's more of a tarball. It's missing metadata about itself. I guess my notion of binary package is much more self contained file.


No, they're not like rpm's - there's an external ebuild for Portage whereas rpm's just have the one file.
I'm not really sure I see the advantage to your idea. Except for the fact there's only one file, but you don't really have to deal with the tarball since Portage does it for you.
I think it's quite neat that ebuilds are a small file so they can be attached to bugzilla reports, or e-mailed, and they'll fetch the needed files for you once installed.

On a slightly unrelated note, that copying ebuild & running ebuild digest process is a little awkward - I'd quite like an automated process for it. I'm quite capable of doing it myself, but I think it'd be nicer for less capable users.
Might have to look into that as a little project :D
Back to top
View user's profile Send private message
Sven Vermeulen
Retired Dev
Retired Dev


Joined: 29 Aug 2002
Posts: 1345
Location: Mechelen, Belgium

PostPosted: Thu Oct 14, 2004 7:17 am    Post subject: Re: My response Reply with quote

mountainpenguin wrote:

8. environment metadata in package

Currently gentoo's binary package isn't really "package" like rpm files since it's more of a tarball. It's missing metadata about itself. I guess my notion of binary package is much more self contained file.


A package isn't a plain tarball, it contains metadata as well. We just don't have any tools available yet that enables you to read that metadata without installing the package first, since it isn't needed - a package corresponds with an ebuild and the ebuild contains all metadata needed by Portage.

When you've installed a package, you should see that information such as compilation flags, USE flags, ... are stored in /var/db/pkg
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
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