Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37568410
en ru br
Репозитории 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
www.altlinux.org/Changes

Группа :: Разработка/Прочее
Пакет: 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} = $_;
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin