#!/usr/bin/perl
#
# 030209

if ( @ARGV < 1 ) { 
   print stderr "missing params\n\n"; 
   print stderr "Getting all installed packages from aptitudes \"status\"\n";
   print stderr "and the sum of them\n"; 
   print stderr "Usage: get-installed-pkgs status [ > inst-pkgs ]\n\n" ;
   exit; 
}

$text="Package\t\t\tSize KB\n=======\n";
while (<>) {
   if ( $_ eq "\n" ) { 
      if ( $absatz =~ /install ok installed/ ) {
         $absatz =~ /Package: (.*)\n/;
         $zeile = "$1";
	 if ( ( $len = length($zeile) ) < 8) { $tabs = "\t\t\t"; }
	 elsif ( $len < 16 ) { $tabs = "\t\t"; }
	 else { $tabs = "\t"; }
         $text .= "$zeile$tabs";
         $absatz =~ /Installed-Size: (\d*)\n/;
         $text .= "$1\n";
	 $sizes += $1 ;
      }
   $absatz = ""; 
   }
   else { 
      $absatz .= $_; 
   }
}

print "$text\n";
print "Sum total:\t\t$sizes KB\n";
print "==============================\n";
