Using Portage BINHOST

Introduction
This article explains how to use a portage BINHOST to reduce compile times. If you would like to host your own server please see the BINHOST Setup HOWTO.

The portage BINHOST system is a valuable utility for deployment of Gentoo in a multi-system environment. Clearly this is not the only area where a BINHOST is useful, in fact it may be used quite effectively by a normal user who does not want to take advantage of the portage compilation options.

Some of the key factors drawing users to Gentoo include

 Simplicity and utility of portage. Extremely helpful and active community. Large amounts of documentation. 

These are offset by several factors

 Long Gentoo installation process on old computers. (New computers with several cores are obviously much faster - but on old hardware it may take a while compile a full desktop (KDE/Gnome) environment.) Poor default Gentoo performance options. 

Role of BINHOSTS

These concerns may be partly alleviated by making use of public Gentoo binary package hosts. Compilation time is clearly reduced if not removed, meanwhile package optimization can be done by the more experienced users hosting the server. If you know of or host a public BINHOST server, please feel free to add it to the list below.

Using public BINHOST servers
To make use of a BINHOST you must configure the remote host from which to retrieve as well as the location in which to save these packages.

Add or replace the required configuration directives in make.conf:

File: /etc/make.conf

To archive packages to $PKGDIR:

Shell

To install the packages from $PKGDIR:

Shell

To install and archive packages in PKGDIR:

Shell

Note: The options with the word only, and the associated shorthand, will fail if the desired package is not available from the BINHOST. In other words, portage will refuse to compile any source packages.

Troubleshooting
 Python HTMLParser exception</li> </ul>

Apache on Debian Woody may cause problems with PORTAGE_BINHOST (python's HTMLParser throws an exception). -jason pepas

The Debian Woody issue appears to be caused by a comma in the META tag (inserted by the mod_autoindex Apache module). I'm sure you could recompile the module after omitting the comma, or live dangerously and just hexedit it out of /usr/lib/apache/1.3/mod_autoindex.so - madsara

 Use Flags</li> </ul>

Apparently, if emerge locates a binary pkg of the right version-release, it will install it, regardless of your use flag. So, it seems that the use flags are heeded at build time but not at install time. See the discussion at http://forums.gentoo.org/viewtopic-t-502955-highlight-binhost.html. I imagine this can mess things up quite well, unless you adjust your use flags to match those of the pkgs in the BINHOST repository - Originally by harpette UPDATE - There's now an option --binpkg-respect-use with y the latest version of emerge which checks if the use flags match before installing the binary packages - Keith.  use ftp instead of http/s</li> </ul>

I only got this working, when I am using ftp instead of http/s.

Also see http://forums.gentoo.org/viewtopic-p-4984007.html?sid=6b1f140c881bd167e493b33de7939202.

List of public BINHOST servers
Feel free to add your server to this list. If a server has been offline or unreachable for a significant amount of time please label it as DOWN. Servers that are now offline or are unreachable are archived for historic purposes. If any of them return please remove the DOWN label.

Security Warning

The following links are not pointing to official Gentoo binhosts. Gentoo does not provide public binhosts at all. Usage of binary packages provided by the listed binhosts may present security issues.

x86
Below is a list of BINHOSTs for x86 compatible systems.

i686

http://tinderbox.dev.gentoo.org/default-linux/x86/
 * Gentoo developers grp tinderbox

http://gentoo.nixbits.net/binhost/x-gtk-x86-celeron & info
 * Hexiled @ Nixbits - Intel(R) Celeron(R) M - Desktop/Netbook

http://mirrors.haslfree.com/portage-packages/i686-server/
 * haslfree - generic i686 server

ftp://ftp.sofagang.dk/portage-packages/i686-server/

Pentium 3

http://mirrors.haslfree.com/portage-packages/i686-pentium3-server/
 * haslfree - pentium3 server

ftp://ftp.sofagang.dk/portage-packages/i686-pentium3-server/

Pentium 4 http://gentoo.wever.org/i686/pentium4/
 * mck - hardened server (no xorg)

Athlon64

http://mirrors.haslfree.com/portage-packages/i686-athlon64-desktop/
 * haslfree - Athlon64 desktop, 32 bit

ftp://ftp.sofagang.dk/portage-packages/i686-athlon64-desktop/

Atom/Geode

http://runswift.cse.unsw.edu.au/opennao/repo-1.12.5/
 * rUNSWift - Aldebaran Nao

AMD64
core2

http://gentoo.wever.org/x86_64/core2/
 * mck - desktop corei7-avx (Core i7 Sandy Bridge)

nocona http://binhost.ossdl.de/x86_64-pc-linux-gnu-nocona/
 * ossdl - XEON, Core i3, Core i5... Core i7 - server, 64b

http://gentoo.nixbits.net/binhost/x-gtk-x86_64-nocona & info
 * Hexiled @ Nixbits - XEON/EMT64 CPU - Desktop

atom http://gentoo.nixbits.net/binhost/x-gtk-x86_64-atom & info
 * Hexiled @ Nixbits - Intel Atom x64 - Desktop/Netbook

http://gentoo.nixbits.net/binhost/no-x-x86_64-atom & info
 * Hexiled @ Nixbits - Intel Atom x64 - Server/Netbook (Without X support)

amdfam10 http://binhost.ossdl.de/x86_64-pc-linux-gnu/
 * ossdl - Opteron (including Istanbul), Phenom - server, 64b
 * compatible to VMs at Rackspace

ARM 9
arm5tel http://binhost.ossdl.de/armv5tel-softfloat-linux-gnueabi/
 * ossdl - ARM5te(l), such as Feroceon (SheevaPlug) - server, 32b

Cortex-A
armv7a http://www.hubholic.com/upload/packages/armv7a-hardfloat-linux-gnueabi/
 * Used by a ton of SoCs (Apple A4/A5, Samsung Hummingbird/Exynos, Nvidia Tegra 2/3, TI OMAP3/4, Qualcomm Snapdragon, etc.)

SPARC

 * Gentoo developers grp tinderbox
 * http://tinderbox.dev.gentoo.org/default-linux/sparc/sparc64/


 * haslfree - Sparc64 desktop, 32 bit
 * http://mirrors.haslfree.com/portage-packages/sparc-ultrasparc-desktop/
 * ftp://ftp.sofagang.dk/portage-packages/sparc-ultrasparc-desktop/


 * Multilib + Java (32bit userland, 64bit kernel)
 * http://gentoo.fs.lmu.de/sparc/packages/

/pre>}}

To archive packages to $PKGDIR:

{{Code|Shell|