Eigenes debian Paket erstellen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Eigenes debian Paket erstellen

Beitrag von vicodas » 21.02.2007 07:44:28

Hi,

ich habe hier ein kleinens Projekt, was einige binaries und ein init.d Scipt beinhaltet.
Weiterhin ist ein User einzurichten und deren Key ins ssh Verzeichnis zu kopieren.
Dieses alles möchte ich ein ein deb Paket packen, wie stelle ich das am besten an?


thx vicodas

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 21.02.2007 07:49:15

Hi

Schau mal unter [1], evtl. hilft Dir das schon...

[1] http://wiki.debianforum.de/KompilierenU ... ckAndDirty

Benutzeravatar
I.C.Wiener
Beiträge: 674
Registriert: 19.08.2003 18:45:35

Beitrag von I.C.Wiener » 21.02.2007 08:25:37

Oder lies den Maintainer's Guide. Dieser ist zwar ein ziemlich hartes Brot, aber dann machst du es gleich auf dem richtigen Weg.
Entweder
http://www.debian.org/doc/manuals/maint ... ex.de.html
oder das Paket maint-guide-de installieren und unter /usr/share/doc/maint-guide/ nachschauen.

MfG
Who is... LAIN?

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Beitrag von vicodas » 21.02.2007 09:22:08

ok, danke erstmal für die Links, das ist aber für das "bisschen" ziemlich harter Tobak :?

thx vicodas

Benutzeravatar
I.C.Wiener
Beiträge: 674
Registriert: 19.08.2003 18:45:35

Beitrag von I.C.Wiener » 21.02.2007 09:52:51

Also nur, falls das jetzt nicht deutlich geworden ist (wird es wohl erst, wenn man beide Dokumente gelesen hat :)).
Der Link von Snoopy ist für den Fall, dass du "eben mal" ein Paket bauen möchtest um es bei dir zu installieren, oder einem Kumpel zu geben, oder es auf deiner Webseite zur Verfügung zu stellen. Solange es nichts kaputt macht, wird sich keiner beschweren.
Der Maintainer's Guide ist für Debian-Entwickler. Dort werden viele "politische" Belange besprochen (der richtige politische Klumpen ist dann aber die Debian Policy!) und alles sehr restriktiv gehandhabt, was die Lernkurve sehr stark hebt.

Ich habe den Maintainer's Guide nur erwähnt, da es auch hätte sein können, dass du dein Paket irgendwann im offiziellen Debian sehen wollen würdest. Ist das nicht so, reicht der erste Link völlig aus.

Edit: Und da sich gerade noch die Möglichkeit bietet, hier noch ein Link: http://debiananwenderhandbuch.de/debianpakete.html
Einige der Kapitel sind sicherlich für ein erweitertes Hintergrundverständnis sinnvoll und es ist, wie ich finde, einfacher geschrieben als der Maintainer's Guide.

MfG
Who is... LAIN?

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Beitrag von vicodas » 21.02.2007 10:59:07

Hi,

