|
Lines 86-91
Link Here
|
| 86 |
buildroot => "%{_tmppath}/%{name}-%{version}-%(id -u -n)", |
86 |
buildroot => "%{_tmppath}/%{name}-%{version}-%(id -u -n)", |
| 87 |
defattr => "-,root,root", |
87 |
defattr => "-,root,root", |
| 88 |
description => "None.", |
88 |
description => "None.", |
|
|
89 |
"rpm-args" => "", |
| 89 |
); |
90 |
); |
| 90 |
|
91 |
|
| 91 |
my %desc = ( |
92 |
my %desc = ( |
|
Lines 122-127
Link Here
|
| 122 |
# -- build options |
123 |
# -- build options |
| 123 |
"spec-only" => "only generates spec file", |
124 |
"spec-only" => "only generates spec file", |
| 124 |
"spec=s" => "specifies the name of a spec file", |
125 |
"spec=s" => "specifies the name of a spec file", |
|
|
126 |
"rpm-args=s" => "additional rpm arguments", |
| 125 |
"make-maker=s" => "arguments for makefile creation", |
127 |
"make-maker=s" => "arguments for makefile creation", |
| 126 |
"make=s" => "arguments passed to make", |
128 |
"make=s" => "arguments passed to make", |
| 127 |
"make-no-test" => "suppress running test suite", |
129 |
"make-no-test" => "suppress running test suite", |
|
Lines 914-920
Link Here
|
| 914 |
writefile($info->{spec}, $spec); |
916 |
writefile($info->{spec}, $spec); |
| 915 |
print("SPEC: $info->{spec}\n"); |
917 |
print("SPEC: $info->{spec}\n"); |
| 916 |
system("cleanup_spec $info->{spec}"); |
918 |
system("cleanup_spec $info->{spec}"); |
| 917 |
system("buildreq $info->{spec}"); |
919 |
system("buildreq --args=\"$info{'rpm-args'}\" $info->{spec}"); |
| 918 |
exit if $info->{"spec-only"}; |
920 |
exit if $info->{"spec-only"}; |
| 919 |
} |
921 |
} |
| 920 |
|
922 |
|
|
Lines 953-971
Link Here
|
| 953 |
if (! -r $info->{rpm} || $info->{force}) { |
955 |
if (! -r $info->{rpm} || $info->{force}) { |
| 954 |
print "Generating package\n"; |
956 |
print "Generating package\n"; |
| 955 |
|
957 |
|
| 956 |
my $bp = qx/$RPM -bp $info->{spec} 2>&1/; |
958 |
my $bp = qx/$RPM $info{"rpm-args"} -bp $info->{spec} 2>&1/; |
| 957 |
warn("RPM test unpacking failed! [$RPM -bp $info->{spec}]\n$bp") |
959 |
warn("RPM test unpacking failed! [$RPM $info{'rpm-args'} -bp $info->{spec}]\n$bp") |
| 958 |
if $ret = $? >> 8; |
960 |
if $ret = $? >> 8; |
| 959 |
|
961 |
|
| 960 |
if ($ret == 0) { |
962 |
if ($ret == 0) { |
| 961 |
my @cmd = ($RPM, '-ba'); |
963 |
my @cmd = ($RPM, $info{"rpm-args"}, '-ba'); |
| 962 |
push @cmd, "--clean" unless $info->{"no-clean"}; |
964 |
push @cmd, "--clean" unless $info->{"no-clean"}; |
| 963 |
push @cmd, $info->{sign} if $info->{sign}; |
965 |
push @cmd, $info->{sign} if $info->{sign}; |
| 964 |
push @cmd, $info->{spec}; |
966 |
push @cmd, $info->{spec}; |
| 965 |
debug(join " ", @cmd); |
967 |
debug(join " ", @cmd); |
| 966 |
print "Signing package (pass phrase required)\n" |
968 |
print "Signing package (pass phrase required)\n" |
| 967 |
if $info->{sign}; |
969 |
if $info->{sign}; |
| 968 |
system(@cmd); |
970 |
system(join(" ", @cmd)); |
| 969 |
die "RPM build failed [$ret]" if $ret = $? >> 8; |
971 |
die "RPM build failed [$ret]" if $ret = $? >> 8; |
| 970 |
} |
972 |
} |
| 971 |
} |
973 |
} |
|
Lines 1490-1496
Link Here
|
| 1490 |
|
1492 |
|
| 1491 |
sub getrpm_macdef($) { |
1493 |
sub getrpm_macdef($) { |
| 1492 |
my $key = shift; |
1494 |
my $key = shift; |
| 1493 |
chomp(local $_ = qx/rpm --eval \%{$key}/); |
1495 |
chomp(local $_ = qx/rpm $info{"rpm-args"} --eval \%{$key}/); |
| 1494 |
s/^\s+//; s/\s*\n+/ /gs; s/\s+$//; |
1496 |
s/^\s+//; s/\s*\n+/ /gs; s/\s+$//; |
| 1495 |
$_; |
1497 |
$_; |
| 1496 |
} |
1498 |
} |
|
Lines 1550-1556
Link Here
|
| 1550 |
} |
1552 |
} |
| 1551 |
|
1553 |
|
| 1552 |
my ($f) = $url =~ m|.*/(.*)|; |
1554 |
my ($f) = $url =~ m|.*/(.*)|; |
| 1553 |
my @ret = qx|$RPM -ta $TMPDIR/$f 2>&1|; |
1555 |
my @ret = qx|$RPM $info{"rpm-args"} -ta $TMPDIR/$f 2>&1|; |
| 1554 |
die "upgrade(): $!" if $?; |
1556 |
die "upgrade(): $!" if $?; |
| 1555 |
/Wrote:\s+(.*)$/ && ($info{rpm} = $1) && last for reverse @ret; |
1557 |
/Wrote:\s+(.*)$/ && ($info{rpm} = $1) && last for reverse @ret; |
| 1556 |
inst_rpm(\%info); |
1558 |
inst_rpm(\%info); |