php5-5.6.31-1vl7.src.rpm をリビルド時に以下のエラーが表示しました
The output of /usr/bin/apxs follows: cannot open /usr/lib64/httpd/build/config_vars.mk: No such file or directory at /usr/bin/apxs line 214. configure: error: Aborting エラー: /var/tmp/rpm-tmp.U7AtRy の不正な終了ステータス (%build)
原因を調査すると、/usr/bin/apxs のバグらしいです。
また、前回の apache2-2.4.28-1vl7.src.rpm をリビルド時に
原因がある事が判明しました
httpd-2.4.9-apxs.patch の記述内容を修正する事で解決する事が出来ました。
変更前
diff --git a/support/apxs.in b/support/apxs.in index ad1287f..efcfcf6 100644 --- a/support/apxs.in +++ b/support/apxs.in @@ -25,7 +25,18 @@ package apxs; my %config_vars = (); -my $installbuilddir = "@exp_installbuilddir@"; +# Awful hack to make apxs libdir-agnostic: +my $pkg_config = "/usr/bin/pkg-config"; +if (! -x "$pkg_config") { + error("$pkg_config not found!"); + exit(1); +} + +my $libdir = `pkg-config --variable=libdir apr-1`; +chomp $libdir; + +my $installbuilddir = $libdir . "/httpd/build"; + get_config_vars("$installbuilddir/config_vars.mk",\%config_vars); # read the configuration variables once @@ -275,7 +286,7 @@ if ($opt_g) { $data =~ s|%NAME%|$name|sg; $data =~ s|%TARGET%|$CFG_TARGET|sg; $data =~ s|%PREFIX%|$prefix|sg; - $data =~ s|%INSTALLBUILDDIR%|$installbuilddir|sg; + $data =~ s|%LIBDIR%|$libdir|sg; my ($mkf, $mods, $src) = ($data =~ m|^(.+)-=#=-\n(.+)-=#=-\n(.+)|s); @@ -453,11 +464,11 @@ if ($opt_c) { my $ldflags = "$CFG_LDFLAGS"; if ($opt_p == 1) { - my $apr_libs=`$apr_config --cflags --ldflags --link-libtool --libs`; + my $apr_libs=`$apr_config --cflags --ldflags --link-libtool`; chomp($apr_libs); my $apu_libs=""; if ($apr_major_version < 2) { - $apu_libs=`$apu_config --ldflags --link-libtool --libs`; + $apu_libs=`$apu_config --ldflags --link-libtool`; chomp($apu_libs); } @@ -672,8 +683,8 @@ __DATA__ builddir=. top_srcdir=%PREFIX% -top_builddir=%PREFIX% -include %INSTALLBUILDDIR%/special.mk +top_builddir=%LIBDIR%/httpd +include %LIBDIR%/httpd/build/special.mk # the used tools APACHECTL=apachectl
変更後
diff -up httpd-2.4.1/support/apxs.in.apxs httpd-2.4.1/support/apxs.in --- httpd-2.4.1/support/apxs.in.apxs 2010-06-23 02:12:44.000000000 +0900 +++ httpd-2.4.1/support/apxs.in 2012-02-23 07:52:28.007970801 +0900 @@ -28,6 +28,16 @@ my %config_vars = (); my $installbuilddir = "@exp_installbuilddir@"; get_config_vars("$installbuilddir/config_vars.mk",\%config_vars); +# Awful hack to make apxs libdir-agnostic: +my $pkg_config = "/usr/bin/pkg-config"; +if (! -x "$pkg_config") { + error("$pkg_config not found!"); + exit(1); +} + +my $libdir = `pkg-config --variable=libdir apr-1`; +chomp $libdir; + # read the configuration variables once my $prefix = get_vars("prefix"); @@ -450,11 +460,11 @@ if ($opt_c) { if ($opt_p == 1) { - my $apr_libs=`$apr_config --cflags --ldflags --link-libtool --libs`; + my $apr_libs=`$apr_config --cflags --ldflags --link-libtool`; chomp($apr_libs); my $apu_libs=""; if ($apr_major_version < 2) { - $apu_libs=`$apu_config --ldflags --link-libtool --libs`; + $apu_libs=`$apu_config --ldflags --link-libtool`; chomp($apu_libs); }
変更後にリビルドし直す事で解決する事が出来ました