use a function
This commit is contained in:
parent
b011ca4eb4
commit
1edda8e5b9
@ -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 ( <GREP> ) {
|
||||
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]}) {
|
||||
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user