nun habe ich alle Dokus gelesen und bin bedingt schlauer :(
Wie erwähnt, ich habe keine Sourcen, nur fertige Binaries und kein makefile etc.

Was muß ich dafür erstellen und wo lege ich die zu kopierenden Dateien hin?
Es muß doch eine Datei geben, in der ich dieses festlege?
Gibt es für diese rudimentäre Aufgabe irgendwo ein HOTOW?

thx vicodas

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Beitrag von vicodas » 27.02.2007 13:08:25

Hi,

habe es nun doch geschafft mein Paket zu bauen :D

Nun stellt sich mir die Frage der Verteilung.
Das Paket soll nur intern in der Firma verteilt werden.
Wie kann ich dieses Paket in meinen vorhandenen apt-proxy integrieren?

thx vicodas

Benutzeravatar
I.C.Wiener
Beiträge: 674
Registriert: 19.08.2003 18:45:35

Beitrag von I.C.Wiener » 27.02.2007 14:28:57

Moin,

ich kenne nur folgenden Weg, es könnte aber auch schönere geben:
- Verzeichnis erstellen und Datei hineinkopieren
- "apt-ftparchive packages . > Packages" in diesem Verzeichnis ausführen
- Verzeichnis in die apt-proxy-Konfigurationsdatei eintragen ("file:///var/cache/eigene_debs/")

MfG
Who is... LAIN?

Benutzeravatar
dopehouse
Beiträge: 452
Registriert: 01.09.2005 12:02:16
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Hildesheim (Niedersachsen)
Kontaktdaten:

Beitrag von dopehouse » 27.02.2007 17:47:03

ahoi,

habe hier auch ein kleines repository, das ich mittels reprepro ( http://mirrorer.alioth.debian.org/ ) betreibe. funktioniert ganz gut. lohnt sich aber auch nur, wenn man mehr als ein oder zwei pakete darin pflegt. eine anleitung ist in dem paket enthalten und das paket selbst ist auch in etch enthalten. mittels http- oder ftp-server kann das repository dann verbreitet werden. bei weiteren fragen stehe ich gerne zur verfügung.

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Beitrag von vicodas » 28.02.2007 12:47:42

dopehouse hat geschrieben:ahoi,
bei weiteren fragen stehe ich gerne zur verfügung.
eine hätte ich noch...
Der Tip mit reprepro war gut, das System läuft jetzt bei mir.
Leider habe ich das Updaten der Pakete nicht verstanden :cry:
Was machst Du, wenn Du ein Paket aktualisieren möchtest?

mfg vicodas

Benutzeravatar
dopehouse
Beiträge: 452
Registriert: 01.09.2005 12:02:16
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Hildesheim (Niedersachsen)
Kontaktdaten:

Beitrag von dopehouse » 28.02.2007 14:32:54

Zunächste werd ich hier mal meine Konfigurationsdateien hinterlassen:

distribustions (Nicht verwirren lassen. Hab mir mal erlaubt Etch als Stable zu verlinken ;) ):

Code: Alles auswählen

Origin: Hans Wurst
Label: dopehouse
Suite: stable
Codename: etch
Version: 4.0
Architectures: i386 source
Components: main non-free contrib
Description: The dopehouse apt-repository
SignWith: meine@mail.adresse
DebIndices: Packages Release . .gz .bz2
UDebIndices: Packages . .gz
DscIndices: Sources Release . .gz .bz2
Pull: stable-update

Origin: Hans Wurst
Label: dopehouse-unstable
Suite: unstable
Codename: sid
Architectures: i386 source
Components: main non-free contrib
Description: The dopehouse apt-repository
SignWith: meine@mail.adresse
DebIndices: Packages Release . .gz .bz2
UDebIndices: Packages . .gz
DscIndices: Sources Release . .gz .bz2
Und dann noch im Verzeichnis mit den Konfigurationsdateien eine Datei namens "pulls" anlegen mit folgendem Inhalt:

Code: Alles auswählen

Name: stable-update
From: sid
Nun lade ich neue Pakete immer in den SID Zweig hoch, wie es in einer der Anleitungen beschrieben ist. Anschließend führe ich

Code: Alles auswählen

reprepro pull etch
aus, um die neuen Pakete von SID nach Etch zu übergeben.

Dabei sollten die Pakete allerdings auch unterschiedliche Versionsnummern haben.

vicodas
Beiträge: 148
Registriert: 28.06.2006 19:17:17
Wohnort: Frankfurt

Beitrag von vicodas » 15.03.2007 10:18:50

Hallo,

ich muß den Thread noch einmal aufmachen...
Ich habe in meinem Paket ein Perlscript welches zusätzliche Pakete benötigt.
Wie kann ich diese Abhängigkeit mit integrieren, so das eine bestimmte Perlversion und ein Paket mit dem Namen xyz installiert ist?

thx vicodas

Antworten