Игорь Пашев - cpan2tgz не работает с перлом 5.10.0

Dec. 20th, 2008

12:10 am - cpan2tgz не работает с перлом 5.10.0

Previous Entry Add to Memories Tell A Friend Next Entry

cpan2tgz не захотел работать в Слаке 12.2,
в которой Перл 5.10.0. И вот из-за чего: новый модуть CPAN возвращает теперь не просто список зависимостей,
в два хэша: зависимости для сборки (build_requires) и зависимости для запуска (requires).
Это лечится примерно так:

# diff -u /usr/bin/cpan2tgz ../../PERL/cpan2tgz
--- /usr/bin/cpan2tgz   2008-12-20 00:09:05.000000000 +0300
+++ ../../PERL/cpan2tgz 2008-12-20 00:07:26.000000000 +0300
@@ -163,7 +163,7 @@
     # only get the deps that are not installed
     @deps = grep { defined && m/\w+/; }
       map { defined $PACKAGE_CACHE_LIST{$_} ? undef : $_ }
-      keys %{$pack->prereq_pm()};
+      $pack->prereq_pm()->{'requires'};

   } elsif (my $deps = $pack->prereq_pm()) {

@@ -171,7 +171,7 @@
     @deps = grep { $_ && m/\w+/; }
       map { defined $PACKAGE_CACHE_LIST{$_} ? undef : $_ }
       map { eval "no warnings 'all'; use $_;"; if ($@) { $_ } }
-      keys %{$deps};
+      $deps->{'requires'};

   }


В будущем планирую ещё кое-какие изменения в cpan2tgz.

Tags: ,
(1 комментарий | Оставить комментарий)

Comments:

[User Picture]
From:[info]igorpashev
Date:December 20th, 2008 - 09:09 pm
(Link)
Появился cpan2tgz 0.6.3
(Reply to this)