debian paket bauen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
myzinsky
Beiträge: 19
Registriert: 06.01.2007 13:52:54
Kontaktdaten:

debian paket bauen

Beitrag von myzinsky » 29.02.2008 15:43:40

hi ho,
ich finde im netz eigendlich nur tutorials wie man zu kompilierende pakete baut....

ich möchte ein einfaches perlscript und dazugehörige konfigurationsdateien in ein packet packen
und natürlich dann bei der installation nach debian policy in die verschidenen verzeichnisse verteilen.
wie stell ich das am besten an?
gibt es da evt ein kleines tutorial?

lg, danke

Liffi
Beiträge: 2345
Registriert: 02.10.2004 01:33:05

Beitrag von Liffi » 29.02.2008 20:18:21

Hier wurde das zur Zufriedenheit gelöst... glaube ich;-)

myzinsky
Beiträge: 19
Registriert: 06.01.2007 13:52:54
Kontaktdaten:

Beitrag von myzinsky » 29.02.2008 20:49:11

ja aber das sind alles immer beschreibungen für compilierungs programme
ich will ja nurn script in /usr/bin legen und die config nach /etc ^^

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 29.02.2008 21:06:06

http://www.brummer.de.hm/buildpaket.html

dann suchst du sowas ?

gruß brummer

myzinsky
Beiträge: 19
Registriert: 06.01.2007 13:52:54
Kontaktdaten:

Beitrag von myzinsky » 29.02.2008 21:09:25

hey ja das sieht shconmal besser aus ich danke dir!

Benutzeravatar
Profbunny
Beiträge: 592
Registriert: 04.04.2004 11:12:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bautzen

Beitrag von Profbunny » 29.02.2008 21:23:27

ich glaube cp wird in dem rules script, zumindest bei den mentor nicht gern gesehen. dh_install sollte da besser passen, denn es passt(wenn ich nicht irre) auch gleich die rechte an.

hth
Rechner / Server Debian sid

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 29.02.2008 22:17:48

Profbunny hat geschrieben:ich glaube cp wird in dem rules script, zumindest bei den mentor nicht gern gesehen. dh_install sollte da besser passen, denn es passt(wenn ich nicht irre) auch gleich die rechte an.

hth
Hi,

diese Frage beschäftigt mich auch gerade. Was ist denn dann mit den "normalen" makefiles anderer Pakete? Werden die beim erstellen Erstellen von Debian-Paketen ignoriert und jeweils über neue debian/myapp.install-Dateien installiert?

Ich habe hier zum Beispiel gerade ein paar Python-Skripte, die über einen eigenen Installer verfügen. Soll ich nun den Installer im Makefile aufrufen oder den Installer umgehen und die Skripte per dh_install installieren? Leider konnte ich im Netz noch nicht so viel ausschlaggebendes dazu finden..
Gruss,
mauser

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 01.03.2008 01:38:07

Du lässt den Installer die Dateien zum Beispiel nach debian/tmp installieren. Auf die verschiedenen Pakete kannst du die Dateien dann über die *.install Dateien verteilen.
Gibt es nur ein Paket fällt dieser Schritt weg.

Was genau der Weg für Python ist weiß ich gerade nicht, es gibt da nämlich auch noch die Python-Policy: http://www.debian.org/doc/packaging-man ... on-policy/
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
Profbunny
Beiträge: 592
Registriert: 04.04.2004 11:12:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bautzen

Beitrag von Profbunny » 01.03.2008 10:09:44

mauser hat geschrieben: Hi,

diese Frage beschäftigt mich auch gerade. Was ist denn dann mit den "normalen" makefiles anderer Pakete? Werden die beim erstellen Erstellen von Debian-Paketen ignoriert und jeweils über neue debian/myapp.install-Dateien installiert?

Ich habe hier zum Beispiel gerade ein paar Python-Skripte, die über einen eigenen Installer verfügen. Soll ich nun den Installer im Makefile aufrufen oder den Installer umgehen und die Skripte per dh_install installieren? Leider konnte ich im Netz noch nicht so viel ausschlaggebendes dazu finden..
Gruss,
mauser
solche fragen stellst du am besten auf der mentors mailling list. makefiles werden nicht ignoriert, sondern mit zu compilieren verwendet. wie du die source auch normal compilieren würdest.

man gibt nur durch das rules script ein paar flags mit und biegt die pfade für configure auf den debian way. möglicherweise muss man machmal das makefile anpassen, z.b. wenn direkte pfade programmiert wurden.
Rechner / Server Debian sid

myzinsky
Beiträge: 19
Registriert: 06.01.2007 13:52:54
Kontaktdaten:

Beitrag von myzinsky » 01.03.2008 10:14:03

ich hab den kram jetzt über die rules datei gemacht!

hier ein ausschnitt:

Code: Alles auswählen

install:
        dh_testdir
        dh_testroot
        dh_clean -k 
        dh_installdirs
        
        install scriptname.pl      $(DESTDIR)/usr/lib/
        install scriptname.conf     $(DESTDIR)/etc/scriptname/


Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 01.03.2008 11:54:25

Hört sich sehr interessant an.

Hast du nun ein *.deb-Package erstellt?

Könntest du vielleicht mal alle Schritte posten und eventuell dein Skript. Würde nämlich auch mal gerne ein Skript von mir so aufnehmen.

Danke.
Oh, yeah!

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 01.03.2008 15:41:20

Hi Duff,

