The following apr links are found not satisfied: # find jws-3.0/httpd/lib/ -type l -xtype l -printf '%f -> ' -exec readlink '{}' \; libapr-util-jws3-1.so.0.3.9 -> /usr/lib64/libapr-util-jws3-1.so.0.3.9 libapr-jws3-1.so.0.3.9 -> /usr/lib64/libapr-jws3-1.so.0.3.9 libapr-util-jws3-1.so -> /usr/lib64/libapr-util-jws3-1.so libapr-util-jws3-1.la -> /usr/lib64/libapr-util-jws3-1.la libapr-util-jws3-1.so.0 -> /usr/lib64/libapr-util-jws3-1.so.0 However, the latest apr-jws3 and apr-util-jws3 contains files with different versions/names: # rpm -qa | grep ^apr | grep jws3 | xargs rpm -ql | grep ^/usr/lib64/libapr /usr/lib64/libapr-jws3-1.so.0 /usr/lib64/libapr-jws3-1.so.0.4.8 /usr/lib64/libapr-jws3-1.la /usr/lib64/libapr-jws3-1.so /usr/lib64/libaprutil-jws3-1.so.0 /usr/lib64/libaprutil-jws3-1.so.0.5.2 /usr/lib64/libaprutil-jws3-1.la /usr/lib64/libaprutil-jws3-1.so Version-Release number of selected component (if applicable): jws-httpd-3.0.0-DR0-RHEL*.zip apr-jws3-1.4.8-6.ep7.el6.x86_64 apr-jws3-debuginfo-1.4.8-6.ep7.el6.x86_64 apr-jws3-devel-1.4.8-6.ep7.el6.x86_64 apr-util-jws3-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-debuginfo-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-devel-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-ldap-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-mysql-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-nss-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-odbc-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-openssl-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-pgsql-1.5.2-8.ep7.el6.x86_64 apr-util-jws3-sqlite-1.5.2-8.ep7.el6.x86_64
[weli@dhcp-66-78-87 jws-compose]$ git diff diff --git a/jws-compose.spec b/jws-compose.spec index 778afcc..26d93d0 100644 --- a/jws-compose.spec +++ b/jws-compose.spec @@ -61,6 +61,8 @@ %define mod_bmxVersion 0.9.5 %define jcdaemonVersion 1.0.15 %define mod_securityVersion 2.8.0 +%define aprVersion 0.4.8 +%define apr_utilVersion 0.5.2 Summary: JWS monolithic zip Name: jws-compose @@ -299,19 +301,16 @@ popd %endif #endof appserver -# apr and aprutil (these will be different in RHEL 5) -# bz-979943 -ln -s %{_libdir}/lib%{apr}-1.so.0.3.9 httpd/lib/ - +ln -s %{_libdir}/lib%{apr}-1.so.%{aprVersion} httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.so.0 httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.so httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.la httpd/lib/ -ln -s %{_libdir}/lib%{aprutil}-1.so.0.3.9 httpd/lib/ - +ln -s %{_libdir}/lib%{aprutil}-1.so.%{apr_utilVersion} httpd/lib/ ln -s %{_libdir}/lib%{aprutil}-1.so.0 httpd/lib/ ln -s %{_libdir}/lib%{aprutil}-1.so httpd/lib/ ln -s %{_libdir}/lib%{aprutil}-1.la httpd/lib/ + mkdir httpd/bin ln -s %{_bindir}/%{apr}-1-config httpd/bin ln -s %{_bindir}/%{apu}-1-config httpd/bin
Thanks Weinan, this change looks good to me.
Weinan, please notice that httpd/lib contains libapr-util* files (notice the dash in file name), but apr-util-jws3 rpm contains libaprutil* (without dash)
(In reply to Michal Haško from comment #3) > Weinan, please notice that httpd/lib contains libapr-util* files (notice the > dash in file name), but apr-util-jws3 rpm contains libaprutil* (without dash) Thanks for notifying this Michal :-) Here is the fix: [weli@dhcp-66-78-87 jws-compose]$ git diff diff --git a/jws-compose.spec b/jws-compose.spec index ad87665..9403a02 100644 --- a/jws-compose.spec +++ b/jws-compose.spec @@ -9,10 +9,12 @@ %if "%{?rhel}" == "6" %define aprutil apr-util-jws3 +%define aprutilFilename aprutil-jws3 %define apr apr-jws3 %define apu apu-jws3 %else %define aprutil apr-util +%define aprutilFilename aprutil %define apr apr %define apu apu %endif @@ -312,10 +314,10 @@ ln -s %{_libdir}/lib%{apr}-1.so.0 httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.so httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.la httpd/lib/ -ln -s %{_libdir}/lib%{aprutil}-1.so.%{apr_utilVersion} httpd/lib/ -ln -s %{_libdir}/lib%{aprutil}-1.so.0 httpd/lib/ -ln -s %{_libdir}/lib%{aprutil}-1.so httpd/lib/ -ln -s %{_libdir}/lib%{aprutil}-1.la httpd/lib/ +ln -s %{_libdir}/lib%{aprutilFilename}-1.so.%{apr_utilVersion} httpd/lib/ +ln -s %{_libdir}/lib%{aprutilFilename}-1.so.0 httpd/lib/ +ln -s %{_libdir}/lib%{aprutilFilename}-1.so httpd/lib/ +ln -s %{_libdir}/lib%{aprutilFilename}-1.la httpd/lib/ mkdir httpd/bin ln -s %{_bindir}/%{apr}-1-config httpd/bin I'll verify it locally.
Patch Part III: For el6 we'll put apr and apr-util directly into lib directory. diff --git a/jws-compose.spec b/jws-compose.spec index e0eb852..cc2b560 100644 --- a/jws-compose.spec +++ b/jws-compose.spec @@ -103,6 +103,8 @@ BuildRequires: tomcat7-zip >= 0:%{tc7version} BuildRequires: mod_jk-ap24 >= 0:%{mod_jkversion} BuildRequires: tomcat-native >= 0:%{tcnativeversion} BuildRequires: %{httpd}-zip >= 0:%{httpdversion} +BuildRequires: patchelf >= 0:0.8 + %if %with appserver BuildRequires: mod_cluster >= 0:%{mod_clusterversion} %endif @@ -134,7 +136,7 @@ BuildRequires: mod_security%{jws3}-src-zip >= 0:%{mod_securityVersion} BuildRequires: jboss-logging #deps from base RHEL -BuildRequires: %{apr}, %{aprutil}, %{aprutil}-devel +BuildRequires: %{apr}, %{apr}-devel, %{aprutil}, %{aprutil}-devel # If we don't build mod_auth_kerb-eap6, the library goes into httpd rather # than httpd24 in the RPMs. @@ -226,6 +228,8 @@ cp -pr %{_docdir}/%{httpd}-%{httpdversion}/{ABOUT_APACHE,README,CHANGES,LICENSE, cp %{SOURCE4} httpd/.postinstall sed -i -e 's/${pkgdir}/%{zipname}-%{ews_major}.%{ews_minor}/g' httpd/.postinstall chmod 755 httpd/.postinstall httpd/sbin/* sed -i -e '/# Source ..\/conf\/httpd.conf/,/fi/d' httpd/sbin/apachectl sed -i -e 's:my $installbuilddir = $libdir . "/%{httpd}/build";:my $installbuilddir = "$ENV{EWS_HOME}/httpd/lib/build";:' \ @@ -311,19 +315,30 @@ popd %endif #endof appserver +mkdir httpd/bin +%if "%{?rhel}" == "6" +patchelf --set-rpath '$ORIGIN/../lib' httpd/sbin/httpd +cp %{_libdir}/lib%{apr}-1.so.%{aprVersion} httpd/lib/ +cp %{_libdir}/lib%{apr}-1.so.0 httpd/lib/ +cp %{_libdir}/lib%{apr}-1.so httpd/lib/ +cp %{_libdir}/lib%{apr}-1.la httpd/lib/ +cp %{_libdir}/lib%{aprutilFilename}-1.so.%{apr_utilVersion} httpd/lib/ +cp %{_libdir}/lib%{aprutilFilename}-1.so.0 httpd/lib/ +cp %{_libdir}/lib%{aprutilFilename}-1.so httpd/lib/ +cp %{_libdir}/lib%{aprutilFilename}-1.la httpd/lib/ +cp %{_bindir}/%{apr}-1-config httpd/bin +cp -s %{_bindir}/%{apu}-1-config httpd/bin +%else ln -s %{_libdir}/lib%{apr}-1.so.%{aprVersion} httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.so.0 httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.so httpd/lib/ ln -s %{_libdir}/lib%{apr}-1.la httpd/lib/ - ln -s %{_libdir}/lib%{aprutilFilename}-1.so.%{apr_utilVersion} httpd/lib/ ln -s %{_libdir}/lib%{aprutilFilename}-1.so.0 httpd/lib/ ln -s %{_libdir}/lib%{aprutilFilename}-1.so httpd/lib/ ln -s %{_libdir}/lib%{aprutilFilename}-1.la httpd/lib/ - -mkdir httpd/bin ln -s %{_bindir}/%{apr}-1-config httpd/bin ln -s %{_bindir}/%{apu}-1-config httpd/bin +%endif %ifnarch ppc64 #jsvc
Fixed in http://download.eng.bos.redhat.com/devel/candidates/JWS/JWS-DIST-3.0.0.DR0.1/
Verified with DR1