Wer die neueste Eclipse Version für Debian oder Ubuntu 11.04 benötigt, der hat ein Problem. Die, sowohl in Ubuntu Natty als auch in Debian Sid verfügbare Version ist 3.5, obwohl seit Juni 2010 3.6 verfügbar ist oder sogar seit diesem Jahr 3.7 Indigo. In Ubuntu 11.10 dagegen ist endlich die neue Version 3.7 verfügbar.
Ein Grund für die zögerliche Paketierung könnte sein, dass Eclipse bereits eine interne Paketverwaltung mitbringt, über die Plugins mittels Paketquellen installiert werden können. Eventuell haben wenige Leute Interesse daran Eclipse zu paketieren. Deshalb bin ich dazu übergegangen mir selbst ein eigenes Eclipse Paket zu bauen, und dieses über APT zu installieren. Wie das ganze funktioniert, beschreibe ich hier.
Vorbereiten und Erstellen des Arbeitsverzeichnisses
Bevor wir mit der Paketierung starten können, benötigen wir noch einige Pakete und ein Arbeitsverzeichnis, in dem wir später unser Eclipse Paket bauen werden.
$ sudo apt-get install fakeroot dpkg-dev debhelper unp
Hiermit werden einige Tools installiert, die wir benötigen um die entsprechenden Rechte des Pakets zu setzen und dieses schlussendlich zu bauen.
$ mkdir eclipse-sdk
Innerhalb dieses Arbeitsverzeichnisses müssen nun die Ordner so angelegt werden, wie sie später auf dem Dateisystem abgebildet werden sollen. Legt man also innerhalb dieses Ordners eclipse-sdk
den Ordner bin
an und speichert dort Dateien, so werden diese Dateien später nach /bin
installiert. Userprogramme werden unter Linux üblicherweise unter /usr
installiert. Ich lasse den Inhalt des Archivs nach /usr/lib/eclipse
installieren.
Eclipse herunterladen und Paket vorbereiten
Ich installiere mir das Eclipse SDK, also mit bereits installierten JAVA Development Tools und in der 64-Bit Variante. Wer eine andere Version braucht, sollte dies anpassen.
$ wget http://download.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/download.php?dropFile=eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz $ unp eclipse-platform-3.6.2-linux-gtk-x86_64.tar.gz $ mkdir -p eclipse-sdk/usr/lib $ mv eclipse eclipse-sdk/usr/lib/eclipse
Anschließen erstellen wir ein Skript, mit dem wir Eclipse starten können. Startskripte werden in /usr/bin
abgespeichert.
$ mkdir -p eclipse-sdk/usr/bin $ touch eclipse-sdk/usr/bin/eclipse $ chmod +x eclipse-sdk/usr/bin/eclipse
Mit dem zweiten Befehl erstellen wir eine leere Datei und geben dieser mit dem dritten Befehl Ausführrechte. Nun sollten wir dem Startskript natürlich auch einen Inhalt geben. Dies kann entweder mit einem Konsolen-Editor geschehen (wie vi oder nano) oder auch mit einem grafischen Editor (z.B. gedit, …). Folgenden Inhalt bekommt unser Startskript:
#!/bin/sh exec /usr/lib/eclipse/eclipse "$@"
„$@
“ bewirkt, dass dem Skript mitgegebene Parameter an Eclipse weitergereicht werden. Nun müssen wir noch einen Menüeintrag erstellen, so dass sich Eclipse auch bequem aus dem Anwendungsmenü heraus starten lässt.
$ mkdir -p eclipse-sdk/usr/share/applications $ nano eclipse-sdk/usr/share/applications/eclipse.desktop
[Desktop Entry] Encoding=UTF-8 Type=Application Name=Eclipse Exec=eclipse Terminal=false Icon=/usr/lib/eclipse/icon.xpm Comment=Eclipse Integrated Development Environment Categories=Development;IDE;
Nun haben wir also ein Startskript, einen Anwendungsstarter sowie einen Programmordner. Fehlen nur noch Informationen, die das Paket näher beschreiben, damit auch APT was damit anfangen kann.
Paketinformationen und paketieren
Wir brauchen für die Paketierung eine Debain Control Datei. Die das Paket näher beschreibt und Abhängigkeiten auflistet.
mkdir eclipse-sdk/DEBIAN nano eclipse-sdk/DEBIAN/control
In die Control Datei kommt folgender Inhalt:
Package: eclipse-sdk Version: 3.7.1 Architecture: amd64 Maintainer: InsertYourNameHere Depends: openjdk-6-jre | sun-java6-jre Section: devel Priority: optional Description: Eclipse IDE, static-linked, minimal plugins.
Als Maintainer sollte euer Name stehen. Die Abhängigkeiten die Eclipse benötigt sind Java. Egal ob dies OpenJDK oder doch Sun Java ist. Alles andere ist bei Eclipse dabei.
Nun verpacken wir das Paket und können dies dann ganz bequem installieren.
$ fakeroot dpkg -b eclipse-sdk eclipse-sdk_3.7.1_amd64.deb $ sudo dpkg -i eclipse-sdk_3.7.1_amd64.deb
Wenn fakeroot
nicht vergessen wurde (wird benötigt um die Rechte richtig zu setzen!) sollte Eclipse jetzt problemlos starten.
Getestet mit Ubuntu 11.10 und Ubuntu 11.04.