Menu

[r85]: / trunk / php-java-bridge / php-java-bridge.spec  Maximize  Restore  History

Download this file

106 lines (82 with data), 3.0 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
#-*- mode: rpm-spec; tab-width:4 -*-
%define version 1.0.6
%define release 1
Name: php-java-bridge
Summary: PHP Hypertext Preprocessor to Java Bridge
Group: Development/Languages
Version: %{version}
Release: %{release}
Copyright: The PHP license (see "LICENSE" file included in distribution)
URL: http://www.sourceforge.net/projects/php-java-bridge
Source0: http://osdn.dl.sourceforge.net/sourceforge/php-java-bridge/php-java-bridge_%{version}.tar.bz2
BuildRequires: php-devel >= 4.3.6
BuildRequires: gcc >= 3.3.3
BuildRequires: httpd j2sdk
Requires: php >= 4.3.2
Requires: httpd j2re
Provides: php-java-bridge
BuildRoot: /var/tmp/php-java-bridge-%{version}
%description
The PHP/Java bridge allows one to access java based applications running in a java application server. The PHP/Java bridge communicates with the application server through local sockets using an efficient communication protocol. This means that only one JVM runs to serve all clients within a multi-process HTTP-Server. Each client process communicates with a corresponding thread spawned by the running application server.
%prep
%setup
%build
set -x
PATH=/bin:/usr/bin
LD_LIBRARY_PATH=/lib:/usr/lib
# calculate java dir
java_dir=`head -1 /etc/sysconfig/java`
phpize
./configure --prefix=/usr --with-java=$java_dir
make CFLAGS="-DNDEBUG"
%install
rm -rf $RPM_BUILD_ROOT
%makeinstall | tee install.log
echo >filelist
mod_dir=`cat install.log | sed -n '/Installing shared extensions:/s///p' | awk '{print $1}'`
files='JavaBridge.class JavaBridge$1.class java.so libnatcJavaBridge.so'
mkdir -p $RPM_BUILD_ROOT/$mod_dir
for i in $files;
do cp $mod_dir/$i $RPM_BUILD_ROOT/$mod_dir/$i;
rm -f $mod_dir/$i;
echo $mod_dir/$i >>filelist
done
mkdir -p $RPM_BUILD_ROOT/etc/php.d
cat <<EOF >$RPM_BUILD_ROOT/etc/php.d/java.ini
extension = java.so
[java]
java.log_level=1
java.log_file=/var/log/php-java-bridge.log
# comment out the following line if you want to start java
# automatically as a sub-process of the Apache 2.0
# service -- not recommended.
java.socketname=/var/run/.php-java-bridge_socket
EOF
echo /etc/php.d/java.ini >>filelist
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp php-java-bridge $RPM_BUILD_ROOT/usr/bin
chmod +x $RPM_BUILD_ROOT/usr/bin/php-java-bridge
echo /usr/bin/php-java-bridge >>filelist
mkdir -p $RPM_BUILD_ROOT/etc/init.d
cp php-java-bridge.service $RPM_BUILD_ROOT/etc/init.d/php-java-bridge
chmod +x $RPM_BUILD_ROOT/etc/init.d/php-java-bridge
echo /etc/init.d/php-java-bridge >>filelist
%clean
rm -rf $RPM_BUILD_ROOT
%post
# calculate java_dir again
jre=`rpm -q --whatprovides j2re`
java=`rpm -ql $jre | grep 'bin/java$'`
java_dir=`head -1 /etc/sysconfig/java`
cat <<EOF2 >>/etc/php.d/java.ini
java.java_home=$java_dir
java.java=$java
EOF2
chkconfig php-java-bridge on
service php-java-bridge start
%preun
service php-java-bridge stop
chkconfig php-java-bridge off
%files -f filelist
%defattr(-,root,root)
%doc README INSTALL LICENSE ChangeLog