#!/usr/bin/perl -w use strict; my %flavours; my %pkgs; open( IN, "utils/list-pkg-kernel |" ); while () { chomp; /^([^\s]+)\s+(.+)/; my $arch = $1; next if $arch eq 'arm'; my $name = $2; my $flavour; die "$_" unless $name =~ s/-([^-]+-[^-]+)$//; $flavour = $1; $flavours{$flavour} = 1; $pkgs{$name}->{$flavour}->{$arch} = 1; } close(IN); # Рассчет размера поля с именем модуля my $l = 0; foreach ( keys %pkgs ) { my $l2 = length $_; $l = $l2 if $l2 > $l; } $l++; printf "%-${l}s", "MODULE"; my @flavours = sort keys %flavours; foreach (@flavours) { printf "%-9s", $_; } print "\n"; #print "@flavours\n"; foreach ( sort keys %pkgs ) { printf "%-${l}s", $_; foreach my $f (@flavours) { if ( defined $pkgs{$_}->{$f} ) { my $t = $pkgs{$_}->{$f}; if ( defined $t->{x86_64} ) { if ( defined $t->{i586} ) { print " Ok "; } else { print " x86_64 "; } } else { print " i586 "; } } else { print " ----- "; } } print "\n"; }