X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLCAPI.spec;h=8ada335350e95e52863dba6bac90717fcfd7e389;hb=64f30b785cee5fef544fe9a3019641aa2ed8f8c6;hp=3334388197a7108f50745d8d98aeb3ff55429b1a;hpb=f5b1f5ec0ff738f636749635912e60a8fa1882e9;p=plcapi.git diff --git a/PLCAPI.spec b/PLCAPI.spec index 3334388..8ada335 100644 --- a/PLCAPI.spec +++ b/PLCAPI.spec @@ -1,18 +1,49 @@ +# +# $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 +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 -BuildRequires: docbook-dtds, docbook-utils-pdf +# We use set everywhere +Requires: python >= 2.4 + +# We use psycopg2 +BuildRequires: postgresql-devel + +# Standard xmlrpc.so that ships with PHP does not marshal NULL +BuildRequires: php-devel +Obsoletes: php-xmlrpc +Provides: php-xmlrpc -Requires: postgresql-server, SOAPpy +# 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. +# BuildRequires: docbook-dtds, docbook-utils-pdf + +# 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 @@ -24,35 +55,60 @@ through Apache mod_python. %setup -q %build -# Build __init__.py metafiles, documentation, and PHP API -%{__make} %{?_smp_mflags} - -# Byte compile -%{__python} setup.py build +# python-pycurl and python-psycopg2 avail. from fedora 5 +# make sure to check build//plc.pkgs +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 - -# Install in /usr/share/plc_api -%{__python} setup.py install \ - --install-purelib=$RPM_BUILD_ROOT/%{_datadir}/plc_api \ - --install-data=$RPM_BUILD_ROOT/%{_datadir}/plc_api +if [ "%{distrorelease}" -le 4 ] ; then + modules="psycopg2 pycurl" +else + modules="" +fi +%{__make} %{?_smp_mflags} install DESTDIR="$RPM_BUILD_ROOT" datadir="%{_datadir}" bindir="%{_bindir}" modules="$modules" +#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 < - - Initial build. -