Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-12-21 Thread Christoph Biedl
Guillem Jover wrote...

> [ Please remember to CC people, otherwise only the maintainer and
> people subscribed to the bug (hich requires explicit action) might
> see your replies. :) I just noticed when scanning the web interface. ]

Well, this makes the recipient list pretty long then ...

Status update: I took the liberty to contact upstream (Bernhard) and
got an answer. Sharing the essential bits, although a bit indiscreet
but I guess you all are somewhat concerned already: He is working on
it, and he is aware of the release schedule.

Christoph


signature.asc
Description: Digital signature


Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-24 Thread Slávek Banko
On Thursday 24 of November 2016 03:00:08 Guillem Jover wrote:
> [ Please remember to CC people, otherwise only the maintainer and
> people subscribed to the bug (hich requires explicit action) might
> see your replies. :) I just noticed when scanning the web interface. ]
>
> Hi!
>
> On Tue, 2016-11-22 at 00:31:47 +0100, Slávek Banko wrote:
> > I tried to update reprepro on Jessie by packages from Jan Wagner and
> > also from Stephan Sürken but I noticing problems. When I use
> > "reprepro processincoming", I got:
> >
> > There have been errors!
> >
> > Nothing else == just this one brief sentence.
> > When I use "reprepro include", I got:
> >
> > reprepro: checkin.c:680: changes_fixfields: Assertion `((e->type) ==
> > fe_DIFF || (e->type) == fe_ORIG || (e->type) == fe_TAR || (e->type)
> > == fe_DSC || (e->type) == fe_UNKNOWN || (e->type) == fe_ALTSRC) ||
> > ((e->type) == fe_DEB || (e->type) == fe_UDEB)' failed.
> > Aborted
>
> Hmm, oh it seems I missed updating one of the spots! Could you try
> with the updated patch attached? (I've also updated the one in the
> hadrons.org for people that might be pulling that one.)
>
> Thanks,
> Guillem

With updated patch buildinfo files are processed with "reprepro include", 
but something is still wrong:

Warning: strange 
filekey 
'pool/!!NONE!!/b/bibletime-trinity/bibletime-trinity_14.0.5~pre2-0debian9.0.0+1~a_amd64.buildinfo'!

...and buildinfo files are truly stored in the folder with "!!NONE!!" in 
the path, instead of folder matching component name.


With "reprepro processincoming" remains brief and not very helpful report:

There have been errors!


Cheers
-- 
Slávek



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-23 Thread Guillem Jover
[ Please remember to CC people, otherwise only the maintainer and
people subscribed to the bug (hich requires explicit action) might
see your replies. :) I just noticed when scanning the web interface. ]

Hi!

On Tue, 2016-11-22 at 00:31:47 +0100, Slávek Banko wrote:
> I tried to update reprepro on Jessie by packages from Jan Wagner and also 
> from Stephan Sürken but I noticing problems. When I use "reprepro 
> processincoming", I got:
> 
> There have been errors!
> 
> Nothing else == just this one brief sentence.
> When I use "reprepro include", I got:
> 
> reprepro: checkin.c:680: changes_fixfields: Assertion `((e->type) == 
> fe_DIFF || (e->type) == fe_ORIG || (e->type) == fe_TAR || (e->type) == 
> fe_DSC || (e->type) == fe_UNKNOWN || (e->type) == fe_ALTSRC) || 
> ((e->type) == fe_DEB || (e->type) == fe_UDEB)' failed.
> Aborted

Hmm, oh it seems I missed updating one of the spots! Could you try
with the updated patch attached? (I've also updated the one in the
hadrons.org for people that might be pulling that one.)

Thanks,
Guillem
From 69d47432d9d434196b45276f0aac5cabed66860d Mon Sep 17 00:00:00 2001
From: Guillem Jover 
Date: Fri, 18 Nov 2016 14:11:58 +0100
Subject: [PATCH] Add preliminary .buildinfo support

---
 changes.c   |  5 +++-
 changes.h   |  3 ++-
 checkin.c   | 55 +---
 distribution.h  |  1 +
 docs/reprepro.1 |  3 +++
 incoming.c  | 78 +
 needbuild.c |  2 +-
 tracking.c  | 10 ++--
 trackingt.h |  1 +
 9 files changed, 144 insertions(+), 14 deletions(-)

