Debianpakete: Unterschied zwischen den Versionen

Aus Alexander's Wiki
Zeile 37: Zeile 37:
* reprepro -b /home/kluge/packages-0.1 export
* reprepro -b /home/kluge/packages-0.1 export
* mit ''tree packages-0.1'' kann man sich das ganze Gebilde anzeigen lassen
* mit ''tree packages-0.1'' kann man sich das ganze Gebilde anzeigen lassen
* reprepro -Vb . includedeb precise ../helloworld_all.deb





Version vom 14. Juli 2014, 14:35 Uhr

Erstellung von Debian-Paketen, die für die Installation wie apt-get benutzt werden können.

Vorbereitung

Umgebungsvariablen setzen

export DEBFULLNAME="VORNAME NACHNAME"
export DEBEMAIL="MAIL@ADRESSE"
export REPREPRO_BASE_DIR DEFAULT=/home/kluge/packages-0.1

Diese können dauerhaft in der Datei ~/.profile gespeichert werden

Nötige Pakete installieren

sudo apt-get install dh-make reprepro tree

Erzeugung eine Pakets

  • Erstellen eines Verzeichnisses mit Paketname-Version (packages)
  • mkdir packages/conf
  • editieren von packages/conf/distributions
Origin: Test-Origin
Label: Test-Label
Codename: precise
Suite: stable
Architectures: i386 amd64 source
Components: main
Codename (required) gibt den Idnetifier der Distribution an
z.B. wheezy für Debian
Suite (optional)
stable|unstable|testing
Architectures
(required) gibt die Zielarchitekturen an
Components (required)
main|contrib|...
  • reprepro -b /home/kluge/packages-0.1 createsymlinks
  • reprepro -b /home/kluge/packages-0.1 export
  • mit tree packages-0.1 kann man sich das ganze Gebilde anzeigen lassen
  • reprepro -Vb . includedeb precise ../helloworld_all.deb


  • Das Verzeichnis muss folgende Daten enthalten
xxx-1_all.deb
xxx-1_amd64.changes
xxx-1.debian.tar.gz
xxx-1.dsc
xxx.orig.tar.gz
  • In das Verzeichnis wechseln und
dh_make -f ../xxx.tar.gz

aufrufen

apt Bereitstellung

Aus dem oben erzeugten Paket müssen

  • dists und
  • pool

über einen Webservice erreichbar sein. Die Pfade

  • conf und
  • db

sollten nicht extern abrufbar sein.

Außerdem wird noch eine package.list benötigt

deb http://<URI> precise main
deb-src http://<URI> precise main

Hinzufügen des Repos am User-Client

wget http://<server>/package.list
sudo mv package.list /etc/apt/sources.list.d/
sudo apt-get update
#apt-cache search package