meolus.de

Portage

Pakete demaskieren und Overlays erstellen

Ein Package demaskieren:

Keyword: Trage das Package mit vorrausgestellter Angabe der Kategorie in die Datei 'package.keywords' ein:
# echo "gnome-extra/gdesklets-core" >> /etc/portage/package.keywords
Ein direktes Editieren dieser Datei ist natürlich auch möglich bzw. zum wieder zum wieder maskieren nötig.

Hard Masked: Trage das Package mit vorrausgestellter Angabe der Kategorie in die Datei 'package.unmask' ein:
# echo "=app-admin/filewatcher-2.4.0" >> /etc/portage/package.unmask
Durch das '=' wird sich nur auf diese Version bezogen. '<' und '>' können ebenso verwendet werden bzw. in Kombination mit '='


Ein Overlay erstellen:

Das Vorgehen wird anhand eines Beispiels gezeigt, wie die wissenschaftliche C++ Bibliothek GMM++ (http://home.gna.org/getfem/gmm_intro) zur Matrizenberechnung dem Portage mittels eines lokalen Overlays hinzugefügt werden kann. Das Ganze hat den unschätzbaren Vorteil gegenüber der manuellen Installation, dass es sich sehr einfach installieren und fast noch einfach deinstallieren lässt. Zum Glück fand sich bereits ein noch nicht aufgenommenes ebuild im Gentoo-Bugzilla http://bugs.gentoo.org, welches sich zu diesem Zweck sehr leicht adaptieren ließ. Für andere kleine Programme funktioniert dies jedoch genau so.

1.) Erzeuge das Verzeichnis in das Overlay abgelegt werden soll:
# mkdir /usr/local/overlay
Dieser und die folgenden Schritte benötigen root-Rechte!

2.) Wechsel in dieses Verzeichnis:
# cd /usr/local/overlay/

3.) Erstelle das Unterverzeichnis 'profile':
# mkdir profile

4.) Erstelle die Datei 'repo_name' für den Namen des Overlays und füge den folgenden Inhalt ein:
# nano profile/repo_name
Overlay

5.) Erstelle das Unterverzeichnis für die Kategorie (hier: 'sci-mathematics'):
# mkdir sci-mathematics
Idealerweise eine bestehende Kategorie in die das Paket passt.

6.) Erstelle in diesem das Unterverzeichnis für das eigentliche ebuild (hier: 'gmm'):
# mkdir sci-mathematics/gmm
Nur der Programmname ohne Versionsnummern (!) unter dem das Programm nachher gemergt werden soll.

7.) Wechsel in das zuletzt erstellte Verzeichnis:
# cd sci-mathematics/gmm

8.) Erstelle dort das (ersteinmal leerbleibende) Unterverzeichnis 'files':
# mkdir files

9.) Lege das ebuild mit der Versionsnummer im Dateinamen und folgendem Inhalt an:
# nano gmm-3.0.ebuild
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header:

inherit eutils

DESCRIPTION="GMM++ is a generic C++ template library for sparse, dense and skyline matrices."
SRC_URI="http://download.gna.org/getfem/stable/${P}.tar.gz"
HOMEPAGE="http://home.gna.org/getfem/gmm_intro"

LICENSE="LGPL MTL-ITL-LICENSE"
SLOT="0"
KEYWORDS="x86"
IUSE=""

src_install()
{
make DESTDIR=${D} install || die "make install failed"
dodoc AUTHORS INSTALL
}

10.) Erzeuge das ebuild:
# ebuild gmm-3.0.ebuild digest

11.) Ordne Portage benötigte Rechte an dem Overlaysverzeichnisbaums ein:
# chown -R portage:portage /usr/local/overlay/

12.) Gebe, das Overlay-Verzeichnis in der make.conf an:
# nano /etc/make.conf
PORTDIR_OVERLAY="/usr/local/overlay/"
Der gewohnten Installation mittels emerge gmm sollte nun nichts mehr im Wege stehen.


Änderungen im Overlay:

1.) Ändere die .ebuild Datei und lösche die Manifest-Datei im gleichen Verzeichnis, sowie die dazugehörige Datei im 'files'-Unterordner:

2.) Erzeuge das ebuild erneut:
# ebuild gmm-3.0.ebuild digest

3.) Ordne Portage benötigte Rechte an dem Overlaysverzeichnisbaums erneut ein:
# chown -R portage:portage /usr/local/overlay/

Erstellt am 20.07.2007 von Marcel Gehrmann

zurück zur Übersicht
Copyright © meolus, 2002-2015