Lokales Overlay erstellen
Warum lokales Overlay?
Ich wollte nur eine bestimmt Version von Skype installieren, die aus dem Overlay Sabayon stammt. Da in diesem Overlay aber noch jede Menge Pakete für Gnome drin sind, die ich nicht installieren möchte, habe ich mich für ein lokales Overlay entschieden, um nur dieses eine Paket in den Portage Tree einzubinden.
Erstellen
Ich habe mir ein Verzeichnis für mein lokales Overlay erstellt:
sudo mkdir -p /usr/local/portage/overlay
sudo chown portage:portage /usr/local/portage/overlay
Dann habe ich auf http://gpo.zugaina.org/ nach meinem Paket gesucht, in dem Fall Skype. Die Download-Links, die euch dort angeboten werden, laden ein Ebuild runter, in meinem Fall war es "skype-2.1.0.47.ebuild". Da Skype aus der Kategorie net-im kommt, erstellen wir jetzt in unserem Overlay den Ordner net-im und darin den Ordner Skype und kopieren dort unser Ebuild rein
sudo mkdir -p /usr/local/portage/overlay/net-im/skype
sudo cp /home/felix/Downloads/skype-2.1.0.47.ebuild /usr/local/portage/overlay/net-im/skype/
sudo chown -R portage:portage /usr/local/portage/overlay/*Jetzt müssen wir für dieses Ebuild noch das Manifest erstellen
sudo ebuild /usr/local/portage/overlay/net-im/skype/skype-2.1.0.47.ebuild manifest
Als letztes müssen wir Portage nun noch sagen, dass es ein Overlay gibt, dass benutzt werden soll. Dazu fügen wir folgendes in die /etc/make.conf ein:
PORTDIR_OVERLAY="/usr/local/portage/overlay/"
Dem eigenen Overlay einen Namen geben:
mkdir -p /usr/local/portage/overlay/profiles
touch /usr/local/portage/overlay/profiles/repo_name
echo "my_overlay_name" >> /usr/local/portage/overlay/profiles/repo_nameDa es sich bei meiner Skype-Version um ein x86 Paket gehandelt hat, konnte ich das Paket jetzt mit emerge -av skype installieren. Sollte euer Paket für ~x86 sein (amd64 / ~amd64 genauso), müsst ihr es noch demaskieren, wenn ihr ein stable System habt.
Sollte euer Paket Abhängigkeiten haben, die sich mit Hilfe des normalen Portage-Trees nicht auflösen lassen, kann es sein, dass ihr weitere Pakete in euer Overlay stecken müsst (man denke an Gnome oder KDE).