aboutsummaryrefslogtreecommitdiff
path: root/app/admin/puppet/puppet.SlackBuild
diff options
context:
space:
mode:
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2009-06-29 00:51:15 +0000
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>2009-06-29 00:51:15 +0000
commita2bd4ca7da5a1658635e8e9d3bf4125a510fbc9d (patch)
treef55188fbf5cf4511fe1119f57e7d3014c79ca695 /app/admin/puppet/puppet.SlackBuild
parent293879e53b2e7a1eac516eaeba492f96de94f622 (diff)
downloadslackbuilds-a2bd4ca7da5a1658635e8e9d3bf4125a510fbc9d.tar.gz
slackbuilds-a2bd4ca7da5a1658635e8e9d3bf4125a510fbc9d.tar.bz2
puppet: adding initscript ; openrc: addin openrc
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@2222 370017ae-e619-0410-ac65-c121f96126d4
Diffstat (limited to 'app/admin/puppet/puppet.SlackBuild')
-rw-r--r--app/admin/puppet/puppet.SlackBuild52
1 files changed, 50 insertions, 2 deletions
diff --git a/app/admin/puppet/puppet.SlackBuild b/app/admin/puppet/puppet.SlackBuild
index 85de6dc9..aa4ef57f 100644
--- a/app/admin/puppet/puppet.SlackBuild
+++ b/app/admin/puppet/puppet.SlackBuild
@@ -15,7 +15,7 @@
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for puppet, by Silvio Rhatto
-# requires: facter
+# requires: facter openrc
# tested: puppet-0.24.8
# model: generic.mkSlackBuild $Rev: 805 $
#
@@ -34,7 +34,7 @@ PKG_NAME="puppet"
ARCH=${ARCH:=i486}
SRC_VERSION=${VERSION:=0.24.8}
PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
-BUILD=${BUILD:=1rha}
+BUILD=${BUILD:=2rha}
SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
TMP=${TMP:=/tmp}
PKG=${PKG:=$TMP/package-$PKG_NAME}
@@ -161,6 +161,7 @@ cd "$PKG_SRC"
# Build and install package
ruby install.rb --destdir=$PKG || exit $ERROR_INSTALL
+mkdir -p /var/run/puppet /etc/puppet
# Strip binaries
( cd "$PKG"
@@ -170,6 +171,10 @@ ruby install.rb --destdir=$PKG || exit $ERROR_INSTALL
xargs strip --strip-unneeded 2> /dev/null
)
+# Copy init scripts
+mkdir -p $PKG/etc/rc.d
+cp $CWD/rc.* $PKG/etc/rc.d/
+
# Install documentation
DOCS="CHANGELOG COPYING LICENSE README README.rst Rakefile"
mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
@@ -203,6 +208,49 @@ puppet:
puppet:
EODESC
+# Add a post-installation script (doinst.sh)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+ OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+ GROUP="\$1"
+ if ! grep -qe "^\$GROUP:" etc/group; then
+ echo Creating group \$GROUP...
+ chroot . /usr/sbin/groupadd \$GROUP
+ fi
+}
+
+mkuser() {
+ USER="\$1"
+ if [ ! -z "\$2" ]; then
+ GROUP="\$2"
+ else
+ GROUP="\$USER"
+ fi
+ if ! grep -qe "^\$USER:" etc/passwd; then
+ echo Creating user \$USER...
+ chroot . /usr/sbin/useradd \$USER -g \$GROUP
+ fi
+}
+
+config etc/rc.d/rc.puppet.new ; config etc/rc.d/rc.puppetmaster.new; mkgroup puppet; mkuser puppet; chown puppet.puppet /var/run/puppet
+EOSCRIPT
+
# Build the package
cd "$PKG"
mkdir -p $REPOS/$SLACKBUILD_PATH