Package: reprepro Version: 4.16.0-1 Severity: important Hi,
debhelper is now adding automatic -dbgsym packages to all packages in
sid that don't have a -dbg package yet. The problem with this in
combination with reprepro is that the .changes file produced will
contain a foo-dbgsym.deb file which isn't listed in the Binary: field.
The reasoning here is that Binary: is supposed to contain the list of
.debs from debian/control which is not necessarily the list of things
uploaded (e.g. d-i is uploading non-deb content using this way).
Unfortunately reprepro doesn't like this, even with
--ignore=surprisingbinary which should (according to the manpage)
allow exactly this situation:
$ reprepro --verbose --ignore=surprisingbinary processincoming pgdg
Name 'pgagent-dbgsym' of binary 'pgagent-dbgsym_3.4.1-1.pgdg+1_i386.deb' is not
listed in Binaries header of 'pgagent_3.4.1-1.pgdg+1_i386.changes'!
Name 'pgagent-dbgsym' of binary 'pgagent-dbgsym_3.4.1-1.pgdg+1_amd64.deb' is
not listed in Binaries header of 'pgagent_3.4.1-1.pgdg+1_amd64.changes'!
There have been errors!
$ cat pgagent_3.4.1-1.pgdg+1_amd64.changes
Format: 1.8
Date: Sun, 20 Dec 2015 10:29:52 +0100
Source: pgagent
Binary: pgagent
...
Files:
b9f0f5130cb8093b5ff9fe4b368f8941 663372 debug extra
pgagent-dbgsym_3.4.1-1.pgdg+1_amd64.deb
30421be49e3669628c2cc75d14e53634 67068 database optional
pgagent_3.4.1-1.pgdg+1_amd64.deb
Looking into the code, only checkindeb.c is evaluating
"surprisingbinary":
if (!strlist_in(allowed_binaries, pkg->deb.name) &&
!IGNORING(surprisingbinary,
"'%s' has packagename '%s' not listed in the .changes file!\n",
debfilename, pkg->deb.name)) {
deb_free(pkg);
return RET_ERROR;
}
... but incoming.c does not:
if (! strlist_in(&c->binaries, file->deb.name)) {
fprintf(stderr,
"Name '%s' of binary '%s' is not listed in Binaries header of '%s'!\n",
file->deb.name, BASENAME(i, file->ofs),
BASENAME(i, c->ofs));
return RET_ERROR;
}
Thanks for maintaining reprepro,
Christoph
--
[email protected] | http://www.df7cb.de/
signature.asc
Description: Digital signature