diff --git a/changes.c b/changes.c
index 5d01754..2cafca3 100644
--- a/changes.c
+++ b/changes.c
@@ -237,6 +237,9 @@ retvalue changes_parsefileline(const char *fileline, /*@out@*/filetype *result_t
 		} else if (l > 6 && strncmp(p-6, ".build", 6) == 0) {
 			type = fe_LOG;
 			eoi = p - 6;
+		} else if (l > 10 && strncmp(p-10, ".buildinfo", 10) == 0) {
+			type = fe_BUILDINFO;
+			eoi = p - 10;
 		}
 		if (type != fe_UNKNOWN) {
 			/* check for a proper version */
@@ -255,7 +258,7 @@ retvalue changes_parsefileline(const char *fileline, /*@out@*/filetype *result_t
 	return RET_ERROR;
 }
 checkfilename = true;
-			} else if (type == fe_LOG) {
+			} else if (type == fe_LOG || type == fe_BUILDINFO) {
 if (*p == '_') {
 	archstart = p + 1;
 	archend = eoi;
diff --git a/changes.h b/changes.h
index 30ad136..f2b72c3 100644
--- a/changes.h
+++ b/changes.h
@@ -10,7 +10,8 @@ typedef enum {
 	fe_DEB, fe_UDEB,
 	fe_DSC, fe_DIFF, fe_ORIG, fe_TAR,
 	fe_ALTSRC,
-	fe_BYHAND, fe_LOG, fe_CHANGES
+	fe_BYHAND, fe_LOG, fe_CHANGES,
+	fe_BUILDINFO
 } filetype;
 
 #define FE_PACKAGE(ft) ((ft) == fe_DEB || (ft) == fe_UDEB || (ft) == fe_DSC)
diff --git a/checkin.c b/checkin.c
index 3b1ec32..be46256 100644
--- a/checkin.c
+++ b/checkin.c
@@ -161,7 +161,7 @@ static void changes_free(/*@only@*/struct changes *changes) {
 }
 
 
-static retvalue newentry(struct fileentry **entry, const char *fileline, const struct atomlist *packagetypes, const struct atomlist *forcearchitectures, const char *sourcename, bool includebyhand, bool includelogs, bool *ignoredlines_p, bool skip_binaries) {
+static retvalue newentry(struct fileentry **entry, const char *fileline, const struct atomlist *packagetypes, const struct atomlist *forcearchitectures, const char *sourcename, bool includebyhand, bool includelogs, bool includebuildinfos, bool *ignoredlines_p, bool skip_binaries) {
 	struct fileentry *e;
 	retvalue r;
 
@@ -207,7 +207,7 @@ static retvalue newentry(struct fileentry **entry, const char *fileline, const s
 		*ignoredlines_p = true;
 		return RET_NOTHING;
 	}
-	if (e->type != fe_LOG &&
+	if (e->type != fe_LOG && e->type != fe_BUILDINFO &&
 			e->architecture_into == architecture_source &&
 			strcmp(e->name, sourcename) != 0) {
 		fprintf(stderr,
@@ -242,6 +242,34 @@ static retvalue newentry(struct fileentry **entry, const char *fileline, const s
 			*ignoredlines_p = true;
 			return RET_NOTHING;
 		}
+	} else if (e->type == fe_BUILDINFO) {
+		if (strcmp(e->name, sourcename) != 0) {
+			fprintf(stderr,
+"Warning: File '%s' looks like buildinfo but does not start with '%s_'!\n",
+	e->basename, sourcename);
+		}
+		if (!includebuildinfos) {
+			// TODO: at least check them and fail if wrong?
+			fprintf(stderr, "Ignoring buildinfo file: '%s'!\n",
+			e->basename);
+			freeentries(e);
+			*ignoredlines_p = true;
+			return RET_NOTHING;
+		}
+		if (atom_defined(e->architecture_into) &&
+limitations_missed(forcearchitectures,
+	e->architecture_into)) {
+			if (verbose > 1)
+fprintf(stderr,
+"Skipping '%s' as not for architecture ",
+	e->basename);
+			atomlist_fprint(stderr, at_architecture,
+	forcearchitectures);
+			fputs(".\n", stderr);
+			freeentries(e);
+			*ignoredlines_p = true;
+			return RET_NOTHING;
+		}
 	} else if (forcearchitectures != NULL) {
 		if (e->architecture_into == 

Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-23 Thread Stephan Sürken
On Tue, 22 Nov 2016 19:08:06 +0100 =?utf-8?q?Sl=C3=A1vek_Banko?= 
 wrote:
> Dne út 22. listopadu 2016 Stephan Sürken napsal(a):

(...)

> without "Tracking", buildinfo files are not processed - "reprepro include" 
> ignores them.
> 
> With "Tracking: minimal" (without "includebuildinfos") and with "Permit: 
> unused_files" (see workaround from message 10), buildinfo files are not 
> processed - "reprepro processincoming" ignores them.

thx, that's what I thought. Seems the patch still has some issues when
tracking is configured.

> However, I thought that the purpose of the patch was to add support for 
> processing buildinfos.

Imho, the main purpose should be to make such new changes installable
at all again, with or without actually processing buildinfo files.

But I guess you are right, Guillem's patch also seems to try to process
them.

Let's keep him in good mood by more excellent feedback so he might
improve it ;).

Hth,

S



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-22 Thread Slávek Banko
Dne út 22. listopadu 2016 Stephan Sürken napsal(a):
> Hi Slavek,
>
> On Tue, 22 Nov 2016 00:31:47 +0100 =?utf-8?q?Sl=C3=A1vek_Banko?=
>  wrote:
>
> (...)
>
> > When I use "reprepro include", I got:
>
> (...)
>
> > Aborted
> > 
> > Buildinfo files are generated by dpkg 1.18.15 (already included in 
> > Stretch). Tracking is set to: minimal includebuildinfos
> > 
> > Please, is there something else that I should have set up?
>
> only a guess: Does "include" work w/o any tracking configured?
>
> On mbd, there is no tracking at all atm, and "include" seems to work
> just fine.
>
> Hth,
>
> S

Hi Stephan,

without "Tracking", buildinfo files are not processed - "reprepro include" 
ignores them.

With "Tracking: minimal" (without "includebuildinfos") and with "Permit: 
unused_files" (see workaround from message 10), buildinfo files are not 
processed - "reprepro processincoming" ignores them.

However, I thought that the purpose of the patch was to add support for 
processing buildinfos.

Cheers
-- 
Slávek



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-22 Thread Stephan Sürken
Hi Slavek,

On Tue, 22 Nov 2016 00:31:47 +0100 =?utf-8?q?Sl=C3=A1vek_Banko?= 
 wrote:

(...)

> When I use "reprepro include", I got:

(...)

> Aborted
> 
> Buildinfo files are generated by dpkg 1.18.15 (already included in 
> Stretch). Tracking is set to: minimal includebuildinfos
> 
> Please, is there something else that I should have set up?

only a guess: Does "include" work w/o any tracking configured?

On mbd, there is no tracking at all atm, and "include" seems to work
just fine.

Hth,

S



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-21 Thread Slávek Banko
Hi all,

I tried to update reprepro on Jessie by packages from Jan Wagner and also 
from Stephan Sürken but I noticing problems. When I use "reprepro 
processincoming", I got:

There have been errors!

Nothing else == just this one brief sentence.
When I use "reprepro include", I got:

reprepro: checkin.c:680: changes_fixfields: Assertion `((e->type) == 
fe_DIFF || (e->type) == fe_ORIG || (e->type) == fe_TAR || (e->type) == 
fe_DSC || (e->type) == fe_UNKNOWN || (e->type) == fe_ALTSRC) || 
((e->type) == fe_DEB || (e->type) == fe_UDEB)' failed.
Aborted

Buildinfo files are generated by dpkg 1.18.15 (already included in 
Stretch). Tracking is set to: minimal includebuildinfos

Please, is there something else that I should have set up?

Cheers
-- 
Slávek



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-21 Thread Stephan Sürken
Hi Guillem, all,

On Fri, 18 Nov 2016 14:21:08 +0100 Guillem Jover  wrote:

(..)

> Ok, Michael Prokop deployed it on jenkins.grml.org and retriggered at
> least the dpkg jobs and they seem to work now. I've fixed an
inversion
> logic error in the previous patch and I'm including the good one
here.
> Review and more testing would be very appreciated.

thanks for the patch!

Fwiw, I have done ports with your patch for sid/jessie/wheezy [1], and
retested via mini-buildd and experienced no issues, i.e.:

* 'reprepro include' no longer fails.
* Packages get installed as before.

So it seems to be fine at least how mini-buildd calls reprepro.

Hth, and thx!

S

[1] http://mini-buildd.installiert.net/pages/the-hellfield-archive.html
    http://debian.installiert.net/hellfield-ab/pool/main/r/reprepro/



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-18 Thread Guillem Jover
Hi!

On Fri, 2016-11-18 at 10:15:45 -0500, Yaroslav Halchenko wrote:
> On Fri, 18 Nov 2016, Guillem Jover wrote:
> > > (The preliminary and perhaps non-working patch can be found for now at
> > > https://www.hadrons.org/~guillem/tmp/0001-Add-preliminary-.buildinfo-support.patch)
> 
> > Ok, Michael Prokop deployed it on jenkins.grml.org and retriggered at
> > least the dpkg jobs and they seem to work now. I've fixed an inversion
> > logic error in the previous patch and I'm including the good one here.
> > Review and more testing would be very appreciated.
> 
> I have built patched version and ran incomingprocessed for new backported
> packages for neurodebian without  tuning up configuration (should have I?).
> unfortunately lead to previous behavior, 

> 'nuitka_0.5.24+ds-1~nd90+1_amd64.changes' contains 
> 'nuitka_0.5.24+ds-1~nd90+1_20161116T225525z-5f997ef0.buildinfo' not matching 
> an valid architecture in any distribution known!

Right this is a buildinfo file generated before dpkg 1.18.15 which
used a buildinfo-id instead of an architecture. I didn't find it worth
it to support them when they have been generated only for around 10
days or so.

> Error: 'nuitka_0.5.24+ds-1~nd+1_amd64.changes' contains unused file 
> 'nuitka_0.5.24+ds-1~nd+1_amd64.buildinfo'!

This one is for a new buildinfo file, and I don't know how reprepo works at
all, but perhaps this just requires the new option ("includebuildinfos") to
include the buildinfo files in the pool? Or maybe there's another option to
ignore those unused files, would need to dig. But actual users are probably
in a better position to know this. ;)

Thanks,
Guillem



Bug#843402: Re: Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-18 Thread Jan Wagner
Hi there,

Am 18.11.16 um 12:57 schrieb Guillem Jover:
> I've just prepared a patch supposedly fixing this, but I've never used
> reprepro and don't even know how it works, so it's just built-tested.
> We are now performing some tests, and will update the report once this
> is confirmed to work.
> 
> (The preliminary and perhaps non-working patch can be found for now at
> https://www.hadrons.org/~guillem/tmp/0001-Add-preliminary-.buildinfo-support.patch)

as I was also hit by this bug I did (re)build 4.17.1-1~bpo8+1 and added
the patch. The packages can now processed again by the include command
but buildinfo are ignored.

The packages can be found at:

http://ftp.cyconet.org/pub/debian/archive/bpo/reprepro/4.17.1-1~bpo8+2/

You also can install them staight using[1] my own jessie-backports
repository.

Cheers, Jan.
[1] http://ftp.cyconet.org/instructions
-- 
Jan Wagner
Core Platform Engineer, Debian Developer

TMT GmbH & Co. KG
Nuernberger Str. 42, 95448 Bayreuth, Germany (DE)
Phone: +49 921 507200-0Fax: +49 921 507200-299
E-Mail: jan.wag...@tmt.de  Internet: http://www.tmt.de
GnuPG-ID: 0xDF901724

TMT. Business Solutions.

---
Sitz der Gesellschaft: Bayreuth   Handelsregister Bayreuth HRA 2790
Prokura: Sven Schorer, Frank Doyen
Persoenlich haftende Gesellschafterin: TMT Beteiligungs GmbH
Sitz der Gesellschaft: Bayreuth   Handelsregister Bayreuth HRB 1305
Geschaeftsfuehrung: Peter Maisel



signature.asc
Description: OpenPGP digital signature


Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-18 Thread Yaroslav Halchenko

On Fri, 18 Nov 2016, Guillem Jover wrote:

> > (The preliminary and perhaps non-working patch can be found for now at
> > https://www.hadrons.org/~guillem/tmp/0001-Add-preliminary-.buildinfo-support.patch)

> Ok, Michael Prokop deployed it on jenkins.grml.org and retriggered at
> least the dpkg jobs and they seem to work now. I've fixed an inversion
> logic error in the previous patch and I'm including the good one here.
> Review and more testing would be very appreciated.

> Thanks,
> Guillem

> From c059c721863ad0b33ab44417640c37f6f8cfabf1 Mon Sep 17 00:00:00 2001
> ...

FWIW

I have built patched version and ran incomingprocessed for new backported
packages for neurodebian without  tuning up configuration (should have I?).
unfortunately lead to previous behavior, 

'nuitka_0.5.24+ds-1~nd90+1_amd64.changes' contains 
'nuitka_0.5.24+ds-1~nd90+1_20161116T225525z-5f997ef0.buildinfo' not matching an 
valid architecture in any distribution known!
Error: 'nuitka_0.5.24+ds-1~nd+1_amd64.changes' contains unused file 
'nuitka_0.5.24+ds-1~nd+1_amd64.buildinfo'!
(Do Permit: unused_files to conf/incoming to ignore and
 additionally Cleanup: unused_files to delete them)
Not deleting possibly left over files due to previous errors.
(To keep the files in the still existing index files from vanishing)
Use dumpunreferenced/deleteunreferenced to show/delete files without references.
21 files lost their last reference.
(dumpunreferenced lists such files, use deleteunreferenced to delete them.)
Warning: database 'jessie|main|i386' was modified but no index file was 
exported.
Changes will only be visible after the next 'export'!
Warning: database 'jessie|main|amd64' was modified but no index file was 
exported.
Changes will only be visible after the next 'export'!
Warning: database 'jessie|main|sparc' was modified but no index file was 
exported.
Changes will only be visible after the next 'export'!
Warning: database 'jessie|main|source' was modified but no index file was 
exported.
Changes will only be visible after the next 'export'!
...


-- 
Yaroslav O. Halchenko
Center for Open Neuroscience http://centerforopenneuroscience.org
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834   Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-18 Thread Guillem Jover
Control: tags -1 patch

Hi!

On Fri, 2016-11-18 at 12:57:12 +0100, Guillem Jover wrote:
> On Sun, 2016-11-06 at 14:16:14 +0100, Helmut Grohne wrote:
> > Package: reprepro
> > Version: 4.17.1-1
> > Severity: important
> > User: helm...@debian.org
> > Usertags: rebootstrap
> > 
> > Since dpkg 1.18.11, a .buildinfo file is generated as part of package
> > builds and referenced by .changes files. Supplying such a .changes file
> > to "reprepro include" results in an error:
> > 
> > | Unknown file type: '2d3e9992648837b6a4a8a5b819e6da8e 4791 devel optional 
> > binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo', assuming 
> > source format...
> > | .changes put in a
> > | distribution not listed within it!
> > | Ignoring as --ignore=wrongdistribution given.
> > | 'binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo' looks 
> > like part of an source package, but no dsc file listed in the .changes file!
> > | There have been errors!   
> > 
> >   
> > 
> > So any workflow based on importing .changes files from unstable (soon
> > stretch) is now broken.
> 
> I've just prepared a patch supposedly fixing this, but I've never used
> reprepro and don't even know how it works, so it's just built-tested.
> We are now performing some tests, and will update the report once this
> is confirmed to work.
> 
> (The preliminary and perhaps non-working patch can be found for now at
> https://www.hadrons.org/~guillem/tmp/0001-Add-preliminary-.buildinfo-support.patch)

Ok, Michael Prokop deployed it on jenkins.grml.org and retriggered at
least the dpkg jobs and they seem to work now. I've fixed an inversion
logic error in the previous patch and I'm including the good one here.
Review and more testing would be very appreciated.

Thanks,
Guillem
From c059c721863ad0b33ab44417640c37f6f8cfabf1 Mon Sep 17 00:00:00 2001
From: Guillem Jover 
Date: Fri, 18 Nov 2016 14:11:58 +0100
Subject: [PATCH] Add preliminary .buildinfo support

---
 changes.c   |  5 +++-
 changes.h   |  3 ++-
 checkin.c   | 51 +++--
 distribution.h  |  1 +
 docs/reprepro.1 |  3 +++
 incoming.c  | 78 +
 needbuild.c |  2 +-
 tracking.c  | 10 ++--
 trackingt.h |  1 +
 9 files changed, 141 insertions(+), 13 deletions(-)

diff --git a/changes.c b/changes.c
index 5d01754..2cafca3 100644
--- a/changes.c
+++ b/changes.c
@@ -237,6 +237,9 @@ retvalue changes_parsefileline(const char *fileline, /*@out@*/filetype *result_t
 		} else if (l > 6 && strncmp(p-6, ".build", 6) == 0) {
 			type = fe_LOG;
 			eoi = p - 6;
+		} else if (l > 10 && strncmp(p-10, ".buildinfo", 10) == 0) {
+			type = fe_BUILDINFO;
+			eoi = p - 10;
 		}
 		if (type != fe_UNKNOWN) {
 			/* check for a proper version */
@@ -255,7 +258,7 @@ retvalue changes_parsefileline(const char *fileline, /*@out@*/filetype *result_t
 	return RET_ERROR;
 }
 checkfilename = true;
-			} else if (type == fe_LOG) {
+			} else if (type == fe_LOG || type == fe_BUILDINFO) {
 if (*p == '_') {
 	archstart = p + 1;
 	archend = eoi;
diff --git a/changes.h b/changes.h
index 30ad136..f2b72c3 100644
--- a/changes.h
+++ b/changes.h
@@ -10,7 +10,8 @@ typedef enum {
 	fe_DEB, fe_UDEB,
 	fe_DSC, fe_DIFF, fe_ORIG, fe_TAR,
 	fe_ALTSRC,
-	fe_BYHAND, fe_LOG, fe_CHANGES
+	fe_BYHAND, fe_LOG, fe_CHANGES,
+	fe_BUILDINFO
 } filetype;
 
 #define FE_PACKAGE(ft) ((ft) == fe_DEB || (ft) == fe_UDEB || (ft) == fe_DSC)
diff --git a/checkin.c b/checkin.c
index 3b1ec32..3eb552e 100644
--- a/checkin.c
+++ b/checkin.c
@@ -161,7 +161,7 @@ static void changes_free(/*@only@*/struct changes *changes) {
 }
 
 
-static retvalue newentry(struct fileentry **entry, const char *fileline, const struct atomlist *packagetypes, const struct atomlist *forcearchitectures, const char *sourcename, bool includebyhand, bool includelogs, bool *ignoredlines_p, bool skip_binaries) {
+static retvalue newentry(struct fileentry **entry, const char *fileline, const struct atomlist *packagetypes, const struct atomlist *forcearchitectures, const char *sourcename, bool includebyhand, bool includelogs, bool includebuildinfos, bool *ignoredlines_p, bool skip_binaries) {
 	struct fileentry *e;
 	retvalue r;
 
@@ -207,7 +207,7 @@ static retvalue newentry(struct fileentry **entry, const char *fileline, const s
 		*ignoredlines_p = true;
 		return RET_NOTHING;
 	}
-	if (e->type != fe_LOG &&
+	if (e->type != fe_LOG && e->type != fe_BUILDINFO &&
 			e->architecture_into == architecture_source &&
 			strcmp(e->name, sourcename) != 0) {
 		fprintf(stderr,
@@ -242,6 +242,34 @@ static retvalue newentry(struct fileentry **entry, const char *fileline, const s
 			*ignoredlines_p = true;
 			return RET_NOTHING;
 		}
+	} else if (e->type == fe_BUILDINFO) {
+		if (strcmp(e->name, 

Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-18 Thread Guillem Jover
Hi!

On Sun, 2016-11-06 at 14:16:14 +0100, Helmut Grohne wrote:
> Package: reprepro
> Version: 4.17.1-1
> Severity: important
> User: helm...@debian.org
> Usertags: rebootstrap
> 
> Since dpkg 1.18.11, a .buildinfo file is generated as part of package
> builds and referenced by .changes files. Supplying such a .changes file
> to "reprepro include" results in an error:
> 
> | Unknown file type: '2d3e9992648837b6a4a8a5b819e6da8e 4791 devel optional 
> binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo', assuming 
> source format...
> | .changes put in a
> | distribution not listed within it!
> | Ignoring as --ignore=wrongdistribution given.
> | 'binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo' looks 
> like part of an source package, but no dsc file listed in the .changes file!
> | There have been errors! 
>   
>   
> 
> So any workflow based on importing .changes files from unstable (soon
> stretch) is now broken.

I've just prepared a patch supposedly fixing this, but I've never used
reprepro and don't even know how it works, so it's just built-tested.
We are now performing some tests, and will update the report once this
is confirmed to work.

(The preliminary and perhaps non-working patch can be found for now at
https://www.hadrons.org/~guillem/tmp/0001-Add-preliminary-.buildinfo-support.patch)

Thanks,
Guillem



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-16 Thread Vincent Danjean
Le 14/11/2016 à 10:38, Christoph Berg a écrit :
> Re: Helmut Grohne 2016-11-06 <20161106131613.7tukuhsijohhs...@alf.mars>
>> | Unknown file type: '2d3e9992648837b6a4a8a5b819e6da8e 4791 devel optional 
>> binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo', assuming 
>> source format...
> 
> There's a workaround which is helpfully also pointed out by reprepro
> itself. Append the following to conf/incoming:
> 
> Permit: unused_files
> Cleanup: unused_files

This workaround only works with the "processincoming" command.
If you use the "include" command, the conf/incoming file is not used at all...

> Of course a proper fix would be very welcome :)

Yes ;-)

  Regards,
Vincent

> Christoph
> 


-- 
Vincent Danjean   GPG key ID 0xD17897FA vdanj...@debian.org
GPG key fingerprint: 621E 3509 654D D77C 43F5  CA4A F6AE F2AF D178 97FA
Unofficial pkgs: http://moais.imag.fr/membres/vincent.danjean/deb.html
APT repo:  deb http://people.debian.org/~vdanjean/debian unstable main



Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-14 Thread Christoph Berg
Re: Helmut Grohne 2016-11-06 <20161106131613.7tukuhsijohhs...@alf.mars>
> | Unknown file type: '2d3e9992648837b6a4a8a5b819e6da8e 4791 devel optional 
> binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo', assuming 
> source format...

There's a workaround which is helpfully also pointed out by reprepro
itself. Append the following to conf/incoming:

Permit: unused_files
Cleanup: unused_files

Of course a proper fix would be very welcome :)

Christoph


signature.asc
Description: PGP signature


Bug#843402: reprepro cannot handle .changes files that reference .buildinfo files

2016-11-06 Thread Helmut Grohne
Package: reprepro
Version: 4.17.1-1
Severity: important
User: helm...@debian.org
Usertags: rebootstrap

Since dpkg 1.18.11, a .buildinfo file is generated as part of package
builds and referenced by .changes files. Supplying such a .changes file
to "reprepro include" results in an error:

| Unknown file type: '2d3e9992648837b6a4a8a5b819e6da8e 4791 devel optional 
binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo', assuming 
source format...
| .changes put in a
| distribution not listed within it!
| Ignoring as --ignore=wrongdistribution given.
| 'binutils_2.27.51.20161105-1_20161106T104833z-2d3e9992.buildinfo' looks like 
part of an source package, but no dsc file listed in the .changes file!
| There have been errors!   

  

So any workflow based on importing .changes files from unstable (soon
stretch) is now broken.

Helmut