Debian Bug report logs -
#16443
dpkg-genchanges can't handle multi-architectures / and closes
Reported by: joey@debian.org (Martin Schulze)
Date: Thu, 1 Jan 1998 13:48:03 UTC
Severity: wishlist
Done: Anthony Towns <ajt@master.debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>
:
Bug#16443
; Package dpkg-dev
.
(full text, mbox, link).
Acknowledgement sent to joey@debian.org (Martin Schulze)
:
New bug report received and forwarded. Copy sent to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>
.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: dpkg-dev
Version: 1.4.0.19
Severity: wishlist
As we get closer to a real multi-architecture distribution it get's
more and more important to be able to handle multi-architecture
uploads. Unfortunately dpkg-genchanges is only able to create a
.changes file for the architecture it is run on. If there are .deb
files for other architectures they're not included correctly.
I've looked at dpkg-genchanges and fixed this. If you want to include
some more .deb files for other architectures just add them to
debian/files as noted in the manpage. They're automatically added to
the list of files and their architecture will be added to the
Architecture: field.
By the time I was working on this I also added support for closes
fields in the debian/changelog file. This was proposed on
debian-policy and I hope it will be included into the dpkg package.
Here is the patch:
--- dpkg-genchanges.orig Thu Jan 1 14:48:42 1998
+++ dpkg-genchanges Thu Jan 1 14:48:45 1998
@@ -102,10 +102,16 @@
open(FL,"< $fileslistfile") || &syserr("cannot read files list file");
while(<FL>) {
if (m/^(([-+.0-9a-z]+)_([^_]+)_(\w+)\.deb) (\S+) (\S+)$/) {
- defined($p2f{$2}) &&
- &warn("duplicate files list entry for package $2 (line $.)");
+ if (defined($p2f{$2})) {
+ if ($p2f{$2} !~ /$1/) {
+ $p2f{$2}= $p2f{$2} . " " . $1;
+ } else {
+ &warn("duplicate files list entry for package $2 (line $.)");
+ }
+ } else {
+ $p2f{$2}= $1;
+ }
$f2p{$1}= $2;
- $p2f{$2}= $1;
$p2ver{$2}= $3;
defined($f2sec{$1}) &&
&warn("duplicate files list entry for file $1 (line $.)");
@@ -142,19 +148,20 @@
}
} else {
$p2arch{$p}=$a;
- $f=$p2f{$p};
if (m/^Description$/) {
$v=$` if $v =~ m/\n/;
push(@descriptions,sprintf("%-10s - %-.65s",$p,$v));
} elsif (m/^Section$/) {
- $f2seccf{$f}= $v;
+ foreach $f (split(/ /, $p2f{$p})) { $f2seccf{$f}= $v; }
} elsif (m/^Priority$/) {
- $f2pricf{$f}= $v;
+ foreach $f (split(/ /, $p2f{$p})) { $f2pricf{$f}= $v; }
} elsif (s/^X[BS]*C[BS]*-//i) {
$f{$_}= $v;
} elsif (m/^Architecture$/) {
- $v= $arch if $v eq 'any';
- push(@archvalues,$v) unless $archadded{$v}++;
+ foreach $f (split(/ /, $p2f{$p})) {
+ $f =~ /.*_(\S+)\.deb/;
+ push(@archvalues,$1) unless $archadded{$1}++;
+ }
} elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
m/^(Recommends|Suggests|Optional|Conflicts|Replaces)$/ ||
m/^X[CS]+-/i) {
@@ -166,7 +173,7 @@
#print STDERR "L key >$_< value >$v<\n";
if (m/^Source$/) {
&setsourcepackage;
- } elsif (m/^(Version|Maintainer|Changes|Urgency|Distribution|Date)$/) {
+ } elsif (m/^(Version|Maintainer|Changes|Urgency|Distribution|Date|Closes)$/) {
$f{$_}= $v;
} elsif (s/^X[BS]*C[BS]*-//i) {
$f{$_}= $v;
@@ -195,7 +202,8 @@
}
for $p (keys %p2f) {
- $f= $p2f{$p};
+ $f2= $p2f{$p};
+ foreach $f (split(/ /, $f2)) {
$sec= $f2seccf{$f}; $sec= $sourcedefault{'Section'} if !length($sec);
if (!length($sec)) { $sec='-'; &warn("missing Section for binary package $p; using '-'"); }
$sec eq $f2sec{$f} || &error("package $p has section $sec in control file".
@@ -204,6 +212,7 @@
if (!length($pri)) { $pri='-'; &warn("missing Priority for binary package $p; using '-'"); }
$pri eq $f2pri{$f} || &error("package $p has priority $pri in control".
" file but $f2pri{$f} in files list");
+ }
}
if (!$binaryonly) {
--- parsechangelog/debian.orig Thu Jan 1 14:48:21 1998
+++ parsechangelog/debian Thu Jan 1 14:48:12 1998
@@ -92,6 +92,8 @@
(($newurgn > $oldurgn ? $newurg : $oldurg).
$oldcomment.
$newcomment);
+ } elsif ($k eq 'Closes') {
+ $f{'Closes'} = $v;
} elsif (defined($mapkv{$k})) {
$f{$mapkv{$k}}= $v;
} elsif ($k =~ m/^X[BCS]+-/i) {
Regards,
Joey
--
/ Martin Schulze * joey@infodrom.north.de * 26129 Oldenburg /
/ Erfahrung ist eine nützliche Sache /
/ Leider macht man sie immer erst kurz nachdem man sie brauchte /
Information forwarded to debian-bugs-dist@lists.debian.org, Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>
:
Bug#16443
; Package dpkg-dev
.
(full text, mbox, link).
Acknowledgement sent to joey@debian.org (Martin Schulze)
:
Extra info received and forwarded to list. Copy sent to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>
.
(full text, mbox, link).
Message #10 received at 16443@bugs.debian.org (full text, mbox, reply):
Howdy,
I noticed that dpkg-gencontrol and dpkg-source get slightly confused
by the additional Closes: fields. These little patches fix that:
Regards,
Joey
--- dpkg-gencontrol.orig Sat Jan 3 15:16:12 1998
+++ dpkg-gencontrol Sat Jan 3 15:17:22 1998
@@ -149,7 +149,7 @@
} elsif (m/^Version$/) {
$sourceversion= $v;
$f{$_}= $v unless length($forceversion);
- } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date)$/) {
+ } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes)$/) {
} elsif (s/^X[CS]*B[CS]*-//i) {
$f{$_}= $v;
} elsif (!m/^X[CS]+-/i) {
--- dpkg-source.orig Sat Jan 3 15:11:13 1998
+++ dpkg-source Sat Jan 3 15:11:01 1998
@@ -159,7 +159,7 @@
$f{$_}= $v;
} elsif (s/^X[BS]*C[BS]*-//i) {
$f{$_}= $v;
- } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date)$/ ||
+ } elsif (m/^(Maintainer|Changes|Urgency|Distribution|Date|Closes)$/ ||
m/^X[BS]+-/i) {
} else {
&unknown("parsed version of changelog");
--
/ Martin Schulze * joey@infodrom.north.de * 26129 Oldenburg /
/ Erfahrung ist eine nützliche Sache /
/ Leider macht man sie immer erst kurz nachdem man sie brauchte /
Bug reassigned from package `dpkg-iwj' to `dpkg'.
Request was from Anthony Towns <ajt@master.debian.org>
to control@bugs.debian.org
.
(full text, mbox, link).
Bug closed, ack sent to submitter - they'd better know why !
Request was from Anthony Towns <ajt@master.debian.org>
to control@bugs.debian.org
.
(full text, mbox, link).
Bug reassigned from package `dpkg' to `dpkg'.
Request was from Anthony Towns <ajt@master.debian.org>
to control@bugs.debian.org
.
(full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Fri Apr 26 18:31:14 2024;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.