build and install our own custom xmlrpc.so extension
authorMark Huang <mlhuang@cs.princeton.edu>
Fri, 10 Nov 2006 06:34:19 +0000 (06:34 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Fri, 10 Nov 2006 06:34:19 +0000 (06:34 +0000)
Makefile
PLCAPI.spec

index 3ec7bc4..b019480 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,14 +4,14 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2005 The Trustees of Princeton University
 #
-# $Id: Makefile,v 1.6 2006/11/08 21:56:32 mlhuang Exp $
+# $Id: Makefile,v 1.7 2006/11/08 23:27:52 mlhuang Exp $
 #
 
 # Metafiles
 INIT := PLC/__init__.py PLC/Methods/__init__.py
 
 # Other stuff
-SUBDIRS := doc php
+SUBDIRS := doc php php/xmlrpc
 
 # autoconf compatible variables
 DESTDIR := /plc/root
@@ -34,6 +34,7 @@ install:
            --install-data=$(DESTDIR)/$(datadir)/plc_api
        (cd psycopg2 && \
         python setup.py install --install-lib=$(DESTDIR)/$(datadir)/plc_api)
+       install -D -m 755 php/xmlrpc/xmlrpc.so $(DESTDIR)/$(shell php-config --extension-dir)/xmlrpc.so
 
 $(SUBDIRS): %:
        $(MAKE) -C $@
index 2ea9b98..51a5ba8 100644 (file)
@@ -10,6 +10,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 
 Obsoletes: plcapilib
 
+# Standard xmlrpc.so that ships with PHP does not marshal NULL
+Obsoletes: php-xmlrpc
+Provides: php-xmlrpc
+
 # OpenJade does not honor XML catalog files and tries to access
 # www.oasis-open.org even if DTDs are locally installed. Disable
 # documentation generation for now.
@@ -29,7 +33,7 @@ through Apache mod_python.
 %build
 # Build __init__.py metafiles and PHP API. Do not build documentation
 # for now.
-%{__make} %{?_smp_mflags} SUBDIRS=php
+%{__make} %{?_smp_mflags} SUBDIRS="php php/xmlrpc"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -39,6 +43,12 @@ rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/%{_bindir}
 ln -s %{_datadir}/plc_api/Shell.py $RPM_BUILD_ROOT/%{_bindir}/plcsh
 
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/php.d
+cat > $RPM_BUILD_ROOT/%{_sysconfdir}/php.d/xmlrpc.ini <<EOF
+; Enable xmlrpc extension module
+extension=xmlrpc.so
+EOF
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -48,6 +58,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/plc_api
 %{_datadir}/plc_api/*
 %{_bindir}/plcsh
+%{_libdir}/php/modules/xmlrpc.so
+%{_sysconfdir}/php.d/xmlrpc.ini
 
 %changelog
 * Fri Oct 27 2006 Mark Huang <mlhuang@CS.Princeton.EDU> -