Репозитории ALT
S: | 2.028-alt5 |
5.1: | 2.027-alt4 |
4.1: | 2.027-alt2 |
4.0: | 2.027-alt1 |
3.0: | 2.027-alt0.3 |
Группа :: Разработка/Прочее
Пакет: cpan2rpm
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: cpan2rpm-2.028-alt-viy-fix-for-named-sourcedir.patch
Скачать
Скачать
--- cpan2rpm 2011-11-18 11:35:56.000000000 +0200
+++ cpan2rpm 2011-11-18 12:45:19.000000000 +0200
@@ -44,12 +44,12 @@
init(); # initialise stuff
-for (@ARGV) {
- get_mod(); # retrieve a module to work with
- get_meta(); # get metadata from tarball
- mk_spec(); # create a custom spec file
- mk_rpm(); # build the RPM
- inst_rpm(); # install it if requested
+for my $arg (@ARGV) {
+ my $ret=get_mod($arg); # retrieve a module to work with
+ get_meta($ret); # get metadata from tarball
+ mk_spec($ret); # create a custom spec file
+ mk_rpm($ret); # build the RPM
+ inst_rpm($ret); # install it if requested
}
# --- support functionality ---------------------------------------------------
@@ -244,6 +244,7 @@
# check directory permissions
+ $RPMDIR{TOP} = getrpm_macdef("_topdir");
$RPMDIR{BUILD} = getrpm_macdef("_builddir");
$RPMDIR{SOURCES} = getrpm_macdef("_sourcedir");
$RPMDIR{RPMS} = getrpm_macdef("_rpmdir");
@@ -333,7 +334,7 @@
#
if (isurl($ret{dist})) {
- $ret{tarball} = write_url($RPMDIR{SOURCES}, $ret{dist})
+ $ret{tarball} = write_url($RPMDIR{TOP}.'/SOURCES', $ret{dist})
|| die "Unable to retrieve tarball";
push @{$ret{source}}, $ret{dist};
}
@@ -343,7 +344,7 @@
#
elsif (istarball($ret{dist}, 1)) {
- cp($ret{dist}, $RPMDIR{SOURCES})
+ cp($ret{dist}, $RPMDIR{TOP}.'/SOURCES')
|| die "get_mod(): cp [$ret{dist}] - $!"
;
($ret{tarball} = $ret{dist}) =~ s|.*/||;
@@ -378,7 +379,7 @@
# extract tarball
unless (-d ($info->{evaldir} = $info->{dist})) {
- my $f = "$RPMDIR{SOURCES}/$info->{tarball}";
+ my $f = "$RPMDIR{TOP}/SOURCES/$info->{tarball}";
print "Tarball extraction: [$f]\n";
$info->{evaldir} = untar($f);
}
@@ -589,7 +590,7 @@
# refix all macro dirs for %name, %version
- chkdirs();
+ chkdirs($info);
$info->{spec} ||= "$RPMDIR{SPECS}/perl-$info->{name}.spec";
($info->{tardir} = $info->{evaldir}) =~ s|.*/||;
@@ -726,6 +727,9 @@
$info->{"no-requires"}{"install"} ||= "";
$info->{"no-requires"}{"clean"} ||= "";
+ # copy tarball to %_sourcedir
+ cp("$RPMDIR{TOP}/SOURCES/$info->{tarball}",$RPMDIR{SOURCES}) if $RPMDIR{TOP}.'/SOURCES' ne $RPMDIR{SOURCES};
+
# fix patch info
my $i = 0;
@@ -1351,6 +1355,8 @@
}
sub chkdirs {
+ my $info=shift;
+ $info||=\%info;
my @dirserr;
for my $k (keys %RPMDIR) {
next if $k eq "ARCH";
@@ -1358,8 +1364,8 @@
# e.g. %_specdir = "%{name}-%{version}"
my $x = $_;
- s/%{?name?}/$info{name}/i if $info{name};
- s/%{?version?}/$info{version}/i if $info{version};
+ s/%\{?name\}?/perl-$info->{name}/i if $info->{name};
+ s/%\{?version\}?/$info->{version}/i if $info->{version};
mkdir($_, 0755) unless $x eq $_ || -d $_;
$RPMDIR{$k} = $_;