Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package whohas More than a month ago I have NMU-ed two fixes: * Fixed and improved 06-ubuntu-versions to get information on all reported releases for Ubuntu (Closes: #670675) before it was reporting only 1 ubuntu release, making this tool useless for me * Adjusted 10-debian-versions to rely on fixed in 06-ubuntu-versions functionality to fetch information on all available releases at once, instead of looping through predefined list of releases. This way it should obtain information about oldstable and backports when available (Closes: #616297,#655497) which made it much faster and increased coverage Those fixes rendered package usable again for people in the land of Debian and its derivatives. I have been using it quite often since then and have not seen any side-effects of my patches. I am also attaching a complete debdiff for the -0.2 package from -0.1 in wheezy ATM -- my fix is pretty much just 1 chunk of perl code, which I am not expert in, but which was based on the previously shipped patch (removed by mistake in -0.1) and this code seems to function properly atm. Cheers, unblock whohas/0.29-0.2 -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (900, 'testing'), (600, 'unstable'), (300, 'experimental'), (100, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash
diff -Nru whohas-0.29/debian/changelog whohas-0.29/debian/changelog --- whohas-0.29/debian/changelog 2012-01-15 14:13:43.000000000 -0500 +++ whohas-0.29/debian/changelog 2012-09-27 10:19:48.000000000 -0400 @@ -1,3 +1,17 @@ +whohas (0.29-0.2) unstable; urgency=low + + * Non-maintainer upload. + * Fixed and improved 06-ubuntu-versions to get information on all + reported releases for Ubuntu (Closes: #670675) + * Adjusted 10-debian-versions to rely on fixed in 06-ubuntu-versions + functionality to fetch information on all available releases at once, + instead of looping through predefined list of releases. This way + it should obtain information about oldstable and backports when + available (Closes: #616297,#655497) + * The other patches in the series were updated + + -- Yaroslav Halchenko <deb...@onerussian.com> Thu, 27 Sep 2012 10:14:28 -0400 + whohas (0.29-0.1) unstable; urgency=low * Non-maintainer upload. diff -Nru whohas-0.29/debian/patches/06-ubuntu-versions whohas-0.29/debian/patches/06-ubuntu-versions --- whohas-0.29/debian/patches/06-ubuntu-versions 2012-01-15 12:34:13.000000000 -0500 +++ whohas-0.29/debian/patches/06-ubuntu-versions 2012-09-27 10:09:51.000000000 -0400 @@ -1,8 +1,27 @@ -Index: whohas-0.29/program/whohas -=================================================================== ---- whohas-0.29.orig/program/whohas 2012-01-15 14:33:25.223864820 -0300 -+++ whohas-0.29/program/whohas 2012-01-15 14:34:10.853958060 -0300 -@@ -51,7 +51,7 @@ +From: Yaroslav Halchenko <deb...@onerussian.com> +Subject: Reincarnated and refactored the patch to fetch multiple suites from listing page for ubuntu (and Debian) + +original patch had header: + ## 06-ubuntu-versions-510203.dpatch by Jonathan Wiltshire <deb...@jwiltshire.org.uk> + ## + ## All lines beginning with `## DP:' are a description of the patch. + ## DP: Patch to show all versions of a package from Ubuntu, not just + ## DP: the earliest, see bug 510203. + ## DP: Additionally, show the repo that the package is from (eg. universe) + ## DP: Original patch from Steve Cotton <steve0...@s.cotton.clara.co.uk> + ## DP: Status: forwarded upstream to Philipp Wesche <phi1...@yahoo.com> + +I have not relied on it actually but redone it, this time relying more on the +markup instead of lines counts. Also fixed stripping of additional HREFs after +the version (e.g. to backports repo) + +Origin: Debian +Bug-Debian: http://bugs.debian.org/670675 +Last-Update: 2012-09-27 + +--- a/program/whohas ++++ b/program/whohas +@@ -51,7 +51,7 @@ my @columns = (11,38,18,4,10,25); my $cols = 6; my $fedora_release = 16 ; @@ -11,3 +30,46 @@ my $opensuse_major = "12" ; my $opensuse_minor = "1" ; my $mandrivaVersion = "2011.0" ; +@@ -964,17 +964,31 @@ sub debuntu { + for (my $i = 50; $i < @lines; $i++) { + if ($lines[$i] =~ /<h3>Package /) { + my $name = (split /h3>Package |<\/h3>/, $lines[$i])[1]; +- push @names, $name; +- my @parts = split /href\=\"|\"\>|<\/a\>/, $lines[$i+3]; +- $parts[4] =~ s/ \(|\)://g; +- push @groups, $parts[4]; +- push @repos, $dists[$x]; +- push @urls, $baseurl.$parts[2]; +- push @dates, ""; +- @parts = split />|: /, $lines[$i+6]; +- $parts[1] =~ s/ \[\<strong.*//; +- push @versions, $parts[1]; +- $i += 11; ++ # There are now one or more 8-line blocks that are approximately ++ # $lines[$i] <li class="intrepid"><a class="resultlink" href="/intrepid/dpkg">intrepid</a> (base): ++ # $lines[$i+3] <br>1.14.20ubuntu6: amd64 i386 ++ # And this list starts with <ul> and ends with </ul> ++ $i += 1; ++ while (($lines[$i] !~ '</ul>') && ($i < @lines)) { ++ if ($lines[$i] =~ /class="resultlink"/) { ++ push @names, $name; ++ my @parts = split /href\=\"|\"\>|<\/a\>/, $lines[$i]; ++ $parts[4] =~ s/ \(|\)://g; ++ push @groups, $parts[4]; ++ push @repos, $dists[$x]; ++ push @urls, $baseurl.$parts[2]; ++ push @dates, ""; ++ my $vline = $lines[$i+3]; ++ # prune possibly existing link to backports ++ $vline =~ s/ *\[.*strong.*\]//g; ++ # Split lines e.g. "0.8.4-3+squeeze1: all" ++ @parts = split />|: /, $vline; ++ push @versions, $parts[1]; ++ $i += 4; # do not be too greedy ++ } else { ++ $i += 1; ++ } ++ } + } + } + } diff -Nru whohas-0.29/debian/patches/10-debian-versions whohas-0.29/debian/patches/10-debian-versions --- whohas-0.29/debian/patches/10-debian-versions 2012-01-15 13:21:29.000000000 -0500 +++ whohas-0.29/debian/patches/10-debian-versions 2012-09-27 10:12:02.000000000 -0400 @@ -1,16 +1,26 @@ +From: Yaroslav Halchenko <deb...@onerussian.com> +Subject: Fetch all versions from the same page for Debian + +Similarly to Ubuntu's logic supplied in the previous patch -- fetch all version +available from the same page without querying each suite separately. This way +we also get possibly present urls to backports (#655497). Also altogether +should be more efficient avoiding multiple fetches/parsings. + +Origin: Debian +Bug-Debian: http://bugs.debian.org/655497 +Last-Update: 2012-09-27 + ## Description: Add unstable and experimental Debian repositories. ## Origin/Author: Jonathan Wiltshire <deb...@jwiltshire.org.uk> ## Bug: https://bugs.debian.org/511364 -Index: whohas-0.29/program/whohas -=================================================================== ---- whohas-0.29.orig/program/whohas 2012-01-15 14:37:16.402235505 -0300 -+++ whohas-0.29/program/whohas 2012-01-15 14:39:00.409903804 -0300 -@@ -938,7 +938,7 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -938,7 +938,7 @@ sub debian_size_convert { } sub debian { - my @dists = ( 'stable', 'testing' ); -+ my @dists = ( 'stable', 'testing', 'unstable', 'experimental' ); ++ my @dists = ( 'all' ); &debuntu('http://packages.debian.org','Debian',\@dists,$_[0]); return(); } diff -Nru whohas-0.29/debian/patches/30-strictness whohas-0.29/debian/patches/30-strictness --- whohas-0.29/debian/patches/30-strictness 2012-01-15 13:34:01.000000000 -0500 +++ whohas-0.29/debian/patches/30-strictness 2012-09-27 10:13:01.000000000 -0400 @@ -1,11 +1,9 @@ ## Description: Add a --strict option to output only exactly matching package names ## Origin/Author: Jonathan Wiltshire <deb...@jwiltshire.org.uk> ## Bug: http://bugs.debian.org/510020 -Index: whohas-0.29/program/whohas -=================================================================== ---- whohas-0.29.orig/program/whohas 2012-01-15 15:32:23.200237156 -0300 -+++ whohas-0.29/program/whohas 2012-01-15 15:33:40.804989692 -0300 -@@ -72,21 +72,23 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -72,21 +72,23 @@ my @distroSelections; my $nothreads; my $shallow; my $option_help; @@ -31,7 +29,7 @@ } elsif (@ARGV < 1) { die "Error:\tPlease specify a search term.\n"; } -@@ -1158,6 +1160,9 @@ +@@ -1172,6 +1174,9 @@ sub fetchdoc { } sub pretty_print { @@ -41,7 +39,7 @@ my $n = $_[0]; my @colwidths = @_[1..$n]; my @colvals = @_[($n+1)..(@_-1)]; -@@ -1176,6 +1181,15 @@ +@@ -1190,6 +1195,15 @@ sub pretty_print { print $colvals[@colvals-1]."\n"; #last column is unrestricted in length } @@ -57,10 +55,8 @@ sub prep_suse_repo { if ($_[0] =~ /http\:\/\/download\.opensuse\.org/) { if ($_[0] =~ /repositories/) { -Index: whohas-0.29/usr/share/man/de/man1/whohas.1 -=================================================================== ---- whohas-0.29.orig/usr/share/man/de/man1/whohas.1 2012-01-15 15:28:58.000000000 -0300 -+++ whohas-0.29/usr/share/man/de/man1/whohas.1 2012-01-15 15:32:23.840210384 -0300 +--- a/usr/share/man/de/man1/whohas.1 ++++ b/usr/share/man/de/man1/whohas.1 @@ -1,35 +1,38 @@ -.TH "whohas" "1" "0.23" "Philipp Wesche" "" +.TH "whohas" "1" "0.29" "Philipp Wesche" "" @@ -113,10 +109,8 @@ -.LP +.LP Diese Dokumentation wurde von Philipp Wesche <phi1...@yahoo.com> geschrieben, basierend auf einer Vorlage von Jonathan Wiltshire <deb...@jwiltshire.org.uk> für das Debian Projekt. -Index: whohas-0.29/usr/share/man/man1/whohas.1 -=================================================================== ---- whohas-0.29.orig/usr/share/man/man1/whohas.1 2012-01-15 15:32:13.772631574 -0300 -+++ whohas-0.29/usr/share/man/man1/whohas.1 2012-01-15 15:32:23.844210215 -0300 +--- a/usr/share/man/man1/whohas.1 ++++ b/usr/share/man/man1/whohas.1 @@ -1,32 +1,35 @@ -.TH "whohas" "1" "0.24" "Jonathan Wiltshire" "" +.TH "whohas" "1" "0.29" "Jonathan Wiltshire" "" diff -Nru whohas-0.29/debian/patches/35-gentoo-result-url-516071 whohas-0.29/debian/patches/35-gentoo-result-url-516071 --- whohas-0.29/debian/patches/35-gentoo-result-url-516071 2011-12-28 15:00:39.000000000 -0500 +++ whohas-0.29/debian/patches/35-gentoo-result-url-516071 2012-09-27 10:13:04.000000000 -0400 @@ -6,9 +6,9 @@ ## DP: information can be found @DPATCH@ ---- whohas-0.23.orig/program/whohas -+++ whohas-0.23/program/whohas -@@ -800,6 +800,7 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -712,6 +712,7 @@ sub cygwin { sub gentoo { my $gentoobase = "http://gentoo-portage.com"; @@ -16,7 +16,7 @@ my $distroname = "Gentoo"; my @names; my @versions; -@@ -821,6 +822,7 @@ +@@ -733,6 +734,7 @@ sub gentoo { my @dosparts = split /\//, $parts[1]; $dosparts[1] =~ / +$/; my $tempurl = $gentoobase."/".$dosparts[0]."/".$dosparts[1]; @@ -24,7 +24,7 @@ my @newlines = split /\n/, &fetchdoc($tempurl); for (my $li = 0; $li < @newlines; $li++) { if ($newlines[$li] =~ /\<li class\=\"[a-z]+ebuildrow\"/) { -@@ -833,7 +835,7 @@ +@@ -745,7 +747,7 @@ sub gentoo { } push @names, $dosparts[1]; push @groups, $dosparts[0]; diff -Nru whohas-0.29/debian/patches/40-improve-fetchdoc whohas-0.29/debian/patches/40-improve-fetchdoc --- whohas-0.29/debian/patches/40-improve-fetchdoc 2012-01-10 18:06:35.000000000 -0500 +++ whohas-0.29/debian/patches/40-improve-fetchdoc 2012-09-27 10:13:07.000000000 -0400 @@ -6,11 +6,9 @@ ## DP: This also allows us to process XML files without breaking the first line @DPATCH@ -Index: whohas-0.29/program/whohas -=================================================================== ---- whohas-0.29.orig/program/whohas 2012-01-10 18:48:04.919318487 -0300 -+++ whohas-0.29/program/whohas 2012-01-10 20:06:23.817747453 -0300 -@@ -1133,33 +1133,16 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -1146,33 +1146,16 @@ sub fetchdoc { my $ua = LWP::UserAgent->new; $ua->env_proxy; diff -Nru whohas-0.29/debian/patches/60-dont-mask-vars-560891 whohas-0.29/debian/patches/60-dont-mask-vars-560891 --- whohas-0.29/debian/patches/60-dont-mask-vars-560891 2011-12-28 15:00:39.000000000 -0500 +++ whohas-0.29/debian/patches/60-dont-mask-vars-560891 2012-09-27 10:13:14.000000000 -0400 @@ -7,9 +7,9 @@ program/whohas | 1 - 1 file changed, 1 deletion(-) ---- whohas-0.23.orig/program/whohas -+++ whohas-0.23/program/whohas -@@ -1085,7 +1085,6 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -1041,7 +1041,6 @@ sub aur { my @dates; my @urls; my @sizes; diff -Nru whohas-0.29/debian/patches/95-archlinux-url-561536 whohas-0.29/debian/patches/95-archlinux-url-561536 --- whohas-0.29/debian/patches/95-archlinux-url-561536 2011-12-28 15:00:39.000000000 -0500 +++ whohas-0.29/debian/patches/95-archlinux-url-561536 2012-09-27 10:13:17.000000000 -0400 @@ -4,9 +4,9 @@ Reviewed-by: Jonathan Wiltshire <j...@debian.org> Last-Update: 2010-12-05 ---- whohas-0.24.orig/program/whohas 2010-04-05 00:42:48.000000000 +0200 -+++ whohas-0.24/program/whohas 2010-12-03 12:26:01.780263569 +0100 -@@ -1115,7 +1124,8 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -1071,7 +1071,8 @@ sub aur { sub arch { my $archbase = "http://www.archlinux.org"; @@ -16,7 +16,7 @@ my @repos; my @names; -@@ -1124,7 +1134,7 @@ +@@ -1080,7 +1081,7 @@ sub arch { my @urls; my @sizes; for (my $i = 0; $i < @lines; $i++) { @@ -25,7 +25,7 @@ for (my $a = 2; $a < 11;$a++) { my $temp = $lines[$a+$i]; $temp =~ s/.*\<td\>|\<\/td\>//g; -@@ -1132,15 +1142,16 @@ +@@ -1088,15 +1089,16 @@ sub arch { push @repos,$temp; } elsif ($a == 4) { push @urls, $archbase.&arch_site_get_url ($lines[$i+$a]); @@ -45,7 +45,7 @@ push @sizes, ""; $i += 7; } -@@ -1153,7 +1164,7 @@ +@@ -1109,7 +1111,7 @@ sub arch { sub arch_site_get_url { my $temp = $_[0]; diff -Nru whohas-0.29/debian/patches/96-fedora-search-619873 whohas-0.29/debian/patches/96-fedora-search-619873 --- whohas-0.29/debian/patches/96-fedora-search-619873 2011-12-28 15:00:39.000000000 -0500 +++ whohas-0.29/debian/patches/96-fedora-search-619873 2012-09-27 10:13:19.000000000 -0400 @@ -1,11 +1,9 @@ ## Description: Support fedora's package listing ## Origin/Author: m...@debian.org ## Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619873 -Index: whohas-0.24/program/whohas -=================================================================== ---- whohas-0.24.orig/program/whohas 2011-11-29 16:22:29.000000000 -0300 -+++ whohas-0.24/program/whohas 2011-11-29 16:25:47.192778437 -0300 -@@ -290,27 +290,26 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -187,27 +187,26 @@ sub fedora { for (my $a = 0; $a < @fed_urls; $a++) { my @lines = split /\n/, &fetchdoc($baseurl.$fed_urls[0]); for (my $li = 0; $li < @lines; $li++) { diff -Nru whohas-0.29/debian/patches/openbsd-cache-results whohas-0.29/debian/patches/openbsd-cache-results --- whohas-0.29/debian/patches/openbsd-cache-results 2011-12-28 15:00:39.000000000 -0500 +++ whohas-0.29/debian/patches/openbsd-cache-results 2012-09-27 10:13:11.000000000 -0400 @@ -4,9 +4,9 @@ Reported: http://bugs.debian.org/557724 Author: Jonathan Wiltshire <deb...@jwiltshire.org.uk> ---- whohas-0.23.orig/program/whohas -+++ whohas-0.23/program/whohas -@@ -789,7 +789,7 @@ +--- a/program/whohas ++++ b/program/whohas +@@ -666,7 +666,7 @@ sub openbsd_older { close OUT; } my $matcher = $_[0];