Bug#784942: autopkgtest: fails to read Files: from perfectly valid .changes file

Damyan Ivanov dmn at debian.org
Fri Jun 12 20:02:35 UTC 2015


-=| Damyan Ivanov, 12.06.2015 19:45:33 +0000 |=-
> -=| Antonio Terceiro, 29.05.2015 08:01:50 -0300 |=-
> > On Tue, May 26, 2015 at 06:31:15PM +0200, Martin Pitt wrote:
> > > Control: tag -1 unreproducible
> > > 
> > > Hey Antonio,
> > > 
> > > sorry for the late response.
> > > 
> > > Antonio Terceiro [2015-05-10 19:45 -0300]:
> > > > I am missing anything?
> > > > 
> > > > $ adt-run --user debci --output-dir /tmp/adt-run ../build-area/ruby-defaults_2.1.5.0_amd64.changes --- schroot debci-unstable-amd64
> > > > adt-run: error: ../build-area/ruby-defaults_2.1.5.0_amd64.changes is invalid and does not contain Files:
> > > > [20]$ cat ../build-area/ruby-defaults_2.1.5.0_amd64.changes
> > > 
> > > I tried that .changes files, and it works correctly here. Maybe just
> > > pasting it into the email destroyed some subtle whitespace? Can you
> > > attach the file instead?
> > > 
> > > I also got ruby-defaults 2.1.5.0 from the archive, sbuilt it, and ran
> > > adt-run on the binary unsigned .changes, which also worked.
> > > 
> > > If you can still reproduce this, I can also send you some patch for
> > > enhancing debugging in runner/adt-run files_from_dsc() -- it seems the
> > > parse_rfc822() runs into a corner case?
> > 
> > I can still reproduce it, yes:
> > 
> > $ adt-run --user debci --output-dir /tmp/adt-run ruby-defaults_2.1.5.0_amd64.changes --- schroot debci-unstable-amd64
> > adt-run: error: ruby-defaults_2.1.5.0_amd64.changes is invalid and does not contain Files:
> > [20]$ debsign ruby-defaults_2.1.5.0_amd64.changes
> > [...]
> > Successfully signed dsc and changes files
> > $ adt-run --user debci --output-dir /tmp/adt-run ruby-defaults_2.1.5.0_amd64.changes --- schroot debci-unstable-amd64
> > adt-run [07:57:45]: version 3.14.2
> > adt-run [07:57:45]: command line: /usr/bin/adt-run --user debci --output-dir /tmp/adt-run ruby-defaults_2.1.5.0_amd64.changes --- schroot debci-unstable-amd64
> > adt-run [07:57:46]: testbed dpkg architecture: amd64
> > adt-run [07:57:46]: @@@@@@@@@@@@@@@@@@@@ source ruby-defaults_2.1.5.0.dsc
> > OK
> > [...]
> > adt-run [07:57:59]: test smoke-test: -----------------------]
> > adt-run [07:57:59]: test smoke-test:  - - - - - - - - - - results - - - - - - - - - -
> > smoke-test           PASS
> > 
> > The original ruby-defaults_2.1.5.0_amd64.changes, without the signature,
> > is attached.
> 
> I have another failing example (attached). Debsign-ing it works around 
> the problem.

Thanks to Niko Tyni, we may have a clue.

Both .changes files seem to have what seems to be interpreted as 
a comment. Lines 186-189 of /usr/share/autopkgtest/python/testdesc.py 
seem to attempt to handle this, but after stripping the comment (not 
starting from the first character), the resulting test seems to 
confuse the parser, because the line now contains only whitespace.

Perhaps the test on line 186 should also be triggered by lines 
starting with whitespace,followed by #?

Maybe this gives some pointer.



More information about the autopkgtest-devel mailing list