On Wed, Nov 09, 2016 at 01:42:37PM +0100, Ole Streicher wrote: > On 09.11.2016 12:47, Andreas Tille wrote: > > In other words: Once it was defined as syntax for these control files > > that newlines need to be escaped. I do not like it and as I said this > > is fixed in the long-term pending rewrite. However, the bug is not > > serious but at best wishlist. Would you follow this arguing? > > > > Not really. My point here is that this happens really unexpected, and > since blend-gen-control doesn't complain about the then wrong format, > one silently gets wrong dependencies. At least I did in the first > versions of debian-astro (<0.5).
I fully agree that this is a bad situation. That's a problem inherited from the first days when blends-dev was part of debian-edu package where it just was implemented that way and people were aware of this. > We have a clear definition of how these files should look like, namely > RFC822, and this also defines continuation lines. Unfortunately in this specific feature tasks files are not RFC822 compliant, which sucks, yes. Its even not documented (I just checked since I intended to document it at some point in time but can't find it :-( ) > Look at > https://blends.debian.org/blends/ch08.html#edittasksfiles - it is > blends-gen-control that isn't conform to that. Yes. > I would think that there is also a quick fix for it -- the tool already > handles continuation lines for the tasks description, so one could > probably just take that. I have no glue of all the Perl $@^!~ special > chars, but wouldn't do it something like the attached patch (after > removing the obvious errors from it)? > > Or something else just adopted from lines 556-562 of blends-gen-control? While I fully agree that we should fix this I'm not fully convinced how to sensibly proceed here. The problematic thing is that we are quite short before a release and if we might break metapackage creation in some way we might get in trouble. I'm no Perl programmer myself (even if I think your patch looks sensible) and so IMHO staying conservative and add some line ending escapes could be the less invasive change. For the future I think we should start a common effort to switch to blends-dev 0.7[1] which neither has the problem above nor some other problems. If you (and Bas and other readers here) think we should fix the issue right now I'm fine if you apply the patch below and we should seriously test the metapackage creation of each Blend *before* 2016-12-05. What do you think? Kind regards Andreas. > diff --git a/devtools/blend-gen-control b/devtools/blend-gen-control > index 1aba552..cde3237 100755 > --- a/devtools/blend-gen-control > +++ b/devtools/blend-gen-control > @@ -566,9 +566,14 @@ sub load_task { > my $header; > for $header (qw(Depends Recommends Suggests)) { > if (m/^$header:\s+(.+)$/ && $1 !~ /^\s*$/) { > + my $pkgs = $1; > + while (<TASKFILE>) { > + last if (m/^\S+/ || m/^\s*$/); > + $pkgs .= $_; > + } > $taskinfo{$curpkg}{$header} = () > if (! exists $taskinfo{$curpkg}{$header}); > - my ($pkglist, $missinglist) = process_pkglist($1); > + my ($pkglist, $missinglist) = process_pkglist($pkgs); > push(@{$taskinfo{$curpkg}{$header}}, @{$pkglist}); > > $haspackages += $#{$taskinfo{$curpkg}{$header}} + 1; [1] https://anonscm.debian.org/git/blends/blends-gsoc.git -- http://fam-tille.de