hast du denn schon den von Brummer geposteten Link ausprobiert ? Damit kommt man eigentlich recht schnell zu einem Debian-Paket. Wenn dazu noch Fragen sind kann man die ja hier klären. Ich wollte nächste Woche mal eine Wiki-Seite zu dem Thema in Angriff nehmen...
Gruss,
mauser

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 01.03.2008 22:43:41

Hallo

Die Paketbaubeschreibung is von mir geschrieben. Es sollte der einfachsten weg zum Einstieg in den Paketbau sein.
Wer sich dann besser auskennt kann das dann auch über die debian/rules machen. (mach ich meistens auch so).
ich glaube cp wird in dem rules script zumindest bei den mentor nicht gern gesehen.
Das glaub ich aber nicht. Das ist der normale weg der von den meißten Makefiles und auch scons verwendet wird. Und diese werden von debian/rules ausgeführt.
Du lässt den Installer die Dateien zum Beispiel nach debian/tmp installieren. Auf die verschiedenen Pakete kannst du die Dateien dann über die *.install Dateien verteilen.
Gibt es nur ein Paket fällt dieser Schritt weg.
Hierfür verwende ich mv. Ich lasse erst alles in ein Paket installiern und move dann (in den debian/rules) die ensprechenden Dateien nach .dev oder was so anliegt. Wichtig für .dev's is der aufruf von dh_makeshlibs und dh_shlibdeps, damit man sie auch zum compilieren davon abhängiger Pakete benutzen kann.

brummer

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 02.03.2008 13:08:18

Also die Anleitung von Brummer ist schon sehr ausführlich und gut geschrieben.

Mich würde nur mal interessieren, welche Skripts (also wie umfangreich und aufwendig) man am besten diesem Aufwand unterzieht?
Oh, yeah!

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 02.03.2008 13:21:23

Ich würde sagen das liegt im Auge des Betrachters. Du kannst natürlich deine Scripte ablegen wo du willst. Allerdings ist die Sauberste Lösung IMMER das Debian Paket. Besonders wenn du deine Sripte weitergeben willst, kannst du die benötigten Pfade so festlegen und brauchst evtl. configs nicht zu suchen.
Wenn du die Prozedur mal durchziehst wirst du feststellen das der Aufwand doch sehr gering ist. Auch fällt durch den Lehrneffect das kompiliern anderer sorcen leichter.

brummer

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 02.03.2008 13:25:03

Das stimmt natürlich, nur ist die Frage, ob kleine Skripte, die einem die Arbeit erleichtern sollen, für sowas sinnvoll sind.

Und wie sieht es mit dem Erstellen von manpages oder README-Dateien für das Skript aus?
Sowas müsste man doch dann auch noch erstellen.
Oh, yeah!

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 02.03.2008 23:22:16

Und wie sieht es mit dem Erstellen von manpages oder README-Dateien für das Skript aus?
Sowas müsste man doch dann auch noch erstellen.
Ja sicher, README Dateien instalierst du wie Icons, auch manpages kannst du so installiern.
manpages kannst du aber auch über die debian/rules mit hilfe von dh_installman installiern.
Aber "müßte" würd ich nicht dazu sagen, immerhin verwenden wir hier ja ein freies Betriebssystem.
Ein kleines Script, benötigt sicher keine manpage, wenn es selbsterklärend ist. Die README wird vieleicht von 1 unter 100 gelesen. Also "müßte", . . . naja.
nur ist die Frage, ob kleine Skripte, die einem die Arbeit erleichtern sollen, für sowas sinnvoll sind.
??? Wer soll den entscheiden ob dein kleines Script dafür sinvoll ist. Ich persönlich installiere GARNICHTS in / was ich nicht vorher in ein Paket gepakt hab.
Einige kleine sachen hab ich in Home und starte sie von da.

brummer

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 03.03.2008 01:57:29

he!
brummer hat geschrieben:Ein kleines Script, benötigt sicher keine manpage, wenn es selbsterklärend ist.
setz' mal den jungen Leuten keine Flausen in den Kopf! ;)
'Debian Policy Manual' hat geschrieben:If no manual page is available, this is considered as a bug and should be reported to the Debian Bug Tracking System (the maintainer of the package is allowed to write this bug report themselves, if they so desire). Do not close the bug report until a proper man page is available.
und das ist gut so (jedenfalls für mich).
Umgekehrt sollte eine README ab Version 1.1 nicht mehr
nötig sein -- es gibt ja eine manpage...
Beware of programmers who carry screwdrivers.

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 03.03.2008 07:00:08

Ja, da hast du natürlich recht. Die manpage ist eine feine Sache, die Mühe eine zu schreiben sollte man auf jeden Fall auf sich nehmen, wenn das Paket weitergegeben werden soll. :)

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 03.03.2008 08:37:33

brummer hat geschrieben:Ja, da hast du natürlich recht. Die manpage ist eine feine Sache, die Mühe eine zu schreiben sollte man auf jeden Fall auf sich nehmen, wenn das Paket weitergegeben werden soll. :)
Ok, das leuchtet mir ein.
Dann kommt aber noch die Frage, wie man genau diese schreiben muss bzw. wie man sie aufbauen muss.
Oh, yeah!

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Beitrag von brummer » 04.03.2008 00:47:33

Die manpage ist eine feine Sache,
wie fein, das zeigt z.b. der Befehl man man:wink:
der sollte deine Frage auflösen. :)

brummer

Antworten