tags 160478 patch
thanks

Hi,

I've adapted Simon's patch to current version and made some cleanup/bugfix.

Please, could you consider appliing?

(note: I'm not sure if this fixes the other bugs that were merged with this
one, perhaps we should unmerge)

-- 
Robert Millan
diff -ur vrms-1.12.old/vrms vrms-1.12/vrms
--- vrms-1.12.old/vrms	2006-11-03 19:15:06.000000000 +0100
+++ vrms-1.12/vrms	2007-07-31 12:22:33.000000000 +0200
@@ -22,6 +22,7 @@
 my $sparse = 0;
 my $help = 0;
 my $explain = 1;
+my $contrib = 0;
 my $debug = 0;
 my $reasondir = '/usr/share/vrms/reasons/';
 my %reason = ();
@@ -42,6 +43,7 @@
 			  if available.
 --sparse, -s		Just list non-free packages, nothing else.
 --reason-dir=DIR	Use DIR as the reason directory.
+--contrib, -c		List packages in contrib instead of non-free.
 --help, -h		Display this help.
 --debug, -d		Generate debugging information.
 
@@ -83,6 +85,7 @@
 	   's|sparse' => \$sparse,
 	   'e|explain!' => \$explain,
 	   'reason-dir=s' => \$reasondir,
+	   'c|contrib' => \$contrib,
 	   'd|debug+' => \$debug,
 	   'h|help' => \$help);
 
@@ -164,7 +167,7 @@
 		($label, $section) = split(/:\s+/,$_,2);
 		print "\tsection=[$section]\n" if $debug >= 1;
 		$has_section = 1;	###  we have necessary section
-		if ($section =~ /non-free|restricted|multiverse/) {
+		if(($contrib && $section =~ /contrib/) || $section =~ /non-free|restricted|multiverse/) {
 		    ###  read thru rest of array to find descr instead of waiting for it
 		    my $found_descr =0;
 		    while (! $found_descr) {
@@ -264,25 +267,25 @@
 }
 
 if (!$quiet and $nfcnt == 0 and $pnfcnt == 0) {
-    print "No non-free packages installed on $sysname!  rms would be proud.\n";
+    print "No non-free" . ($contrib ? "/contrib" : "") . " packages installed on $sysname!  rms would be proud.\n"
 } elsif (!$quiet and !$sparse) {
     my $total_nonfree = $nonfreecnt + $other_nonfreecnt;
     my $total_installed = $pkgcnt;
     my $percentage = $total_nonfree * 100 / $total_installed;
-    printf "\n  %d non-free packages, %2.1f%% of %d installed packages.\n", 
+    printf "\n  %d non-free" . ($contrib ? "/contrib" : "") . " packages, %2.1f%% of %d installed packages.\n", 
     $total_nonfree, $percentage, $total_installed;
 }
 
 
 format head =
 @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-"Non-free packages installed on $sysname"
+"Non-free" . ($contrib ? "/Contrib" : "") . " packages installed on $sysname"
 
 .
 format partialhead =
 
 @||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-"Non-free packages with status other than installed on $sysname"
+"Non-free" . ($contrib ? "/Contrib" : "") . " packages with status other than installed on $sysname"
 
 .
 

Reply via email to