Tabs vs. spaces.
[plcapi.git] / PLCAPI.spec
index ce7816d..ff7723b 100644 (file)
@@ -1,12 +1,24 @@
+#
+# $Id$
+#
+
+%define url $URL$
+
+%define name PLCAPI
+%define version 4.2
+%define subversion 0
+
+%define release %{subversion}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+
 Summary: PlanetLab Central API
-Name: PLCAPI
-Version: 4.0
-Release: 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+Name: %{name}
+Version: %{version}
+Release: %{release}
 License: PlanetLab
 Group: System Environment/Daemons
-URL: http://cvs.planet-lab.org/cvs/new_plc_api
 Source0: %{name}-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+URL: %(echo %{url} | cut -d ' ' -f 2)
 
 Obsoletes: plcapilib
 
@@ -26,7 +38,12 @@ Provides: php-xmlrpc
 # documentation generation for now.
 # BuildRequires: docbook-dtds, docbook-utils-pdf
 
-Requires: postgresql-server, SOAPpy
+# PostgreSQL and SOAPpy are necessary to run the API server, but not
+# plcsh. Since the only supported method of running the server is via
+# MyPLC anyway, don't be so stringent about binary requirements, in
+# case people want to install this package just for plcsh.
+# Requires: postgresql-server, SOAPpy
+AutoReqProv: no
 
 %description
 The PLCAPI package provides an XML-RPC and SOAP API for accessing the
@@ -38,17 +55,32 @@ through Apache mod_python.
 %setup -q
 
 %build
-# Build __init__.py metafiles and PHP API. Do not build documentation
-# for now.
-%{__make} %{?_smp_mflags} subdirs="php php/xmlrpc"
+# python-pycurl and python-psycopg2 avail. from fedora 5
+# make sure to check myplc/<pldistro>-plc.lst
+if [ "%{distrorelease}" -le 4 ] ; then
+    modules="psycopg2 pycurl"
+else
+    modules=""
+fi
+# Build __init__.py metafiles and PHP API. 
+%{__make} %{?_smp_mflags} subdirs="php php/xmlrpc" modules="$modules"
+# Build documentation
+# beware that making the pdf file somehow overwrites the html
+%{__make} -C doc PLCAPI.pdf
+rm -f doc/PLCAPI.html
+%{__make} -C doc PLCAPI.html
 
 %install
 rm -rf $RPM_BUILD_ROOT
 %{__make} %{?_smp_mflags} install DESTDIR="$RPM_BUILD_ROOT" datadir="%{_datadir}" bindir="%{_bindir}"
+#someone out there skips doc installation - we DO want this installed
+for doc in PLCAPI.html PLCAPI.pdf ; do
+    install -D -m 644 doc/$doc $RPM_BUILD_ROOT/"%{_datadir}"/plc_api/doc/$doc
+done
 
 # Install shell symlink
 mkdir -p $RPM_BUILD_ROOT/%{_bindir}
-ln -s %{_datadir}/plc_api/Shell.py $RPM_BUILD_ROOT/%{_bindir}/plcsh
+ln -s %{_datadir}/plc_api/plcsh $RPM_BUILD_ROOT/%{_bindir}/plcsh
 
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/php.d
 cat > $RPM_BUILD_ROOT/%{_sysconfdir}/php.d/xmlrpc.ini <<EOF
@@ -63,14 +95,15 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(-,root,root,-)
-%doc doc/PLCAPI.xml doc/PLCAPI.pdf doc/PLCAPI.html
+#someone out there skips doc installation - we DO want this installed
+#%doc doc/PLCAPI.xml doc/PLCAPI.pdf doc/PLCAPI.html
 %dir %{_datadir}/plc_api
 %{_datadir}/plc_api/*
 %{_bindir}/plcsh
 %{php_extension_dir}/xmlrpc.so
 %{_sysconfdir}/php.d/xmlrpc.ini
+%{_bindir}/refresh-peer.py*
 
 %changelog
 * Fri Oct 27 2006 Mark Huang <mlhuang@CS.Princeton.EDU> - 
 - Initial build.
-