Hello!
I've got some requests regarding the PHP package in cooker.
a) The php-devel package contains the PEAR repository. However, I don't
think "php-devel" is a good name for this kind of package. Would it be
possible to move the PEAR files from php-devel to, let's say, php-pear?
b) The PEAR files are located in /usr/lib/php. IMO it would be nicer if
those files were in /usr/lib/php/pear.
c) The /etc/php.ini file sets include_path to /usr/lib/php. I cannot
include/require files from /usr/lib/php with a simple "include
'file.php'". When I change the include_path line to /usr/lib/php/ (note
the trailing slash), I'm able to do so. Could this please be changed?
d) For whatever reason, I'm unable to build extension modules for PHP.
I tried to compile a php-recode package, basically doing:
%{phpsource}/buildext recode recode.c
....
install -m 755 -s recode.so $RPM_BUILD_ROOT%{phpdir}/extensions/
When I start PHP, it always complains that iconv.so is not a valid php
library. I really don't know what I did do wrong. The error message I
get is:
PHP Warning: Invalid library (maybe not a PHP library) 'recode.so' in
Unknown on line 0
I'll attach the spec used for building the RPM to this message.
e) Would it be possible to compile/ship PHP with --with-recode?
I can provide SRPMS/RPMS for all of this, if required.
Alexander Skwar
--
How to quote: http://learn.to/quote (german) http://quote.6x.to (english)
Homepage: http://www.iso-top.de | Jabber: [EMAIL PROTECTED]
iso-top.de - Die g�nstige Art an Linux Distributionen zu kommen
Uptime: 1 day 23 hours 0 minutes
%define phpversion 4.1.2
%define phprelease 2mdk
%define phpdir %{_libdir}/php
%define phpsource /usr/src/php-devel
%define release 1mdk
%define modname recode
%define dirname %{modname}
%define soname %{modname}.so
Summary: lib%{modname} module for PHP4
Name: php-%{modname}
Version: %{phpversion}
Release: %{release}
Group: System/Servers
URL: http://www.php.net
License: PHP License
BuildRoot: %{_tmppath}/%{name}-root
Prereq: php-common = %{phpversion}, perl
BuildRequires: php-devel = %{phpversion}
%description
The %{name} package is a dynamic shared object (DSO) that adds %{modname}
support to PHP4. PHP4 is an HTML-embedded scripting language. If you need
%{modname} support for PHP4 applications, you will need to install this package in
addition to the php package.
%build
[ -e ./%{dirname} ] && rm -fr ./%{dirname}
cp -dpR %{phpsource}/extensions/%{dirname} .
cd %{dirname}
#ln -vs php_xmlrpc.h xmlrpc.h
#%{phpsource}/buildext xmlrpc xmlrpc-epi-php.c "-lexpat" "-DCOMPILE_DL_XML
-DHAVE_LIBEXPAT -DHAVE_DLFCN_H"
#%{phpsource}/buildext iconv iconv.c "-Ilibxmlrpc"
%{phpsource}/buildext %{modname} %{modname}.c
%install
cd %{dirname}
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
mkdir -p %{buildroot}%{phpdir}/extensions
install -m 755 -s %{soname} %{buildroot}%{phpdir}/extensions/
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
echo > %{buildroot}%{_docdir}/%{name}-%{version}/README <<EOF
The %{name} package contains a dynamic shared object (DSO) for PHP4.
To activate it, make sure the line 'extension=%{modname}' is uncommented
in your /etc/php.ini file.
EOF
#cp EXPERIMENTAL %{buildroot}%{_docdir}/%{name}-%{version}
%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
[ -e ./%{dirname} ] && rm -fr ./%{dirname}
%post
if [ $1 = "1" ]; then
if [ -f %{_sysconfdir}/php.ini ]; then
perl -pi -e 's|^;extension\s*=\s*%{soname}|extension = %{soname}|'
%{_sysconfdir}/php.ini
LINE=`grep %{soname} %{_sysconfdir}/php.ini |grep extension`
if [ "x$LINE" = "x" ]; then
echo extension = %{soname} >> %{_sysconfdir}/php.ini
fi
fi
fi
if [ $1 -gt 1 ]; then
#We're in *upgrade mode*. Since we can't be sure the configuration files
#are sane, remove module from the conf files to clean them, re-add again
#in a way that the older module we're replacing won't try to erase (the
#post scripts were broken on some packages)
#Also, there could be extra lines, so make sure we uncomment one
#Finally, don't check for presence of php.ini, if it's not there,
#we have a problem, so it should generate an error message.
perl -pi -e 's|^extension\s*=\s*%{soname}|;extension = %{soname}|g'
%{_sysconfdir}/php.ini
perl -pi -e 's|^;extension\s*=\s*%{soname}|extension = %{soname}|'
%{_sysconfdir}/php.ini
fi
if [ -e %{_sbindir}/AESctl ]; then %{_sbindir}/AESctl reload;fi
%preun
if [ $1 = "0" ]; then
if [ -f %{_sysconfdir}/php.ini ]; then
perl -pi -e 's|^extension\s*=\s*%{soname}|;extension = %{soname}|g'
%{_sysconfdir}/php.ini
fi
if [ -e %{_sbindir}/AESctl ]; then %{_sbindir}/AESctl reload;fi
fi
%files
%defattr(-,root,root)
%{phpdir}/extensions/%{soname}
%dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/README
#%doc %{_docdir}/%{name}-%{version}/EXPERIMENTAL
%changelog
* Tue Mar 19 2002 Alexander Skwar <[EMAIL PROTECTED]> 4.1.2-1mdk
- First release of the php-recode package