move easy_install calls back to post install.
[monitor.git] / Monitor.spec
index 1bd5063..d3bac18 100644 (file)
@@ -7,7 +7,7 @@
 %define name monitor
 # keep this version in sync with monitor/monitor_version.py
 %define version 3.0
-%define taglevel 27
+%define taglevel 28
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
@@ -25,8 +25,6 @@ Packager: PlanetLab Central <support@planet-lab.org>
 Distribution: PlanetLab %{plrelease}
 URL: %(echo %{url} | cut -d ' ' -f 2)
 
-BuildRequires: python-setuptools-devel
-
 
 Summary: Monitor account initialization for the root image.
 Group: Applications/System
@@ -56,6 +54,7 @@ Summary: Monitor hooks for the PLC server.
 Group: Applications/System
 
 Requires: python
+Requires: python-setuptools-devel
 Requires: python-peak-util-extremes
 
 Requires: compat-libstdc++-296
@@ -84,28 +83,15 @@ Group: Applications/System
 Requires: python
 
 Requires: monitor-server-deps
-Requires: monitor-pcucontrol
 Requires: PLCWWW >= 4.2
 Requires: bootcd-%{pldistro}-%{_arch} >= 4.2
+Requires: pcucontrol
 
 %description server
 The server side include all python modules and scripts needed to fully
 operation, track, and interact with any third-party monitoring software, such
 as Zabbix DB.
 
-######################################## PCU Control
-
-%package pcucontrol
-summary: pcu controls for monitor and plcapi
-group: applications/system
-requires: python
-requires: OpenIPMI-tools
-
-%description pcucontrol
-both monitor and the plcapi use a set of common commands to reboot machines
-using their external or internal pcus.  this package is a library of several
-supported models.
-
 ####################################### RunlevelAgent
 %package runlevelagent
 summary: the RunlevelAgent that reports node runlevels
@@ -120,14 +106,6 @@ mode to actively report the observed runlevel to PLC and update the
 %prep
 %setup -q
 
-%build
-# NOTE: the build uses g++ cmdamt/
-# NOTE: TMPDIR is needed here b/c the tmpfs of the build vserver is too small.
-cd pcucontrol/models/intelamt
-export TMPDIR=$PWD/tmp
-make
-cd ..
-
 %install
 rm -rf $RPM_BUILD_ROOT
 #################### CLIENT 
@@ -146,14 +124,6 @@ install -d $RPM_BUILD_ROOT/var/www/html/monitorlog/
 install -d $RPM_BUILD_ROOT/etc/httpd/conf.d/
 install -d $RPM_BUILD_ROOT/%{python_sitearch}/monitor
 
-# pack monitor's dependencies in RPM to make it easier to deploy.
-export TMPDIR=/var/tmp/
-export PYTHONPATH=$PYTHONPATH:$RPM_BUILD_ROOT/%{python_sitearch}/
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz
-easy_install -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ Elixir
-rm -rf $RPM_BUILD_ROOT/%{python_sitearch}/site.py*
-
 # plc.d scripts
 install -D -m 644 monitor.functions $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor.functions
 install -D -m 755 monitor-server.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor
@@ -165,19 +135,15 @@ install -D -m 644 monitor-server.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/moni
 # apache configuration
 install -D -m 644 web/monitorweb-httpd.conf $RPM_BUILD_ROOT/etc/httpd/conf.d/
 
-# we'll install monitor and pcucontrol in site-packages
-# install rest to /usr/share/monitor
+# we'll install monitor in site-packages install rest to
+# /usr/share/monitor
 rsync -a --exclude archive-pdb --exclude .svn --exclude CVS  \
     --exclude monitor/ \
-    --exclude pcucontol/ \
     ./  $RPM_BUILD_ROOT/usr/share/%{name}/
 
 # install monitor python package
 rsync -a --exclude .svn  ./monitor/   $RPM_BUILD_ROOT/%{python_sitearch}/monitor/
 
-# and pcucontrol
-rsync -a --exclude .svn  ./pcucontrol/    $RPM_BUILD_ROOT/%{python_sitearch}/pcucontrol/
-
 # install third-party module to site-packages
 install -D -m 755 threadpool.py $RPM_BUILD_ROOT/%{python_sitearch}/threadpool.py
 
@@ -212,15 +178,11 @@ rm -rf $RPM_BUILD_ROOT
 /var/lib/%{name}
 #/var/www/cgi-bin/monitor
 %{_sysconfdir}/cron.d/monitor-server.cron
-%{python_sitearch}/threadpool.py*
-%{python_sitearch}/monitor
-%{python_sitearch}/*.egg/
-%{python_sitearch}/easy-install.pth
-%{python_sitearch}/tg-admin
 %{_sysconfdir}/plc.d/monitor
 %{_sysconfdir}/plc.d/monitor.functions
 %{_sysconfdir}/plc.d/zabbix
 %{_sysconfdir}/httpd/conf.d
+%{python_sitearch}
 
 %files client
 %defattr(-,root,root)
@@ -228,16 +190,22 @@ rm -rf $RPM_BUILD_ROOT
 #%{_sysconfdir}/cron.d/monitor
 /usr/bin/timeout.pl
 
-%files pcucontrol
-%{python_sitearch}/pcucontrol
-
 %files runlevelagent
-/usr/bin/RunlevelAgent.py
-/usr/bin/RunlevelAgent.pyo
-/usr/bin/RunlevelAgent.pyc
+/usr/bin/RunlevelAgent.py*
 /%{_initrddir}/monitor-runlevelagent
 
 %post server-deps
+#
+# TODO: depend on distribution packages where feasible.
+#
+#  it would be better to be able to depend on the distribution's
+# packages for these additional python modules, but packages provided
+# by fedora 8 (our current deployment) doesn't match the version
+# requirements.
+export TMPDIR=/var/tmp/
+easy_install -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg
+easy_install -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz
+easy_install -UZ Elixir
 
 # crazy openssl libs for racadm binary
 ln -s /lib/libssl.so.0.9.8b /usr/lib/libssl.so.2
@@ -310,6 +278,9 @@ fi
 
 
 %changelog
+* Thu Dec 17 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-28
+- do not need buildrequires. a new tag to fix centos builds
+
 * Thu Dec 17 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - Monitor-3.0-27
 - fix rpm build issues