Bug#516530: [unpack,reporting] support multiple sections
Russ Allbery wrote:
>
> Oh, there was another patch in there on top of the previous one. I'm
> used to that now, but that confused me previously.
Sorry for that.
>
> However, now this patch doesn't apply at all.
>
> error: patch failed: man/lintian.1:287
> error: man/lintian.1: patch does not apply
> error: patch failed: reporting/html_reports:517
> error: reporting/html_reports: patch does not apply
> error: patch failed: unpack/list-binpkg:85
> error: unpack/list-binpkg: patch does not apply
> error: patch failed: unpack/list-srcpkg:82
> error: unpack/list-srcpkg: patch does not apply
> error: patch failed: unpack/list-udebpkg:86
> error: unpack/list-udebpkg: patch does not apply
>
> because of the renaming of section to area. Could you rebase this patch
> on the current Git repository and resubmit it?
Sure, no problem.
>
> In the process, I'd really rather not do this:
>
> -.BR \-\-section " release"
> +.BR \-\-section " release[,release[,...]]"
> When scanning for packages in the distdir, select only packages from
> -section
> +section(s)
Indeed, looks like I mixed all the names.
>
> +my @packages =
> glob("$LINTIAN_ARCHIVEDIR/dists/$LINTIAN_DIST/{$LINTIAN_SECTION}/".
> + "binary-$LINTIAN_ARCH/Packages");
>
> I think this is a really weird use of glob, and this:
>
> - section => $LINTIAN_SECTION,
> + section => join(', ', glob("{$LINTIAN_SECTION}")),
>
> is particularly weird. A comma-separated set of archive areas (which
> also aren't releases; the man page could use an update there as well) is
> a fine syntax, but let's not then treat that as a bash glob expression.
Ack.
> It's not that much harder to properly split apart the list of areas:
>
> my @areas = split(',', $areas);
> my $base = "$LINTIAN_ARCHIVEDIR/dists/$LINTIAN_DIST";
> my @packages = map { "$base/$_/binary-$LINTIAN_ARCH/Packages" }
> @areas;
>
> glob is not a frequently-used Perl function, and I think the above is a
> lot clearer and easier to understand than the glob version. I expect
> glob to match files in the file system and only return matching files,
> and while that happens not to be the case for the {,} construct, it's
> really confusing to use glob for things where we want everything whether
> it exists in the file system or not.
I used glob because it was the simplest way to use brace expansion, but it's
ok, I will use split instead.
Cheers,
--
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net
Reply to: