diff -Nru popularity-contest-1.52ubuntu1/debian/changelog popularity-contest-1.53ubuntu1/debian/changelog --- popularity-contest-1.52ubuntu1/debian/changelog 2011-06-01 15:56:38.000000000 +0200 +++ popularity-contest-1.53ubuntu1/debian/changelog 2011-07-01 09:09:23.000000000 +0200 @@ -1,3 +1,24 @@ +popularity-contest (1.53ubuntu1) oneiric; urgency=low + + * Merge from debian unstable. (LP: #804167) Remaining changes: + - Set debconf question priority from "high" to "medium" + - Remove mail-transport-agent recommends + - Branding changes in the description and homepage + - Upload uncompressed reports + - Set submiturls to popcon.ubuntu.com + + -- Angel Abad Fri, 01 Jul 2011 09:03:11 +0200 + +popularity-contest (1.53) unstable; urgency=low + + * popularity-contest: + - Find package files lists by running dpkg -L by batches. Closes: #622322 + This fix an issues with multiarch packages. (sorry for the delay) + * debian/control: + - Updated Standards-Version from 3.9.1 to 3.9.2. No change needed. + + -- Bill Allombert Thu, 30 Jun 2011 21:16:58 +0200 + popularity-contest (1.52ubuntu1) oneiric; urgency=low * Merge from debian unstable. (LP: #786997) Remaining changes: diff -Nru popularity-contest-1.52ubuntu1/debian/control popularity-contest-1.53ubuntu1/debian/control --- popularity-contest-1.52ubuntu1/debian/control 2011-02-04 09:32:19.000000000 +0100 +++ popularity-contest-1.53ubuntu1/debian/control 2011-07-01 09:03:04.000000000 +0200 @@ -6,7 +6,7 @@ Uploaders: Petter Reinholdtsen , Bill Allombert Build-Depends: debhelper (>=5) Homepage: http://popcon.ubuntu.com/ -Standards-Version: 3.9.1 +Standards-Version: 3.9.2 Package: popularity-contest Architecture: all diff -Nru popularity-contest-1.52ubuntu1/debian/dirs popularity-contest-1.53ubuntu1/debian/dirs --- popularity-contest-1.52ubuntu1/debian/dirs 2011-01-19 16:08:48.000000000 +0100 +++ popularity-contest-1.53ubuntu1/debian/dirs 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -usr/share/popularity-contest diff -Nru popularity-contest-1.52ubuntu1/popularity-contest popularity-contest-1.53ubuntu1/popularity-contest --- popularity-contest-1.52ubuntu1/popularity-contest 2011-06-01 15:56:38.000000000 +0200 +++ popularity-contest-1.53ubuntu1/popularity-contest 2011-07-01 08:01:06.000000000 +0200 @@ -25,7 +25,7 @@ use strict; use 5.6.0; -my $dpkg_db="/var/lib/dpkg/info"; +my $dpkg_batch_size=32; #This is a time/space trade-off: higher = faster my $popcon_conf="/etc/popularity-contest.conf"; my %opts=(); @@ -92,23 +92,14 @@ } } -# Read dpkg database of installed packages -open PACKAGES, "dpkg-query --show --showformat='\${status} \${package}\\n'|"; -while () +#process the file list of a package +sub proc_pkg { - /^.*installed *(.+)$/ or next; - my $pkg=$1; + my ($pkg,@list)=@_; $popcon{$pkg}=[0,0,$pkg,""]; - open FILES, "$dpkg_db/$pkg.list" or - do { print STDERR "popcon: file $dpkg_db/$pkg.list is missing\n"; next; }; my $bestatime = undef; - while () + for (@list) { - chop; - next unless ( - ( m{/bin/|/sbin/|/lib/.+/|^/usr/games/|\.[ah]$|\.pm$|\.php$|^/boot/System\.map-} - || defined $mapped{$_} ) - && -f $_); my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat; @@ -138,9 +129,48 @@ } } } +} + +#process a list of packages. +sub proc_pkgs +{ + my (@pkgs)=@_; + open FILES, "-|", "dpkg -L @pkgs"; + my @list = (); + my $pkg = shift @pkgs; + while () + { + chop; + if ($_ eq "") + { + proc_pkg($pkg, @list); + $pkg = shift @pkgs; + @list = (); + } + next unless ( + ( m{/bin/|/sbin/|/lib/.+/|^/usr/games/|\.[ah]$|\.pm$|\.php$|^/boot/System\.map-} + || defined $mapped{$_} ) + && -f $_); + push @list, $_; + } + proc_pkg($pkg, @list); close FILES; } +# Read dpkg database of installed packages +open PACKAGES, "dpkg-query --show --showformat='\${status} \${package}\\n'|"; +my @pkglist = (); +while () +{ + /^.*installed *(.+)$/ or next; + push @pkglist, $1; + if (scalar @pkglist >= $dpkg_batch_size) + { + proc_pkgs(@pkglist); + @pkglist = (); + } +} +proc_pkgs(@pkglist) if (@pkglist); close PACKAGES; # We're not done yet. Sort the output in reverse by atime, and