tags 403207 patch
thanks
Frank Küster <[EMAIL PROTECTED]> wrote:
> Package: devscripts
> Version: 2.9.22~bpo.2
> Severity: normal
>
> Currently, dd-list always uses source package names in the output:
(not always, with --dctrl it lists binary names if no Sources: lines are
included). Here's a patch:
diff -Nur devscripts-2.9.27.old/dd-list.pl devscripts-2.9.27/dd-list.pl
--- devscripts-2.9.27.old/dd-list.pl 2006-06-15 20:22:05.000000000 +0200
+++ devscripts-2.9.27/dd-list.pl 2006-12-15 13:08:53.000000000 +0100
@@ -26,10 +26,10 @@
my $version='###VERSION###';
sub get_developers_given_package {
- my $package_name=shift;
+ my ($package_name,$print_binary) = @_;
my $developer;
- my $source_name;
+ my $print_name;
my $uploaders;
my @uploaders;
open (F, "apt-cache showsrc '$package_name' |");
@@ -44,11 +44,11 @@
}
elsif (/^Package: (.*)/) {
- $source_name=$1;
+ $print_name = $print_binary ? $package_name : $1 ;
}
}
close F;
- return ($developer, [EMAIL PROTECTED], $source_name);
+ return ($developer, [EMAIL PROTECTED], $print_name);
}
sub parse_developer {
@@ -86,6 +86,10 @@
-u, --uploaders
Also list uploaders of packages, not only the listed maintainers
+ -b, --print-binary
+ If binary package names are given as input, print these names
+ in the output instead of corresponding source packages.
+
-V, --version
Print version (it\'s $version by the way).
EOF
@@ -94,11 +98,13 @@
my $use_stdin=0;
my $use_dctrl=0;
my $show_uploaders=0;
+my $print_binary=0;
if (! GetOptions(
"help" => sub { help(); exit },
"stdin|i" => \$use_stdin,
"dctrl|d" => \$use_dctrl,
"uploaders|u" => \$show_uploaders,
+ "print-binary|b" => \$print_binary,
"version" => sub { print "dd-list version $version\n" })) {
exit(1);
}
@@ -114,7 +120,7 @@
if (/^Package:\s+(.*)$/m) {
$package=$1;
}
- if (/^Source:\s+(.*)$/m) {
+ if (/^Source:\s+(.*)$/m && ! $print_binary ) {
$package=$1;
}
if (/^Maintainer:\s+(.*)$/m) {
@@ -154,12 +160,12 @@
}
foreach my $package_name (@package_names) {
- my ($developer, $uploaders,
$source_name)=get_developers_given_package($package_name);
+ my ($developer, $uploaders,
$print_name)=get_developers_given_package($package_name,$print_binary);
if (defined $developer) {
- push @{$dict{$developer}}, $source_name;
+ push @{$dict{$developer}}, $print_name;
if ($show_uploaders && @$uploaders) {
foreach my $uploader (@$uploaders) {
- push @{$dict{$uploader}}, "$source_name
(U)";
+ push @{$dict{$uploader}}, "$print_name
(U)";
}
}
}
diff -Nur devscripts-2.9.27.old/dd-list.1 devscripts-2.9.27/dd-list.1
--- devscripts-2.9.27.old/dd-list.1 2005-09-16 16:09:37.000000000 +0200
+++ devscripts-2.9.27/dd-list.1 2006-12-15 12:56:06.000000000 +0100
@@ -33,7 +33,7 @@
.B --stdin
is given).
Output is a list of the following format, where package names are source
-packages:
+packages by default:
.PP
.nf
.RS
@@ -70,12 +70,20 @@
apt-cache. This is the fastest way to use dd-list, as it uses the
maintainer information from the input instead of looking up the maintainer
of each listed package.
+.IP
+If no \fISource:\fP line is given, the \fIPackage:\fP name is used for
+output, which might be a binary package name.
.TP
.BR \-u , \-\-uploaders
Also list developers who are named as uploaders of packages, not only
the maintainers. Uploaders are indicated with "(U)" appended to the
package name.
.TP
+.BR \-b , \-\-print\-binary
+Use binary package names in the output instead of source package names
+(has no effect with \fB--dctrl\fP if the \fIPackage:\fP line contains
+source package names).
+.TP
.BR \-V , \-\-version
Print the version.
.\" --------------------------------------------------------------------
--
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)