Permalink
Browse files

Add rpm stuff

  • Loading branch information...
1 parent 7335797 commit 5b334894c7ee9cc32892fd1f999d72ff40be1bef @thatch45 thatch45 committed Apr 3, 2011
Showing with 318 additions and 0 deletions.
  1. +131 −0 pkg/rpm/salt-master
  2. +131 −0 pkg/rpm/salt-minion
  3. +56 −0 pkg/rpm/salt.spec
View
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# Salt master
+###################################
+
+# LSB header
+
+### BEGIN INIT INFO
+# Provides: salt-master
+# Required-Start: network
+# Default-Start: 3 4 5
+# Short-Description: salt master control daemon
+# Description: This is a daemon that controls the salt minions
+### END INIT INFO
+
+# chkconfig header
+
+# chkconfig: 345 99 99
+# description: This is a daemon that controls the salt mininons
+#
+# processname: /usr/bin/salt-master
+
+# Sanity checks.
+[ -x /usr/bin/salt-master ] || exit 0
+
+DEBIAN_VERSION=/etc/debian_version
+SUSE_RELEASE=/etc/SuSE-release
+# Source function library.
+if [ -f $DEBIAN_VERSION ]; then
+ break
+elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then
+ . /etc/rc.status
+else
+ . /etc/rc.d/init.d/functions
+fi
+
+SERVICE=salt-master
+PROCESS=salt-master
+CONFIG_ARGS=" "
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting salt-master daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-master -d $CONFIG_ARGS
+ rc_status -v
+ elif [ -e $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ echo -n "already started, lock file found"
+ RETVAL=1
+ elif /usr/bin/python /usr/bin/salt-master -d; then
+ echo -n "OK"
+ RETVAL=0
+ fi
+ else
+ daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS
+ fi
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch $LOCKFILE
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping salt-master daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ killproc -TERM /usr/bin/salt-master
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ # Added this since Debian's start-stop-daemon doesn't support spawned processes
+ if ps -ef | grep "/usr/bin/python /usr/bin/salt-master" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; then
+ echo -n "OK"
+ RETVAL=0
+ else
+ echo -n "Daemon is not started"
+ RETVAL=1
+ fi
+ else
+ killproc $PROCESS
+ fi
+ RETVAL=$?
+ echo
+ if [ $RETVAL -eq 0 ]; then
+ rm -f $LOCKFILE
+ rm -f /var/run/$SERVICE.pid
+ fi
+}
+
+restart() {
+ stop
+ start
+}
+
+# See how we were called.
+case "$1" in
+ start|stop|restart)
+ $1
+ ;;
+ status)
+ if [ -f $SUSE_RELEASE ]; then
+ echo -n "Checking for service salt-master "
+ checkproc /usr/bin/salt-master
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ RETVAL=0
+ echo "salt-master is running."
+ else
+ RETVAL=1
+ echo "salt-master is stopped."
+ fi
+ else
+ status $PROCESS
+ RETVAL=$?
+ fi
+ ;;
+ condrestart)
+ [ -f $LOCKFILE ] && restart || :
+ ;;
+ reload)
+ echo "can't reload configuration, you have to restart it"
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
+
View
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# Salt minion
+###################################
+
+# LSB header
+
+### BEGIN INIT INFO
+# Provides: salt-minion
+# Required-Start: network
+# Default-Start: 3 4 5
+# Short-Description: salt minion control daemon
+# Description: This is a daemon that controls the salt minions
+### END INIT INFO
+
+# chkconfig header
+
+# chkconfig: 345 99 99
+# description: This is a daemon that controls the salt mininons
+#
+# processname: /usr/bin/salt-minion
+
+# Sanity checks.
+[ -x /usr/bin/salt-minion ] || exit 0
+
+DEBIAN_VERSION=/etc/debian_version
+SUSE_RELEASE=/etc/SuSE-release
+# Source function library.
+if [ -f $DEBIAN_VERSION ]; then
+ break
+elif [ -f $SUSE_RELEASE -a -r /etc/rc.status ]; then
+ . /etc/rc.status
+else
+ . /etc/rc.d/init.d/functions
+fi
+
+SERVICE=salt-minion
+PROCESS=salt-minion
+CONFIG_ARGS=" "
+
+RETVAL=0
+
+start() {
+ echo -n $"Starting salt-minion daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ startproc -f -p /var/run/$SERVICE.pid /usr/bin/salt-minion -d $CONFIG_ARGS
+ rc_status -v
+ elif [ -e $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ echo -n "already started, lock file found"
+ RETVAL=1
+ elif /usr/bin/python /usr/bin/salt-minion -d; then
+ echo -n "OK"
+ RETVAL=0
+ fi
+ else
+ daemon --check $SERVICE $PROCESS -d $CONFIG_ARGS
+ fi
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch $LOCKFILE
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping salt-minion daemon: "
+ if [ -f $SUSE_RELEASE ]; then
+ killproc -TERM /usr/bin/salt-minion
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ # Added this since Debian's start-stop-daemon doesn't support spawned processes
+ if ps -ef | grep "/usr/bin/python /usr/bin/salt-minion" | grep -v grep | awk '{print $2}' | xargs kill &> /dev/null; then
+ echo -n "OK"
+ RETVAL=0
+ else
+ echo -n "Daemon is not started"
+ RETVAL=1
+ fi
+ else
+ killproc $PROCESS
+ fi
+ RETVAL=$?
+ echo
+ if [ $RETVAL -eq 0 ]; then
+ rm -f $LOCKFILE
+ rm -f /var/run/$SERVICE.pid
+ fi
+}
+
+restart() {
+ stop
+ start
+}
+
+# See how we were called.
+case "$1" in
+ start|stop|restart)
+ $1
+ ;;
+ status)
+ if [ -f $SUSE_RELEASE ]; then
+ echo -n "Checking for service salt-minion "
+ checkproc /usr/bin/salt-minion
+ rc_status -v
+ elif [ -f $DEBIAN_VERSION ]; then
+ if [ -f $LOCKFILE ]; then
+ RETVAL=0
+ echo "salt-minion is running."
+ else
+ RETVAL=1
+ echo "salt-minion is stopped."
+ fi
+ else
+ status $PROCESS
+ RETVAL=$?
+ fi
+ ;;
+ condrestart)
+ [ -f $LOCKFILE ] && restart || :
+ ;;
+ reload)
+ echo "can't reload configuration, you have to restart it"
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 1
+ ;;
+esac
+exit $RETVAL
+
View
@@ -0,0 +1,56 @@
+# sitelib for noarch packages, sitearch for others (remove the unneeded one)
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
+
+Name: salt
+Version: 0.7.0
+Release: 1%{?dist}
+Summary: A parallel remote execution system
+
+Group: Development/Languages
+License: APACHE
+URL: https://github.com/thatch45/salt
+Source0: %{name}-%{version}.tar.gz
+Source1: salt-master
+Source2: salt-minion
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Requires: python
+Requires: PyYAML
+Requires: facter
+Requires: python-crypto
+Requires: m2crypto
+Requires: python-zmq
+
+BuildArch: noarch
+BuildRequires: python-devel
+
+%description
+A paralell remote execution system
+
+%prep
+%setup -q
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__python} setup.py install -O1 --root $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_initrddir}
+cp -p %SOURCE1 $RPM_BUILD_ROOT%{_initrddir}/
+cp -p %SOURCE2 $RPM_BUILD_ROOT%{_initrddir}/
+chmod +x $RPM_BUILD_ROOT%{_initrddir}/
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc %{_mandir}/*
+%{python_sitelib}/*
+%{_bindir}/*
+%config(noreplace) /etc/salt/*
+%{_initrddir}/*
+
+%changelog

0 comments on commit 5b33489

Please sign in to comment.