Skip to content

Commit

Permalink
Add rpm stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
thatch45 committed Apr 3, 2011
1 parent 7335797 commit 5b33489
Show file tree
Hide file tree
Showing 3 changed files with 318 additions and 0 deletions.
131 changes: 131 additions & 0 deletions pkg/rpm/salt-master
Original file line number Diff line number Diff line change
@@ -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

131 changes: 131 additions & 0 deletions pkg/rpm/salt-minion
Original file line number Diff line number Diff line change
@@ -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

56 changes: 56 additions & 0 deletions pkg/rpm/salt.spec
Original file line number Diff line number Diff line change
@@ -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.