%define name monitor-server
%define version 1.0
-%define taglevel 5
+%define taglevel 6
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
+
Summary: Monitor backend scripts for server
Name: %{name}
Requires: curl
Requires: coreutils
Requires: openssh-clients
+Requires: perl-libwww-perl
+Requires: MySQL-python
+Requires: rt3 == 3.4.1
+
Requires: PLCWWW >= 4.2
Requires: BootCD >= 4.2
%build
# TODO: note that we should build the cmdamt/ with g++
-echo "There is no build stage. Simply copy files."
+cd cmdamt
+export TMPDIR=$PWD/tmp
+make
+cd ..
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/share/%{name}
mkdir -p $RPM_BUILD_ROOT/var/lib/%{name}
+mkdir -p $RPM_BUILD_ROOT/var/lib/%{name}/archive-pdb
mkdir -p $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/
echo " * Installing core scripts"
echo " * Installing web pages"
rsync -a www/ $RPM_BUILD_ROOT/var/www/cgi-bin/monitor/
-echo " * TODO: Installing cron job for automated polling"
-install -D -m 755 %{name}.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/%{name}
+echo " * Installing cron job for automated polling"
+install -D -m 755 %{name}.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/%{name}.cron
echo " * TODO: Setting up Monitor account in local MyPLC"
+# TODO:
+mkdir -p $RPM_BUILD_ROOT/%{python_sitearch}/monitor
+install -d -D -m 755 monitor $RPM_BUILD_ROOT/%{python_sitearch}/monitor
+# TODO: need a much better way to do this.
+for file in __init__.py database.py config.py ; do
+ install -D -m 644 monitor/$file $RPM_BUILD_ROOT/%{python_sitearch}/monitor/$file
+done
+install -D -m 755 threadpool.py $RPM_BUILD_ROOT/%{python_sitearch}/threadpool.py
+
+install -D -m 755 monitor-default.conf $RPM_BUILD_ROOT/etc/monitor.conf
cp $RPM_BUILD_ROOT/usr/share/%{name}/monitorconfig-default.py $RPM_BUILD_ROOT/usr/share/%{name}/monitorconfig.py
%clean
/usr/share/%{name}
/var/lib/%{name}
/var/www/cgi-bin/monitor
-%{_sysconfdir}/cron.d/%{name}
+%{_sysconfdir}/cron.d/%{name}.cron
+%{python_sitearch}/threadpool.py
+%{python_sitearch}/monitor
%post
echo "Post processing"
# TODO: create monitorconfig.php using phpconfig.py
# TODO: create symlink in /var/lib/monitor-server for chroot environments
# TODO: update the content of automate_pl03.sh
+# TODO: Use the installed version of bootcd to create custom boot images. ( or, use the api now).
#chkconfig --add monitor-server
#chkconfig monitor-server on
%changelog
+* Mon Aug 11 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-1.0-6
+- This is a major tag of every thing. probably needs a very different release
+- number.
+
* Wed Jul 30 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - Monitor-server-1.0-5
- initial creation of server-side package