use a function

This commit is contained in:
Stephan Kulow 2013-03-21 20:48:17 +01:00
parent b011ca4eb4
commit 1edda8e5b9

View File

@ -1,4 +1,4 @@
#! /usr/bin/perl #! /usr/bin/perl -w
BEGIN { BEGIN {
unshift @INC, "/usr/lib/build/Build"; unshift @INC, "/usr/lib/build/Build";
@ -11,6 +11,8 @@ use Data::Dumper;
use Cwd; use Cwd;
use Rpm; use Rpm;
use strict;
my $dir = $ARGV[0]; my $dir = $ARGV[0];
my %toignore; my %toignore;
foreach my $name (split(/,/, $ARGV[1])) { foreach my $name (split(/,/, $ARGV[1])) {
@ -29,24 +31,27 @@ while ( <GREP> ) {
exit(1); exit(1);
} }
my @rpms = glob("~/factory-repo/*.rpm");
open(PACKAGES, ">", $ENV{'HOME'} . "/packages") || die 'can not open';
print PACKAGES "=Ver: 2.0\n";
sub write_package($$)
{
my $package = shift;
my $ignore = shift;
# RPMTAG_FILEMODES = 1030, /* h[] */ # RPMTAG_FILEMODES = 1030, /* h[] */
# RPMTAG_FILEFLAGS = 1037, /* i[] */ # RPMTAG_FILEFLAGS = 1037, /* i[] */
# RPMTAG_FILEUSERNAME = 1039, /* s[] */ # RPMTAG_FILEUSERNAME = 1039, /* s[] */
# RPMTAG_FILEGROUPNAME = 1040, /* 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) {
my %qq = Build::Rpm::rpmq("$package", qw{NAME VERSION RELEASE ARCH OLDFILENAMES DIRNAMES BASENAMES DIRINDEXES 1030 1037 1039 1040 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]}) { if ($ignore && defined $toignore{$qq{'NAME'}[0]}) {
next; next;
} }
Build::Rpm::add_flagsvers(\%qq, PROVIDENAME, PROVIDEFLAGS, PROVIDEVERSION); # provides
Build::Rpm::add_flagsvers(\%qq, 1049, 1048, 1050); # requires Build::Rpm::add_flagsvers(\%qq, 1049, 1048, 1050); # requires
Build::Rpm::add_flagsvers(\%qq, 1047, 1112, 1113); # provides Build::Rpm::add_flagsvers(\%qq, 1047, 1112, 1113); # provides
Build::Rpm::add_flagsvers(\%qq, 1090, 1114, 1115); # obsoletes Build::Rpm::add_flagsvers(\%qq, 1090, 1114, 1115); # obsoletes
@ -80,7 +85,7 @@ foreach my $package (@rpms) {
} }
print PACKAGES "-Flx:\n"; print PACKAGES "-Flx:\n";
print PACKAGES "+Prv:\n"; print PACKAGES "+Prv:\n";
foreach my $prv (@{$qq{PROVIDENAME} || []}) { foreach my $prv (@{$qq{1047} || []}) {
print PACKAGES "$prv\n"; print PACKAGES "$prv\n";
} }
foreach my $prv (@xprvs) { foreach my $prv (@xprvs) {
@ -104,6 +109,16 @@ foreach my $package (@rpms) {
print PACKAGES "-Obs:\n"; 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); close(PACKAGES);
exit(0); exit(0);