Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Feature request for "emerge".
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
kellwood
Tux's lil' helper
Tux's lil' helper


Joined: 22 Dec 2002
Posts: 123
Location: Ann Arbor

PostPosted: Mon Feb 03, 2003 11:14 pm    Post subject: Feature request for "emerge". Reply with quote

Hello All,

I am not sure where requests/ideas are submitted but I have one. It was prompted by my attempt to emerge kde 3.1. I have a Pentium II 350 and I knew the build would take a while so I put it in background. The build went for approximately 5 hour and my wife logged out and rebooted (I dual boot w98 <- the w98 is for her). I am faced with starting over again.

I did a search and found that emerge has no option to start where it left off. Since it is ultimately tied to "make", is it that hard to add a "--continue"?

I must add the gentoo is a wonderful distro!! :-)

All the best,
Kevin
_________________
Thanks

Kevin
Back to top
View user's profile Send private message
PT_LAmb
Guru
Guru


Joined: 22 Apr 2002
Posts: 332
Location: Lisboa (Lisbon), Portugal

PostPosted: Tue Feb 04, 2003 1:22 am    Post subject: Reply with quote

It looks like a dangerous feature to me. I assume that you're referring to the fact that the temporary compilation directory is completely erased before a new merge.

The problem is that it isn't garanteed that the ebuild has a single make. If you look at perl's ebuild, you'll see that the building process is repeated once. Now, if the process was interrupted, where would it be continued?

It's not impossible, and it's just my opinion. I consider myself a n00b on gentoo's environment, so it mustn't be taken as very hard, or dangerous, to acomplish such feature, based on this opinion.

I am just writing my point of view. And I hope that someone will comment it.

Now, if you want to suggest a new feature, you should file a bug. There was once a document with guidelines for filing bugs, but I can't find it. Sorry.

Also I should say that suggesting new features, filing bugs, helping fix them, etc... is what I like most in the linux comunity, so keep on suggesting. :D

Ricardo Cordeiro :)
_________________
SETI@Home - http://setiathome.ssl.berkeley.edu/
Back to top
View user's profile Send private message
kellwood
Tux's lil' helper
Tux's lil' helper


Joined: 22 Dec 2002
Posts: 123
Location: Ann Arbor

PostPosted: Tue Feb 04, 2003 12:24 pm    Post subject: Reply with quote

Well, it seems that you could just leave the files and execute the all of the "make" commands that are required to build the package. If there is nothing for make to update, then move on to the next make.

For example, the actaul package that got killed in my case was kdebase. If I was installing it from source I could do the "sh ./configure"; make. I could then kill it after an hour and restart the process at the top level with make.

Anyway, it is just a thought.
_________________
Thanks

Kevin
Back to top
View user's profile Send private message
pilla
Bodhisattva
Bodhisattva


Joined: 07 Aug 2002
Posts: 7729
Location: Underworld

PostPosted: Tue Feb 04, 2003 5:24 pm    Post subject: Reply with quote

You should try ccache. It caches your compilations, which will speedup things a lot if you had to stop in the middle of a compilation.
_________________
"I'm just very selective about the reality I choose to accept." -- Calvin
Back to top
View user's profile Send private message
aja
l33t
l33t


Joined: 26 Aug 2002
Posts: 705
Location: Edmonton, Canada

PostPosted: Tue Feb 04, 2003 6:32 pm    Post subject: Reply with quote

An addenda to BB's post (with which I heartily concur) - all you need to do is emerge ccache - portage should use it by default (you can set that in make.conf). I have found it to be quite useful in that exact regard - restarting aborted emerges.
Back to top
View user's profile Send private message
PT_LAmb
Guru
Guru


Joined: 22 Apr 2002
Posts: 332
Location: Lisboa (Lisbon), Portugal

PostPosted: Fri Feb 07, 2003 11:20 pm    Post subject: Reply with quote

Didn't know about ccache, sorry about the last post. :oops:

Best regards,
Ricardo Cordeiro :)
_________________
SETI@Home - http://setiathome.ssl.berkeley.edu/
Back to top
View user's profile Send private message
Donovan
Tux's lil' helper
Tux's lil' helper


Joined: 08 Feb 2003
Posts: 97
Location: Halifax, NS, Canada

PostPosted: Tue Feb 18, 2003 8:55 pm    Post subject: Start and stop emerging Reply with quote

The best combination is using CCACHE and emerging packages separately. For example, it is possible to emerge the various components of KDE a few at a time (using emerge -p <package name> to see what emerge will compile).

Then, you can reboot the machine to do other things in between packages if necessary. Of course using CCACHE will help if you do have to abort and start again. Note that this doesn't resume the compile, it just helps the second one go faster since the previous compile has been cached.

If you have another or faster computer with gentoo (and the same GCC) on to it, you should also look into DISTCC. With DISTCC installed on my main machine, my little machine with a crappy Cyrix 200 processor was able to send the compile requests to my main machine, and thus save ALOT of time.

Also consider mounting tmp as a tmpfs file system (a kind of RAM drive, but better as the memory is automatically allocated) as GCC writes files into /tmp. Another thread has commented on the decrease in compile times this will have.

Code:
mount -t tmpfs tmpfs /tmp

_________________
Gentoo Linux * DirecTivo * Who needs heaven?
Back to top
View user's profile Send private message
robbat2
Developer
Developer


Joined: 19 Feb 2003
Posts: 82

PostPosted: Wed Feb 19, 2003 8:33 am    Post subject: Reply with quote

In addition to the CCACHE already mentioned, it is already possible to resume a single ebuild.
Assuming you know the current ebuild that was in progress:
ebuild (full path to ebuild file in /usr/portage/) (stages)
where stages is at least one of:
compile install package (many more exist)

note that this requires all depenancies done FIRST, as it does NO checking.
sample use:
The other day i was building a small machine, with very limited disk space. I ran out of room during the install+package stages of tetex, due to the fact that's its a massive 600mb at it's largest point.
After cleaning out my ccache data (got me 1gb more space), I run:
ebuild /usr/portage/app-text/tetex/tetex-2.0-r1.ebuild install package
which completed the ebuild from where it was running before

I use the buildpkg option on all my systems, due to the number of similar boxes I have. I also keep portage/distfiles and portage/packages on NFS mounts to share between the machines for speedy install reasons.
Back to top
View user's profile Send private message
PT_LAmb
Guru
Guru


Joined: 22 Apr 2002
Posts: 332
Location: Lisboa (Lisbon), Portugal

PostPosted: Wed Feb 19, 2003 5:33 pm    Post subject: Reply with quote

Just found out about emerge --resume, and if I'm not mistaken, it can resume the previous emerge operation, like a interrupted emerge world -u --deep. I'll just have to try it out.

Ricardo Cordeiro :)
_________________
SETI@Home - http://setiathome.ssl.berkeley.edu/
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
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