dab: internal error at /usr/share/perl5/PVE/DAB.pm line 1327

skisda

Member
Oct 1, 2021
2
1
23
50
Guten Tag,

beim Einlesen der Paketlisten von Paketarchiven die mit reprepro erstellt wurden meldet dab "internal error" [1].
Die Ursache ist ein Leerzeichen am Ende der "Filename:" Zeilen, siehe [2].
Der untenstehende patch [3] hat das Problem für mich behoben.

Mit freundlichen Grüssen, Stefan

[1]
touch info/init_ok
dab bootstrap
initialize VE 9257efcc-539c-4c78-bc69-02d4525d25ff
generating available package list
internal error at /usr/share/perl5/PVE/DAB.pm line 1327.
internal error at /usr/share/perl5/PVE/DAB.pm line 1327.
make: *** [Makefile:6: all] Error 25

[2] https://pkg.jenkins.io/debian-stable/binary/Packages

[3]
diff --git a/DAB.pm b/DAB.pm
index 3c86518..8ca3f2c 100644
--- a/DAB.pm
+++ b/DAB.pm
@@ -1096,7 +1096,7 @@ sub __parse_packages {

my $res = {};

- while ($rec =~ s/^([^:]+):\s+(.*)\s*\n//) {
+ while ($rec =~ s/^([^:]+):\s+(.*?)\s*\n//) {
$res->{lc $1} = $2;
}
 
  • Like
Reactions: t.lamprecht
Hallo,
der Fix wurde in der Funktion read_installed gemacht, das Problem trat bei mir aber wegen der Funktion __parse_packages auf.
Dürfte ich Sie bitten dieselbe Korrektur auch in der Funktion __parse_packages zu machen, besten Dank.
Gruss Stefan
 
Moin zusammen
Ich habe das gleiche Problem wie skisda.
@t.lamprecht der Fix wurde nur an einer Stelle gemacht.
Das Problem ist aber auch noch in Zeile 1099.

Kann das bitte noch behoben werden?

Beste Grüsse
Holger