View previous topic :: View next topic |
Author |
Message |
kellwood Tux's lil' helper
Joined: 22 Dec 2002 Posts: 123 Location: Ann Arbor
|
Posted: Mon Feb 03, 2003 11:14 pm Post subject: Feature request for "emerge". |
|
|
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 |
|
|
PT_LAmb Guru
Joined: 22 Apr 2002 Posts: 332 Location: Lisboa (Lisbon), Portugal
|
Posted: Tue Feb 04, 2003 1:22 am Post subject: |
|
|
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.
Ricardo Cordeiro _________________ SETI@Home - http://setiathome.ssl.berkeley.edu/ |
|
Back to top |
|
|
kellwood Tux's lil' helper
Joined: 22 Dec 2002 Posts: 123 Location: Ann Arbor
|
Posted: Tue Feb 04, 2003 12:24 pm Post subject: |
|
|
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 |
|
|
pilla Bodhisattva
Joined: 07 Aug 2002 Posts: 7729 Location: Underworld
|
Posted: Tue Feb 04, 2003 5:24 pm Post subject: |
|
|
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 |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Tue Feb 04, 2003 6:32 pm Post subject: |
|
|
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 |
|
|
PT_LAmb Guru
Joined: 22 Apr 2002 Posts: 332 Location: Lisboa (Lisbon), Portugal
|
Posted: Fri Feb 07, 2003 11:20 pm Post subject: |
|
|
Didn't know about ccache, sorry about the last post.
Best regards,
Ricardo Cordeiro _________________ SETI@Home - http://setiathome.ssl.berkeley.edu/ |
|
Back to top |
|
|
Donovan Tux's lil' helper
Joined: 08 Feb 2003 Posts: 97 Location: Halifax, NS, Canada
|
Posted: Tue Feb 18, 2003 8:55 pm Post subject: Start and stop emerging |
|
|
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 |
|
|
robbat2 Developer
Joined: 19 Feb 2003 Posts: 82
|
Posted: Wed Feb 19, 2003 8:33 am Post subject: |
|
|
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 |
|
|
PT_LAmb Guru
Joined: 22 Apr 2002 Posts: 332 Location: Lisboa (Lisbon), Portugal
|
Posted: Wed Feb 19, 2003 5:33 pm Post subject: |
|
|
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 |
|
|
|