Pakete und Abhängigkeiten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Pakete und Abhängigkeiten

Beitrag von The Hit-Man » 09.01.2024 17:44:48

Ich habe mir erfolgreich Kodi 20.2 aus den Sourcen für bullseye gebaut. Also so richtig Debian-Style. Ich bekomme auch ganz normal die BinaryPakete gebaut und kann diese auch installieren. Allerdings fehlen mir dann die Abhängigkeiten für die Binaries. Diese mußte ich mir dann auf dem Zielsystem mühselig zusammen suchen und dann lief das Kodi auch. Meine Frage ist, wie bekomme ich die Abhängigkeiten heraus, die auf dem Zielsystem installiert werden müssen und wo trage ich sie ein, damit diese automatisch mit installiert werden? Oder gibt es da was automatisches? Oder mache ich noch etwas falsch?
Es wird ja beim bauen des Paketes gegen bestimmte libs gelinkt und genau die brauche ich ja auch auf dem Zielsystem. Weiß da jemand etwas?
Zuletzt geändert von JTH am 09.01.2024 18:54:25, insgesamt 1-mal geändert.
Grund: Nach „Softwareentwicklung und -paketierung, Scripting“ verschoben
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

fischig
Beiträge: 4124
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Pakete und Abhängigkeiten

Beitrag von fischig » 09.01.2024 18:11:45

Ich bin zu unbedarft, um das sicher beantworten zu können, aber via Paketsuche kannst du doch die Abhängigkeiten erfahren?

Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Pakete und Abhängigkeiten

Beitrag von The Hit-Man » 09.01.2024 18:16:53

Ich bin zu unbedarft, um das sicher beantworten zu können, aber via Paketsuche kannst du doch die Abhängigkeiten erfahren?
Hatte ich auf dem Zielsystem ja auch so gemacht ... Aber es muß doch eine Möglichkeit geben, die Abhängigkeiten gleich mit ins .deb zu packen. Genau so, wie ich es ja auch machen muß um das Paket zu bauen, die ganzen *dev Files. Dafür gibts ja die control Datei ...
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

JTH
Moderator
Beiträge: 3077
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Pakete und Abhängigkeiten

Beitrag von JTH » 09.01.2024 18:49:01

Ohne genauere Infos, was du im Einzelnen gemacht und evtl. an den Quellen verändert hast, nur eine allgemeine Antwort:

Ja, selbstverständlich gibts in gebauten Binärpaketen Angaben zu Abhängigkeiten. Ebenfalls in der von dir erwähnten control-Datei (in den Quellen: debian/control). Zu jedem einzelnen Binärpaket stehen in letzterer die Abhängigkeiten drin.

Beispiel aus den kodi-Quellen:

Code: Alles auswählen

Package: kodi
Architecture: any
Depends: kodi-bin (>= ${source:Version}),
         kodi-bin (<< ${source:Version}.1~),
         kodi-data (>= ${source:Version}),
         ${misc:Depends}

…

Package: kodi-bin
Architecture: any
Depends: python3-pil,
         python3-pycryptodome,
         ${python3:Depends},
         ${dlopenlibs:Depends},
         ${shlibs:Depends},
         ${misc:Depends},
Die ersten drei Zeilen sind hier nur dazu da, Inkompatibilitäten auszuschließen. Ansonsten siehst du, dass da nur zwei Python-Packages explizit aufgeführt sind. Der Rest, besonders Bibliotheken, gegen die gelinkt wurde, wird normalerweise mit Hilfe von z.B. dh_shlibdeps vollautomatisch einfügt – dafür sind diese ${xxx:Depends}-Platzhalter da. (Hinter dem Mechanismus stecken u.a. ein paar debhelper-Regeln.)

Nur für die Build-Depends muss man die Namen in debian/control explizit aufführen – die kann ja kein Werkzeug erraten.

Also um dir damit weiterzuhelfen, warum das bei dir anscheinend nicht mehr funktioniert, musst du verraten, ob und wenn ja was du an den Quellen verändert hast (besonders in den Dateien im debian/-Ordner) ;)
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Pakete und Abhängigkeiten

Beitrag von The Hit-Man » 09.01.2024 20:33:45

Ja, was habe ich gemacht ... Schwer zu sagen. Sind meine ersten Geh-Versuche ...
Ich habe mir von github die Version 20.2 per tar.gz geholt ... die control datei von debian sid genommen und angepaßt. Das rule file habe ich mir selber zusammen geklöppelt. Die changelog komplett neu gemacht. Die restlichen Sachen, wie kodi.install auch zusammen geklöppelt aus debian sid ...
Eine *.dsc Datei hatte ich nicht.
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Pakete und Abhängigkeiten

Beitrag von The Hit-Man » 09.01.2024 20:36:18

Ich hätte ja gerne einfach per 'apt source' das komplette Kodi von debian sid genommen und das angepaßt. Die control Datei bekam ich auch angebpaßt, so das keine Abhängigkeiten zum bauen mehr da waren. Aber das Bauen bricht unter bullseye immer ab ... unter bookworm läuft es durch ...
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Pakete und Abhängigkeiten

Beitrag von The Hit-Man » 10.01.2024 05:53:59

nun habe ich die Sache mal versucht nativ zu bauen ... unter bookworm.

meine schritte waren dann so:

Code: Alles auswählen

apt source kodi
cd kodi <version>
mk-build-deps --install --remove
dpkg-checkbuilddeps && dpkg-buildpackage -b
Alle Abhängigkeiten zum bauen des Paketes wurden aufgelöst und installiert, trotzdem wird nach ca. 50% alles abgebrochen. Wieso ist das so?
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Antworten