Eigene Slackware-Pakete erstellen

Was unter Windows und MacOS gang und gäbe ist, will ich auf Linux ja auch haben. Ein wichtiger Grund für mich Slackware zu nutzen, ist die Unabhängigkeit von einem Pakete-Manager und vergleichsweiße einfache Erstellung der Distributionseigenen Pakete für Slackware. Den ein Paket kann man später einfacher aus dem System entfernen.

Heute war so ein Fall, wo ich eine bestimmte Software haben wollte, aber es für meine Distribution nicht gibt. Ich habe ein Buch um Python zu lernen, aktuell zu Python3 Version 3.4.5. Ein blick in Slackbuilds.org zeigt mir, das Python3 Version 3.6.0 gerade aktuell ist. Das möchte ich erstmal aber nicht haben. Ein händisches Anpassen der Slackbuild-Skripte brachte kein Erfolg. Von früher her kenne ich aber Wege, wie man händisch auch so sein Programm kompilieren und Paketieren kann.

Der Beitrag von Christian Schneider Slackware Packages erstellen hat mich wieder auf den Kurs gebracht. Immerhin wußte ich noch, das ich bei .configure den –prefix setzen musste…

Ich baue mir also mein python3-3.4.5 selbst. Hier mein Weg.

  1. Downloaden von Python3-3.4.5
  2. In einem Ordner Python3-3.4.5 auspacken
  3. Ins Terminal gehen und in den Ordner mit Python wechseln
  4. .configure –prefix=/usr ausführen, das bestimmt das Ziel wo die Software später landet.
  5. grep -r DESTDIR * ausführen und die Ausgabe nach DESTDIR Eintrag suchen.
  6. Ist es gefunden worden, führt man make DESTDIR=/tmp/packages/python3-3.4.5 install aus. Falls nicht, make prefix=/tmp/packages/python3-3.4.5/usr install.
  7. Nun wechselt man in den python-Ordner, cd /tmp/packages/python3-3.4.5 und mit makepkg /tmp/python3-3.4.5.txz baut man sich sein Paket. Wichtig ist die die Zielangabe, weil ein bauen im selben Ordner, makepkg mit einem Fehler fehlschlägt.
  8. Das paket installieren und nutzen.

Fertig! 🙂

Ich kann jetzt Python3.4.5 für das Selbststudium nutzen und später ein aktuelles Python wählen. Solange ich aber das Buch abarbeiten will, will ich soviel wie möglich gleich haben. Auf Windows und MacOS habe ich auch Python3-3.4.5 laufen. Alles ist also überall gleich. Herrlich 🙂