[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#692135: unblock: whohas/0.29-0.2



Package: release.debian.org
Severity: normal
User: release.debian.org@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 <debian@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 <debian@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 <debian@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 <steve0001@s.cotton.clara.co.uk>
+    ## DP: Status: forwarded upstream to Philipp Wesche <phi1ipp@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 <debian@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 <debian@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 <debian@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 <phi1ipp@yahoo.com> geschrieben, basierend auf einer Vorlage von Jonathan Wiltshire <debian@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 <jmw@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: maxy@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 <debian@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];

Reply to: