Menu

[r714]: / branches / Release-2 / php-java-bridge / php-java-bridge.spec  Maximize  Restore  History

Download this file

136 lines (112 with data), 4.1 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#-*- mode: rpm-spec; tab-width:4 -*-
%define version 1.0.8
%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
Requires: j2re >= 1.4.2
Provides: php-java-bridge
BuildRoot: /var/tmp/php-java-bridge-%{version}
%description
Java module/extension for the PHP script language.
%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
%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 JavaBridge$2.class JavaBridge$3.class JavaBridge$4.class JavaBridge$PhpMap.class java.so libnatcJavaBridge.so RunJavaBridge'
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/sbin
cp php-java-bridge $RPM_BUILD_ROOT/usr/sbin
chmod +x $RPM_BUILD_ROOT/usr/sbin/php-java-bridge
echo /usr/sbin/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
mkdir $RPM_BUILD_ROOT/$mod_dir/lib
echo $mod_dir/lib >>filelist
%clean
rm -rf $RPM_BUILD_ROOT
%post
# calculate java_dir again
pkgid=`rpm -q --whatprovides j2re --queryformat "%{PKGID} %{VERSION}\n" | sed 's/\./0/g;s/_/./' |sort -r -k 2,2 -n | head -1 | awk '{print $1}'`
jre=`rpm -q --pkgid $pkgid`
java=`rpm -ql $jre | grep 'bin/java$' | head -1`
# Do not rely on sysconfig anymore but use the most recent rpm, see
# pkgid above. The reason is that we prefer 1.4.2 or jdk1.5 over
# old 1.4.1 installations. When IBM/RedHat ships a 1.4.2_02 or 1.5
# RPM, we'll change it back.
# if test -s /etc/sysconfig/java; then
# # IBM and RedHat
# java_dir=`head -1 /etc/sysconfig/java`
# else
# Sun JDK RPM nonsense
java_dir=`dirname $java`
java_dir=`dirname $java_dir`
if test X`basename $java_dir` = Xjre; then
java_dir=`dirname $java_dir`;
fi
# fi
cat <<EOF2 >>/etc/php.d/java.ini
java.java_home=$java_dir
java.java=$java
EOF2
chkconfig php-java-bridge on
echo "PHP/Java Bridge installed. Start with:"
echo "service php-java-bridge restart"
echo
if test -f /etc/selinux/config; then
te=/etc/selinux/%{__policy_tree}/src/policy/domains/program/php-java-bridge.te
fc=/etc/selinux/%{__policy_tree}/src/policy/file_contexts/program/php-java-bridge.fc
echo "SECURITY ENHANCED LINUX"
echo "-----------------------"
echo "You are running a SELinx system. Please install the policy sources:"
echo "rpm -i selinux-policy-%{__policy_tree}-sources-*.rpm"
echo "sh %{_docdir}/php-java-bridge-%{version}/update_policy.sh \\"
echo " /etc/selinux/%{__policy_tree}/src/policy"
echo "Please see INSTALL and README documents for more information."
fi
%preun
chkconfig php-java-bridge off
%files -f filelist
%defattr(-,root,root)
%doc README README.GNU_JAVA INSTALL LICENSE ChangeLog test.php php-java-bridge.te php-java-bridge.fc update_policy.sh
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.