Paket aus Quellcode bauen

Paket aus Quellcode bauen

Beitragvon Nilpferd » 01.06.2015 20:43

Hallo zusammen,

ich stehe gerade vor einem etwas komischen Problem und am Rande der Verwirrung.
Muss einige Pakete selber bauen und wollte diese aus den aktuellsten Sources bauen.
Dazu wollte ich die Sources aus dem Debian Repo nicht nehmen und die aktuellen Sources von den Projektseiten beziehen.

Ich habe nun mal mit der mir einfachsten Möglichkeit dh_make die nackten Sources mit entsprechenden Paketinformationen versehen.
Unter
Code: Alles auswählen
 debian/control
habe ich dann auch entsprechende Angaben angepasst (Paketname etc.)

Eigentlich müsste sich danach das Paket mit
Code: Alles auswählen
 dpkg-buildpackage -us -uc
bauen lassen.

Code: Alles auswählen
root@cln1:~/build/libqb-0.17.1# dpkg-buildpackage -us -uc
dpkg-buildpackage: Quellpaket libqb
dpkg-buildpackage: Quellversion 0.17.1-1
dpkg-buildpackage: Quelldistribution unstable
dpkg-buildpackage: Quellen geändert durch root <root@cln1.linetz.de>
dpkg-buildpackage: Host-Architektur amd64
 dpkg-source --before-build libqb-0.17.1
 debian/rules clean
dh clean
 dh_testdir
 dh_auto_clean
 dh_clean
 dpkg-source -b libqb-0.17.1
dpkg-source: Information: Quellformat »3.0 (quilt)« wird verwendet
dpkg-source: Information: libqb wird unter Benutzung des existierenden ./libqb_0.17.1.orig.tar.gz gebaut
dpkg-source: Information: libqb wird in libqb_0.17.1-1.debian.tar.xz gebaut
dpkg-source: Information: libqb wird in libqb_0.17.1-1.dsc gebaut
 debian/rules build
dh build
 dh_testdir
 dh_auto_configure
 dh_auto_build
 dh_auto_test
 debian/rules binary
dh binary
 dh_testroot
 dh_prep
 dh_installdirs
 dh_auto_install
 dh_install
dh_install: libqb-dev missing files (usr/include/*), aborting
debian/rules:22: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules binary war 2

Laut diverser ähnlicher Fehler fehlen wohl Ausführrechte unter
Code: Alles auswählen
 debian/*

Aber egal wie ich es da dreh und wende ich stolper immer wieder in unterschiedliche Fehler.

Hier noch einen Fehlercode wenn ich auf die Elemente unter debian/* Ausführrechte vergeben habe
Code: Alles auswählen
/root/build/libqb-0.17.1/debian/libqb-dev.dirs: 1: /root/build/libqb-0.17.1/debian/libqb-dev.dirs: usr/lib: not found
/root/build/libqb-0.17.1/debian/libqb-dev.dirs: 2: /root/build/libqb-0.17.1/debian/libqb-dev.dirs: usr/include: not found
dh_installdirs: problem reading debian/libqb-dev.dirs:
debian/rules:22: recipe for target 'binary' failed
make: *** [binary] Error 127
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules binary war 2


So ganz steig ich noch nicht durch wieso die Ausführrechte damit zu tun haben. Werden unter
Code: Alles auswählen
 debain/
Scripte ausgeführt?
Auch die misteriösen Pfadangaben unter bsp.
Code: Alles auswählen
 usr/lib
statt
Code: Alles auswählen
 /usr/lib
tragen zu meiner Verwirrung bei.

Vielleicht bringt mir da jemand etwas Licht ins Dunkle.
Danke und Grüße

Nilpferd
Doch aus der mich umgebenden Dunkelheit und Leere ertönte plötzlich eine mächtige Stimme, welche die alles entscheidende Frage stellte: "Häh?"
Benutzeravatar
Nilpferd
Site Admin
 
Beiträge: 138
Registriert: 20.09.2014 13:21

Re: Paket aus Quellcode bauen

Beitragvon TomcatMJ » 27.11.2015 11:04

Die Frage ist zwar schon was länger her und ich bin kein Progger geschweige denn Paketbastler, aber mir springen bei der Beschreibung 2 Sachen ins Auge:
1.) Wo hast du dein Install-root Verzeichnis denn vordefiniert? Sowohl usr/lib als auch usr/include sind ja Angaben die relativ zum install-root zu sehen sind, denn Paketmanager bieten ja nicht umsonst eine Installation in definierbare Verzeichnisse an die vom / abweichen können wenn mans explizit so will,daher ist in Paketen üblicherweise das install-root separat vordefiniert aber abänderbar per Parameteraufruf bei der Installation durch einen Paketmanager weswegen dafür eine separate und halt vordefinierbare Variable benötigt wird.
2.) Ausführungsrechte auf das Verzeichnis debian/ sind vermutlich für preinstallscripte (in denen man ja unter anderem die Abhängigkeiten von anderen Paketen prüfen kann) und postinstallscripte (in denen Grundkonfigurationen durchgeführt werden können) notwendig,so wie es bei rpm Paketen ebenfalls ist.

Wenns rein für den Eigengebrauch sein sollte würde ich mir den Stress mit dpkg-buildpackage schlichtweg sparen und den Quickhack mit checkinstall erstmal probieren da das weniger Aufwand benötigt um ein Paket hinzubekommen ;)

Naja, vermutlich kommt diese Antwort aber wohl eh paar Monate zu spät,vielleicht hilfts aber dem nächsten suchenden User weiter ;)
Benutzeravatar
TomcatMJ
 
Beiträge: 142
Registriert: 20.09.2014 18:16
Wohnort: Köln


Zurück zu Debian

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron