havner <[EMAIL PROTECTED]> [10-08-2004 17:31]: > On Tuesday 10 August 2004 09:30, Marcin Doliński wrote: > > > Wiekszosc to braki na amd64 i trzeba to dobudowac... [...] > I czy nie moge sie tego skryptu doprosic??
> cat main-niepelne | check [sprawdzajacy spece w ~/rpm/SPECS] > > lista_NAPRAWDE_niepelnych > Nie ma tu jakiegos programisty perla czy innego pythona? Naprawde by mi to > ulatwilo prace... W załączniku. Dane na STDIN lub nazwa pliku jako argument. Dopasuj ostatnią linię do swoich potrzeb (sposób wypisywania). Ignoruje daty. -- Radosław Zieliński <[EMAIL PROTECTED]> [ GPG key: http://radek.karnet.pl/ ]
#!/usr/bin/perl -wl
use strict;
my $specsdir = "$ENV{HOME}/rpm/SPECS";
my @archs = qw(i386 i586 i686 athlon alpha ppc sparc amd64);
my @archs86 = qw(i386 i586 i686 athlon);
my %pakiety;
while (<>) {
my (undef, undef, undef, $nazwa, @arch) = split /\s+/;
warn "więcej niż jeden wpis dla pakietu $nazwa!\n"
if exists $pakiety{$nazwa};
$pakiety{$nazwa} = { map { ; $_ => 1 } @arch };
}
for my $pakiet (keys %pakiety) {
my $spec = "$specsdir/$pakiet.spec";
if (-e $spec) {
open my $F, $spec or die "open $spec: $!";
my @exarch;
while (<$F>) {
s/\s+$//;
if (/^ExclusiveArch:\s+(.+)/) {
@exarch = grep length,
map { $_ eq '%{ix86}' ? @archs86 : $_ } split /\s/,
$1;
last;
}
last unless length;
}
sprawdz($pakiet, @exarch ? [EMAIL PROTECTED] : [EMAIL PROTECTED]);
close $F or die $!;
}
else {
warn "$spec nie istnieje\n";
next;
}
}
sub sprawdz {
my($pakiet, $arch) = @_;
my @brak = grep !$pakiety{$pakiet}->{$_}, sort @$arch;
print "$pakiet: @brak" if @brak;
}
pgpy1PkAl6vsl.pgp
Description: PGP signature
_______________________________________________ pld-devel-pl mailing list [EMAIL PROTECTED] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
