From 1edda8e5b9308ad699bf8f29c6a4eacb07a8b575 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 21 Mar 2013 20:48:17 +0100 Subject: [PATCH] use a function --- repo-checker.pl | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/repo-checker.pl b/repo-checker.pl index fac4138e..47e9d471 100644 --- a/repo-checker.pl +++ b/repo-checker.pl @@ -1,4 +1,4 @@ -#! /usr/bin/perl +#! /usr/bin/perl -w BEGIN { unshift @INC, "/usr/lib/build/Build"; @@ -11,6 +11,8 @@ use Data::Dumper; use Cwd; use Rpm; +use strict; + my $dir = $ARGV[0]; my %toignore; foreach my $name (split(/,/, $ARGV[1])) { @@ -29,24 +31,27 @@ while ( ) { exit(1); } -# RPMTAG_FILEMODES = 1030, /* h[] */ -# RPMTAG_FILEFLAGS = 1037, /* i[] */ -# RPMTAG_FILEUSERNAME = 1039, /* s[] */ -# RPMTAG_FILEGROUPNAME = 1040, /* s[] */ - my @rpms = glob("~/factory-repo/*.rpm"); open(PACKAGES, ">", $ENV{'HOME'} . "/packages") || die 'can not open'; print PACKAGES "=Ver: 2.0\n"; -foreach my $package (@rpms) { +sub write_package($$) +{ + my $package = shift; + my $ignore = shift; + + # RPMTAG_FILEMODES = 1030, /* h[] */ + # RPMTAG_FILEFLAGS = 1037, /* i[] */ + # RPMTAG_FILEUSERNAME = 1039, /* s[] */ + # RPMTAG_FILEGROUPNAME = 1040, /* s[] */ + my %qq = Build::Rpm::rpmq("$package", qw{NAME VERSION RELEASE ARCH OLDFILENAMES DIRNAMES BASENAMES DIRINDEXES 1030 1037 1039 1040 - PROVIDENAME PROVIDEFLAGS PROVIDEVERSION 1049 1048 1050 1090 1114 1115 1054 1053 1055 + 1047 1112 1113 1049 1048 1050 1090 1114 1115 1054 1053 1055 }); - if (defined $toignore{$qq{'NAME'}[0]}) { - next; + if ($ignore && defined $toignore{$qq{'NAME'}[0]}) { + next; } - Build::Rpm::add_flagsvers(\%qq, PROVIDENAME, PROVIDEFLAGS, PROVIDEVERSION); # provides Build::Rpm::add_flagsvers(\%qq, 1049, 1048, 1050); # requires Build::Rpm::add_flagsvers(\%qq, 1047, 1112, 1113); # provides Build::Rpm::add_flagsvers(\%qq, 1090, 1114, 1115); # obsoletes @@ -80,7 +85,7 @@ foreach my $package (@rpms) { } print PACKAGES "-Flx:\n"; print PACKAGES "+Prv:\n"; - foreach my $prv (@{$qq{PROVIDENAME} || []}) { + foreach my $prv (@{$qq{1047} || []}) { print PACKAGES "$prv\n"; } foreach my $prv (@xprvs) { @@ -104,6 +109,16 @@ foreach my $package (@rpms) { print PACKAGES "-Obs:\n"; } + +foreach my $package (@rpms) { + write_package(1, $package); +} + +@rpms = glob("$dir/*.rpm"); +foreach my $package (@rpms) { + write_package(0, $package); +} + close(PACKAGES); exit(0);