summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeroen van Meeuwen (Fedora Unity) <kanarip@fedoraunity.org>2008-07-21 23:13:33 +0200
committerJeroen van Meeuwen (Fedora Unity) <kanarip@fedoraunity.org>2008-07-21 23:13:33 +0200
commitb7312bea35e6c3b7773cac6b83fce0c0509e8ce6 (patch)
tree24bf6da7aa07b91ca4ae22c74ee28f2d19c99a6c
parent92f9f15e920dc2cab40666674a8099fe74a8a56a (diff)
downloadtools-b7312bea35e6c3b7773cac6b83fce0c0509e8ce6.tar.gz
tools-b7312bea35e6c3b7773cac6b83fce0c0509e8ce6.tar.xz
tools-b7312bea35e6c3b7773cac6b83fce0c0509e8ce6.zip
Fix up cloudmasterd (even rpmlint -i is silent *grin*)
-rw-r--r--cloudmasterd/Makefile3
-rw-r--r--cloudmasterd/extra/cloudmasterd.init12
-rw-r--r--cloudmasterd/extra/cloudmasterd.spec41
3 files changed, 40 insertions, 16 deletions
diff --git a/cloudmasterd/Makefile b/cloudmasterd/Makefile
index 116f8a2..f045598 100644
--- a/cloudmasterd/Makefile
+++ b/cloudmasterd/Makefile
@@ -22,6 +22,9 @@ _RPM_OPTS = --define "_topdir $(RPM_TOPDIR)" \
RPM_OPTS = $(strip $(_RPM_OPTS))
rpm: clean gem $(RPM_TOPDIR) $(SPECFILE)
+ $(RPMBUILD) --clean $(RPM_OPTS) -ba $(SPECFILE)
+
+srpm: clean gem $(RPM_TOPDIR) $(SPECFILE)
$(RPMBUILD) --clean $(RPM_OPTS) -bs $(SPECFILE)
gem:
diff --git a/cloudmasterd/extra/cloudmasterd.init b/cloudmasterd/extra/cloudmasterd.init
index 1624de3..d6b8e9f 100644
--- a/cloudmasterd/extra/cloudmasterd.init
+++ b/cloudmasterd/extra/cloudmasterd.init
@@ -2,11 +2,11 @@
#
# cloudmasterd: Init script for Cloud daemon.
#
-# chkconfig: 35 91 03
+# chkconfig: - 91 03
#
# description: Deamon for creating cloud machines in an genome framework
-#
-#
+# processname: cloudmasterd
+# config: /etc/cloudmasterd/config.yml
#
# Source function library.
@@ -22,15 +22,17 @@ case "$1" in
rm /var/tmp/cloudmasterd.lock &> /dev/null
/usr/bin/cloudmasterd-sync &
$CTL start
+ touch /var/lock/subsys/cloudmasterd
RETVAL=$?
;;
stop)
echo -n $"Stopping cloudmasterd: "
pkill -f cloudmasterd-sync
+ rm -rf /var/lock/subsys/cloudmasterd
$CTL stop
RETVAL=$?
;;
- restart)
+ restart|reload)
$0 stop
$0 start
;;
@@ -39,7 +41,7 @@ case "$1" in
RETVAL=$?
;;
*)
- echo $"Usage: $0 {start|stop|status|restart}"
+ echo $"Usage: $0 {start|stop|status|restart|reload}"
RETVAL=1
esac
diff --git a/cloudmasterd/extra/cloudmasterd.spec b/cloudmasterd/extra/cloudmasterd.spec
index 7b938d1..eb822d8 100644
--- a/cloudmasterd/extra/cloudmasterd.spec
+++ b/cloudmasterd/extra/cloudmasterd.spec
@@ -18,7 +18,7 @@ Requires: genome-styling
Requires: genome-autostarter
Requires: koan
Requires: python-virtinst
-Requires: libvirt
+Requires: /usr/bin/virsh
Requires: rubygems
Requires: rubygem(picnic)
Requires: rubygem(activesupport)
@@ -26,6 +26,7 @@ Requires: rubygem(activerecord)
Requires: rubygem(sqlite3-ruby)
Requires: rubygem(reststop) >= 0.2.1
Requires: genome-styling
+Requires(post): chkconfig
BuildRequires: rubygems
BuildArch: noarch
Provides: rubygem(%{gemname}) = %{version}
@@ -68,24 +69,35 @@ to the cloudmaster context.
%install
rm -rf %{buildroot}
-mkdir -p %{buildroot}%{gemdir} %{buildroot}/etc/init.d %{buildroot}/etc/cloudmasterd
+mkdir -p %{buildroot}%{gemdir} %{buildroot}%{_sysconfdir}/init.d %{buildroot}%{_sysconfdir}/cloudmasterd
gem install --local --install-dir %{buildroot}%{gemdir} \
--force --rdoc %{SOURCE0}
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
-mv %{buildroot}%{geminstdir}/extra/cloudmasterd.init %{buildroot}/etc/init.d/cloudmasterd
-mv %{buildroot}%{geminstdir}/extra/config.yml %{buildroot}/etc/cloudmasterd/config.yml
+mv %{buildroot}%{geminstdir}/extra/cloudmasterd.init %{buildroot}%{_sysconfdir}/init.d/cloudmasterd
+mv %{buildroot}%{geminstdir}/extra/config.yml %{buildroot}%{_sysconfdir}/cloudmasterd/config.yml
find %{buildroot}%{geminstdir}/bin -type f | xargs chmod a+x
# Put in the apache rules
-mkdir -p %{buildroot}/etc/httpd/conf.d
-mv %{buildroot}%{geminstdir}/extra/cloudmasterd.apache %{buildroot}/etc/httpd/conf.d/cloudmasterd.conf
-mv %{buildroot}%{geminstdir}/extra/cloudmasterd-redirect.apache %{buildroot}/etc/httpd/conf.d/cloudmasterd-redirect.conf
+mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
+mv %{buildroot}%{geminstdir}/extra/cloudmasterd.apache %{buildroot}%{_sysconfdir}/httpd/conf.d/cloudmasterd.conf
+mv %{buildroot}%{geminstdir}/extra/cloudmasterd-redirect.apache %{buildroot}%{_sysconfdir}/httpd/conf.d/cloudmasterd-redirect.conf
+
+%post
+# Register the httpd service
+/sbin/chkconfig --add cloudmasterd
+
+%preun
+if [ $1 = 0 ]; then
+ /sbin/service cloudmasterd stop > /dev/null 2>&1
+ /sbin/chkconfig --del cloudmasterd
+fi
%clean
rm -rf %{buildroot}
%files
+%config(noreplace) %{_sysconfdir}/cloudmasterd/config.yml
%{_bindir}/cloudmasterd
%{_bindir}/cloudmasterd-ctl
%{_bindir}/cloudmasterd-sync
@@ -95,17 +107,24 @@ rm -rf %{buildroot}
%doc %{geminstdir}/README
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
-%config /etc/cloudmasterd/config.yml
%defattr(755, root, root, -)
-/etc/init.d/cloudmasterd
+%{_sysconfdir}/init.d/cloudmasterd
%files -n httpd-cloudmasterd
-/etc/httpd/conf.d/cloudmasterd.conf
+%doc %{gemdir}/doc/%{gemname}-%{version}
+%doc %{geminstdir}/LICENSE
+%doc %{geminstdir}/README
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/cloudmasterd.conf
%files -n httpd-cloudmasterd-redirect
-/etc/httpd/conf.d/cloudmasterd-redirect.conf
+%doc %{gemdir}/doc/%{gemname}-%{version}
+%doc %{geminstdir}/LICENSE
+%doc %{geminstdir}/README
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/cloudmasterd-redirect.conf
%changelog
+* Mon Jul 21 2008 Jeroen van Meeuwen <kanarip@fedoraproject.org> - 1.0.0-14
+- Some cleaning up for package review
* Tue Jun 24 2008 <mhicks@redhat.com> - 1.0.0-1
- Initial package