[Pkg-rust-maintainers] libdebian-installer: Unable to parse Packages files with long lines

Asbjørn Sloth Tønnesen asbjorn at asbjorn.st
Mon Apr 1 16:16:27 BST 2019


retitle 554444 libdebian-installer: Unable to parse Packages files with long lines
severity 554444 important
block 904699 by 554444
thanks

On 11/4/09 5:04 PM, Ricardo Salveti de Araujo wrote:
> After looking at the libdebian-installer code, I found that the
> problem is related with the READSIZE variable, as I got a package that
> had more than 16384 characters at the recommends field.
> 
> I know that this is quite a huge line, but at OE we have quite many
> packages that are split in a lot of different packages.

I was unable to find an example OE Packages file, but I believe that
10 years later Debian now have longer lines.

On 8/5/18 11:13 AM, Cyril Brulebois wrote in #904699:
 > That's a very good catch, and indeed a rather sad situation. Given the
 > current size of that Provides line, I fear bumping from 16k to 64k might
 > only paper over the issue for a while, and that it might come back later
 > on.

It would be sad if buster's libdebian-installer, and thereby cdebootstrap,
would be unable to parse it's own release.

IMHO I think this is close to RC, but will leave that up to DD's to decide.

Given that buster is frozen it's properly only feasible to get the 64K or 128K
fix approved. Rewriting the parser will properly have to wait for the next cycle.


Top 10 long lines in buster:

$ curl -Ls https://deb.debian.org/debian/dists/buster/main/binary-amd64/Packages.gz
|zcat|awk '{if($1=="Package:")pkg=$2;print length,pkg,$1;}'|sort -nr|head -10

59936 librust-winapi-dev Provides:
13786 qt4-demos-dbg Build-Ids:
11326 libc6-dbg Build-Ids:
9900 mono-devel Replaces:
9786 mono-devel Breaks:
8579 inspircd-dbg Build-Ids:
7960 gstreamer1.0-libav Gstreamer-Elements:
7625 libmono-cil-dev Depends:
7515 oca-core Provides:
6946 parl-desktop-world Depends:

-- 
Best regards
Asbjørn Sloth Tønnesen



More information about the Pkg-rust-maintainers mailing list