View previous topic :: View next topic |
Author |
Message |
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 7:06 pm Post subject: [SOLVED] Best approach to keep older packages? |
|
|
Hi!
i need to maintain Gentoo on a peculiar machine, it's an ARM tablet with some constraints and limits.
For example, it can support only X up to 1.12.4, and Chromium only up to 43.0 since later versione requires at least 3gb of ram to build.
Right now, after an emerge --sync, Chromium 43 is not in portage anymore, the minimum now is 46.0.
What is the best way to make sure i can keep these versions available even if they get out of portage?
Do i have to setup some kind of overlay? I want something local, preferibly, not need to setup something on the web.
... or is there a way to relax Chromium build requirement of 5gb of ram? _________________ Willy Gardiol
willy@gardiol.org
Last edited by shimitar on Mon Oct 12, 2015 8:16 pm; edited 1 time in total |
|
Back to top |
|
|
kikko Apprentice
Joined: 29 Apr 2014 Posts: 276 Location: Milan, IT
|
Posted: Tue Oct 06, 2015 7:22 pm Post subject: |
|
|
Hi shimitar
set up of a local overlay is covered in the wiki (https://wiki.gentoo.org/wiki/Overlay/Local_overlay)
In this way you can keep old ebuilds "valid" even if they disappear from the main tree (thus overlays have an higher priority over the main tree, so your install wont notice difference)
Regards |
|
Back to top |
|
|
The Doctor Moderator
Joined: 27 Jul 2010 Posts: 2678
|
Posted: Tue Oct 06, 2015 7:40 pm Post subject: |
|
|
I'd also backup the tarballs to a second location since they may no longer be available at some point in the future and you may need them.
Don't worry about complexity with a local overlay. They are quite painless. _________________ First things first, but not necessarily in that order.
Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box. |
|
Back to top |
|
|
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 7:53 pm Post subject: |
|
|
Wow, so fast!
thank you! It seems very simple indeed.
What is the best way to save the downloaded files? Now i have them under /usr/portage/distfiles, but could be moved under the overlay folder? _________________ Willy Gardiol
willy@gardiol.org |
|
Back to top |
|
|
The Doctor Moderator
Joined: 27 Jul 2010 Posts: 2678
|
Posted: Tue Oct 06, 2015 8:02 pm Post subject: |
|
|
shimitar wrote: | Wow, so fast!
thank you! It seems very simple indeed.
What is the best way to save the downloaded files? Now i have them under /usr/portage/distfiles, but could be moved under the overlay folder? | You need them there, I'd just make sure they where backed up to another PC or on however you backup files too. In my experience, it is very easy to absent mindlessly clean out distfiles to make more space and wipe out the files that can't be downloaded from the net any more. Not required by any means, but just good operating practice. _________________ First things first, but not necessarily in that order.
Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Tue Oct 06, 2015 8:05 pm Post subject: |
|
|
shimitar,
The Code: | DISTDIR="/usr/portage/distfiles" | make.config entry can be a list of directories, so you can move some distfiles to another location.
Inside the overlay itself is a bad idea as they may be removed when the overlay is updated, since the overlay manager will think that they have been removed from the master.
A distfiles dir may also be read only.
For ARM, its worth keeping binary packages. It will save the compile time if something goes wrong.
emerge -K <target> will install from your binaries. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 8:26 pm Post subject: |
|
|
Well, yes, indeed building chromium takes the good part of a week on the tablet... ah.
thank you! it seems to work !!! _________________ Willy Gardiol
willy@gardiol.org |
|
Back to top |
|
|
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 8:31 pm Post subject: |
|
|
mm it does not really seems to work...
i wrote this in my make.conf:
DISTDIR="${PORTDIR}/distfiles /usr/local/distfiles"
i moved the files from the first to the second, but they seems not to be found:
Code: |
tf700t local # emerge -vp chromium
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ~] www-client/chromium-43.0.2357.73::TF700 [43.0.2357.73::gentoo] USE="cups hidpi neon* (pic) proprietary-codecs tcmalloc -custom-cflags -gnome -gnome-keyring -kerberos -pulseaudio (-selinux) {-test} (-widevine)" LINGUAS="-am -ar -bg -bn -ca -cs -da -de -el -en_GB -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_CN -zh_TW" 301,946 KiB
Total: 1 package (1 reinstall), Size of downloads: 301,946 KiB
|
and, of course:
Code: |
tf700t local # ls /usr/local/distfiles
chromium-43.0.2357.73.tar.xz
|
By the way, would it work also for:
PKGDIR="${PORTDIR}/packages"? _________________ Willy Gardiol
willy@gardiol.org |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Tue Oct 06, 2015 8:50 pm Post subject: |
|
|
DISTDIR is only a directory, not a list of directories. There can only be one DISTDIR.
You could e.g. put a symlink into your DISTDIR (pointing to a copy of your tarballl).
(app-portage/trickyfetch from the mv overlay contains the script "distlinks" which among other things can manage such symlinks, but you should read the description very carefully if you want to use it. As long as you manage only a few tarballs for your local overlay, "trickyfetch" is certainly overkill for you.) |
|
Back to top |
|
|
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 8:52 pm Post subject: |
|
|
Yes, indeed it seems so...
Symlinks will be!
thank you all! _________________ Willy Gardiol
willy@gardiol.org |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Tue Oct 06, 2015 9:11 pm Post subject: |
|
|
shimitar,
Cross distcc is your friend.
I can't say I've tried building chromium for Raspberry Pi. The poor wee thing only has 256Mb RAM.
Cross distcc doesn't help with linking.
shimitar wrote: | Chromium only up to 43.0 since later versione requires at least 3gb of ram to build. |
Errr maybe not. The ebuild has a test for 3G RAM. That's not the same thing.
There are reports on these forums of Chromium being built with only 2G RAM on x86. I suspect that there is a lot of swapping going on.
You could probably set up cross distcc and put it to the test in less than a week :)
I wonder if Code: | armv7a-hardfloat-linux-gnueabi-emerge chromium -av
[ebuild N ] www-client/chromium-46.0.2490.42::gentoo to /usr/armv7a-hardfloat-linux-gnueabi/ | would work on my ~amd64
Thats pure cross compiling. I do know that some of the dependancies will not build that way.
armv7a is for Cubietruck (Allwinner A20), not early Raspberry Pi. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
shimitar Guru
Joined: 23 Nov 2003 Posts: 320 Location: Italy, Torino
|
Posted: Tue Oct 06, 2015 9:22 pm Post subject: |
|
|
My tablet is an Asus TF700T Transformer Infinity, a nice Tegra3 tinghy with gb ram and a cool hardware keyboard... it's a bit a challenge to build Gentoo entirely on it without any cross-compiling...
I could cross-compile, but... would get most of the fun out of it
I already improved build times a lot by:
- enabling zram (thanks to a backport to the 3.1.10 kernel running on the tablet)
- building on an external USB hard-drive instead of the internal slow memory
- enabling ccache and adding -J5 to the make options
Still, it's over a week for libreoffice
By the way, just in case, how to i setup a cross compiler on an amd64 for arm? _________________ Willy Gardiol
willy@gardiol.org |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Tue Oct 06, 2015 9:38 pm Post subject: |
|
|
shimitar,
ccache is a double edged sword. It slows down the first build of a package as the cache must be populated.
It can speed up second and subsequent builds but every now and again, you get the wrong thing back from ccache, which produces odd bugs.
To set up a cross build chain on your build host.
It will build the cross tool chain for you when you tell it what you want.
ARM development moves rapidly. You probably don't want to use the -S (for stable) option when you build your cross tool chain. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
[n00b@localhost] Apprentice
Joined: 30 Aug 2004 Posts: 266 Location: London, UK
|
Posted: Wed Oct 07, 2015 12:22 pm Post subject: |
|
|
mv wrote: | DISTDIR is only a directory, not a list of directories. There can only be one DISTDIR. |
PORTAGE_RO_DISTDIRS is what you are looking for here. Check the man page for make.conf for details.
Any files in that list of directories will not be cleaned by and similar. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54234 Location: 56N 3W
|
Posted: Wed Oct 07, 2015 3:47 pm Post subject: |
|
|
mv, [n00b@localhost]
Thank you for clearing that up for me. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|