Created
February 6, 2009 10:28
-
-
Save mizzy/59320 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= モジュールの依存関係 = | |
rpmbuild でパッケージを作る際に、use/require してるモジュールがすべて rpm の依存関係に含まれてしまう、という問題がある。eval しているモジュールは依存関係の対象とはならないが、以下のように複数行にまたがっていると、依存関係の対象になってしまう。 | |
{{{ | |
eval { | |
require 'Hoge'; | |
} | |
}}} | |
依存関係に含まれないようにするためには、/usr/lib/rpm/perl.req を以下のように修正する。 | |
{{{ | |
#!diff | |
--- /usr/lib/rpm/perl.req.org 2008-01-31 19:21:31.000000000 +0900 | |
+++ /usr/lib/rpm/perl.req 2008-01-31 19:21:41.000000000 +0900 | |
@@ -221,8 +221,8 @@ | |
($module =~ m/\.ph$/) && next; | |
- $require{$module}=$version; | |
- $line{$module}=$_; | |
+ #$require{$module}=$version; | |
+ #$line{$module}=$_; | |
} | |
} | |
}}} | |
= cpanflute2 の修正 = | |
cpanflute2自体もビルド時に問題が発生することがあるので、以下のパッチをあてる。 | |
{{{ | |
#!diff | |
--- cpanflute2.org 2008-02-26 12:20:28.000000000 +0900 | |
+++ cpanflute2 2008-02-26 12:21:15.000000000 +0900 | |
@@ -159,10 +159,12 @@ | |
my $yaml = Load($contents); | |
while (my ($mod, $ver) = each %{$yaml->{build_requires}}) { | |
- push @build_requires, [ "perl($mod)", $ver ]; | |
+ $mod = "perl($mod)" if $mod ne 'perl'; | |
+ push @build_requires, [ "$mod", $ver ]; | |
} | |
while (my ($mod, $ver) = each %{$yaml->{requires}}) { | |
- push @requires, [ "perl($mod)", $ver ]; | |
+ $mod = "perl($mod)" if $mod ne 'perl'; | |
+ push @requires, [ "$mod", $ver ]; | |
} | |
} | |
@@ -289,12 +291,7 @@ | |
my $makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Makefile.PL < /dev/null}; | |
my $make_install = qq{make pure_install PERL_INSTALL_ROOT=\$RPM_BUILD_ROOT}; | |
-if ($use_module_build) { | |
- $makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Makefile.PL destdir=\$RPM_BUILD_ROOT $installdirs < /dev/null}; | |
-} | |
-else { | |
- $makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Makefile.PL $installdirs}; | |
-} | |
+$makefile_pl = qq{CFLAGS="\$RPM_OPT_FLAGS" %{__perl} Makefile.PL $installdirs}; | |
$spec->build(<<EOB); | |
$makefile_pl | |
}}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment