Problem mit dpkg-deb: doppelte Archiveinträge

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Problem mit dpkg-deb: doppelte Archiveinträge

Beitrag von weedy » 21.11.2019 22:45:27

Hi, ich habe auf debian jessie

dpkg in Version 1.17.26

und auf Debian Buster

dpkg in Version 1.19.7

Nun folgendes.

Ich erzeugte ein Paket aus einem Verzeichnis namens "programmname"

dpkg-deb -b programmname.

Die Inhalte des Verzeichnisses sind auf beiden Systemen gleich.

Code: Alles auswählen

$ find programmname
programmname
programmname/DEBIAN
programmname/DEBIAN/control
programmname/usr
programmname/usr/bin
programmname/usr/bin/oxbinary-7qksov4jg5.sh

Code: Alles auswählen

$ cat programmname/DEBIAN/control 
Maintainer:  Weedy <weed@gips.net>
Package: myprogram-5koxj2bwm5-package
Architecture: amd64
Description: The best available demo package myprogram-5koxj2bwm5-package.
Version: 3.9.6

Code: Alles auswählen

$ cat ./programmname/usr/bin/oxbinary-7qksov4jg5.sh
#!/bin/bash

echo "hello world"
Auf Buster:

Code: Alles auswählen

$ dpkg-deb --contents programmname.deb
drwxr-xr-x debian/debian     0 2019-11-21 21:36 ./
drwxr-xr-x debian/debian     0 2019-11-21 21:36 ./usr/
drwxr-xr-x debian/debian     0 2019-11-21 21:36 ./usr/bin/
-rwxr--r-- debian/debian    33 2019-11-21 21:36 ./usr/bin/oxbinary-7qksov4jg5.sh
soweit sogut.

Auf Debian Jessie:

Code: Alles auswählen

$ dpkg-deb --contents programmname.deb
drwxr-xr-x ox/ox             0 2019-11-21 22:21 ./
drwxr-xr-x ox/ox             0 2019-11-21 22:32 ./DEBIAN/
-rw-r--r-- ox/ox           194 2019-11-21 22:32 ./DEBIAN/control
drwxr-xr-x ox/ox             0 2019-11-21 22:12 ./usr/
drwxr-xr-x ox/ox             0 2019-11-21 22:13 ./usr/bin/
-rwxr--r-- ox/ox            33 2019-11-21 22:13 ./usr/bin/oxbinary-7qksov4jg5.sh
drwxr-xr-x ox/ox             0 2019-11-21 22:12 ./usr/
drwxr-xr-x ox/ox             0 2019-11-21 22:13 ./usr/bin/
-rwxr--r-- ox/ox            33 2019-11-21 22:13 ./usr/bin/oxbinary-7qksov4jg5.sh
drwxr-xr-x ox/ox             0 2019-11-21 22:13 ./usr/bin/
-rwxr--r-- ox/ox            33 2019-11-21 22:13 ./usr/bin/oxbinary-7qksov4jg5.sh
-rwxr--r-- ox/ox            33 2019-11-21 22:13 ./usr/bin/oxbinary-7qksov4jg5.sh
Und hier liegt das Problem.

Ich hatte das Paket auch mal installiert und der Installer hat sogar /DEBIAN angelegt, was er eigentlich nicht dürfte.

Auf Debian Buster ist das alles sauber abgelaufen.

dpkg-buildpackage liefert bei einem anderen Package uebrigens ein aehnliches Ergebnis.

Jetzt die Frage: wie fixe ich das Problem?

Ich habe in der Zwischenzeit dpkg auch mal neu installiert, keine Änderung.


md5sums:

Code: Alles auswählen

a0127aae3000db852ff15d32664a2835  /usr/bin/dpkg-deb
47fd17381d7530b223854825f7deace3  /usr/bin/dpkg
Gruß
Zuletzt geändert von weedy am 21.11.2019 23:36:11, insgesamt 2-mal geändert.

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Problem mit dpkg-deb: doppelte Archiveinträge *teilweise geloest*

Beitrag von weedy » 21.11.2019 23:03:14

Also, da der Support von debian jessie ja jetzt eingestellt sein dürfte, hatte ich keine weiteren Berührungsängste dpkg aus den Buster Paketen zu installieren.

Ein kleines Abhängigkeitsproblem gab es aber:

libdpkg-perl_1.19.7_all.deb hängt ab von dpkg_1.19.7_amd64.deb und
dpkg_1.19.7_amd64.deb hängt ab von libdpkg-perl_1.19.7_all.deb

Das Henne Ei Problem in Reinstform.

Ein Brilliant der Graphentheorie.

Gruß,
weedy

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

Re: Problem mit dpkg-deb: doppelte Archiveinträge *teilweise geloest*

Beitrag von JTH » 21.11.2019 23:42:00

weedy hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 23:03:14
dpkg_1.19.7_amd64.deb hängt ab von libdpkg-perl_1.19.7_all.deb
Eigentlich nicht. dpkg verträgt sich nur nicht mit einem libdpkg-perl in anderer Version. libdpkg-perl wird nur von dpkg-dev und Konsorten benötigt, die musst du also auch hochziehen.

Du kannst versuchen, erst libdpkg-perl per

Code: Alles auswählen

# dpkg -r --force-depends libdpkg-perl
zu entfernen, dann dpkg hochziehen und als letztes libdpkg-perl und dpkg-dev nachziehen. Auf eigenes Risiko an der Stelle natürlich.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Problem mit dpkg-deb: doppelte Archiveinträge *teilweise geloest*

Beitrag von weedy » 22.11.2019 01:40:36

JTH hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 23:42:00
weedy hat geschrieben: ↑ zum Beitrag ↑
21.11.2019 23:03:14
dpkg_1.19.7_amd64.deb hängt ab von libdpkg-perl_1.19.7_all.deb
Eigentlich nicht. dpkg verträgt sich nur nicht mit einem libdpkg-perl in anderer Version. libdpkg-perl wird nur von dpkg-dev und Konsorten benötigt, die musst du also auch hochziehen.

Du kannst versuchen, erst libdpkg-perl per

Code: Alles auswählen

# dpkg -r --force-depends libdpkg-perl
zu entfernen, dann dpkg hochziehen und als letztes libdpkg-perl und dpkg-dev nachziehen. Auf eigenes Risiko an der Stelle natürlich.
Ja, danke für den Tip.

Die Nachverfolgung der Abhängigkeiten habe ich bs dahin gemacht, dass der debhelper angeblich cmake breakt. Warum auch immer. Manchmal kann ich diese Entscheidungen nicht nachvollziehen. cmake habe ich dann nicht ersetzt, da der Abhängigkeitsbaum bis zur libc6 runtergeht. Stattdessen habe ich diese Break Notiz entfernt.

Es wäre alles viel einfacher, wenn Libs grundsätzlich Abwärtskompatibel wären und Pakete nicht immer die neuesten Libs referenzieren. Und natürlich auch, wenn curl4 nicht curl3 deinstallieren will. Was das wieder soll. Da haben wir eine flexible lib Naming Convention, die es erlauben würde beide Libs zu haben, aber nein, es soll nicht sein.

Gruß,
weedy

Antworten