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