Revision: 13645 http://gar.svn.sourceforge.net/gar/?rev=13645&view=rev Author: phipsy Date: 2011-03-07 14:20:50 +0000 (Mon, 07 Mar 2011)
Log Message: ----------- Changes to puppet to cater for inbuilt behaviour Modified Paths: -------------- csw/mgar/pkg/puppet/trunk/Makefile csw/mgar/pkg/puppet/trunk/files/CSWpuppet.postinstall csw/mgar/pkg/puppet/trunk/files/cswpuppetd csw/mgar/pkg/puppet/trunk/files/cswpuppetmasterd Modified: csw/mgar/pkg/puppet/trunk/Makefile =================================================================== --- csw/mgar/pkg/puppet/trunk/Makefile 2011-03-07 11:53:02 UTC (rev 13644) +++ csw/mgar/pkg/puppet/trunk/Makefile 2011-03-07 14:20:50 UTC (rev 13645) @@ -25,15 +25,11 @@ DISTFILES += cswpuppetd DISTFILES += cswpuppetmasterd DISTFILES += cswusergroup -DISTFILES += puppetd.xml -DISTFILES += puppetmaster.xml -UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.gz +DISTFILES += CSWpuppet.postinstall SPKG_SOURCEURL = http://puppetlabs.com/ INITSMF += $(sysconfdir)/init\.d/cswpuppetd INITSMF += $(sysconfdir)/init\.d/cswpuppetmasterd -#MANIFEST /var${prefix}/svc/manifest/network/puppetd.xml -#MANIFEST /var${prefix}/svc/manifest/network/puppetmaster.xml USERGROUP = $(sysconfdir)/pkg/puppet/cswusergroup # Creating a separate package CSWpuppetmaster so that the cswpuppetmaster @@ -53,7 +49,7 @@ PKGFILES_CSWpuppetmaster += $(sbindir)/puppetmasterd PKGFILES_CSWpuppetmaster += $(mandir)/man8/puppetmasterd.8 PKGFILES_CSWpuppetmaster += $(libdir)/.*/puppet/application/puppetmasterd.rb -PKGFILES_CSWpuppetmaster += /var${prefix}/svc/manifest/network/puppetmaster.xml +PKGFILES_CSWpuppetmaster += $(sysconfdir)/puppet/auth.conf ARCHALL = 1 @@ -70,7 +66,7 @@ PATCHFILES += 0003-Use-opt-csw-share-puppet-modules-as-default.patch CHECKPKG_OVERRIDES_CSWpuppet += surplus-dependency|CSWfacter -CHECKPKG_OVERRIDES_CSWpuppet += missing-dependency|CSWpython +CHECKPKG_OVERRIDES_CSWpuppet += missing-dependency|CSWpython CHECKPKG_OVERRIDES_CSWpuppetmaster += surplus-dependency|CSWpuppet # CRONDIR = $(sysconfdir)/pkg/CSWpuppet/crontabs @@ -91,12 +87,8 @@ ginstall -m 755 $(FILEDIR)/cswpuppetd $(DESTDIR)$(sysconfdir)/init.d ginstall -m 755 $(FILEDIR)/cswpuppetmasterd $(DESTDIR)$(sysconfdir)/init.d ginstall -m 755 $(FILEDIR)/cswpuppetmasterd $(DESTDIR)/etc$(prefix)/init.d - (cd $(WORKSRC) && \ - gsed -e "s|/var/puppet|/var/opt/csw/puppet|g" -i ./lib/puppet/defaults.rb; \ - gsed -e "s|/etc/puppet|/etc/opt/csw/puppet|g" -i ./lib/puppet/defaults.rb; \ - gsed -e "s|/var/run/puppet|/var/opt/csw/puppet/run|g" -i ./lib/puppet/defaults.rb) cd $(WORKSRC) && $(INSTALL_ENV) ruby install.rb \ - --configdir=$(sysconfdir) \ + --configdir=$(sysconfdir)/puppet \ --bindir=$(bindir) \ --sbindir=$(sbindir) \ --full @@ -111,13 +103,6 @@ ginstall -d -m 755 $(DESTDIR)$(sysconfdir)/pkg/puppet ginstall -m 644 $(FILEDIR)/cswusergroup \ $(DESTDIR)$(sysconfdir)/pkg/puppet/cswusergroup - ( [ -d $(DESTDIR)/var/lib ] && echo "$(DESTDIR)/var/lib" must not exist && false ) || true + # ( [ -d $(DESTDIR)/var/lib ] && echo "$(DESTDIR)/var/lib" must not exist && false ) || true mkdir -p $(DESTDIR)$(localstatedir)/lib - # For this file to run, CSWpuppet would need to depend on CSWpython, - # and we don't want that. It could be split off to another package, but - # this file doesn't seem to be of any use on Solaris, so we can safely - # remove it. - # markp: Putting this back in. Will look at deps later. Some places do run - # yum on Solaris, would you believe. - # rm $(DESTDIR)$(libdir)/ruby/site_ruby/1.8/puppet/provider/package/yumhelper.py @$(MAKECOOKIE) Modified: csw/mgar/pkg/puppet/trunk/files/CSWpuppet.postinstall =================================================================== --- csw/mgar/pkg/puppet/trunk/files/CSWpuppet.postinstall 2011-03-07 11:53:02 UTC (rev 13644) +++ csw/mgar/pkg/puppet/trunk/files/CSWpuppet.postinstall 2011-03-07 14:20:50 UTC (rev 13645) @@ -6,11 +6,22 @@ PKG_INSTALL_ROOT=${PKG_INSTALL_ROOT:-/} # Migration of the configuration files? -/usr/bin/test -d $PKG_INSTALL_ROOT/opt/csw/etc/puppet || /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /etc/opt/csw/puppet /opt/csw/etc/puppet -/usr/bin/test -d $PKG_INSTALL_ROOT/etc/puppet || /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /opt/csw/etc/puppet /etc/puppet -/usr/bin/test -d $PKG_INSTALL_ROOT/opt/csw/var/puppet || /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /var/opt/csw/puppet /opt/csw/var/puppet -/usr/bin/test -d $PKG_INSTALL_ROOT/var/puppet || /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /var/opt/csw/puppet /var/puppet +# This is horrible. Puppet insists on it's directories and will FORCE them to +# _be_ directories. Therefore, to fit in with the CSW layout the only vaguely +# sensible thing to do is to symlink TO the CSW layout and not FROM it. +if [ ! -d $PKG_INSTALL_ROOT/opt/csw/etc/puppet ]; then + /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /etc/opt/csw/puppet /opt/csw/etc/puppet +fi +if [ ! -d $PKG_INSTALL_ROOT/var/lib ]; then + /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/mkdir -p /var/lib/puppet + /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /var/lib/puppet /var/opt/csw/puppet +fi + +if [ ! -d $PKG_INSTALL_ROOT/opt/csw/var/puppet ]; then + /usr/sbin/chroot $PKG_INSTALL_ROOT /usr/bin/ln -s /var/lib/puppet /opt/csw/var/puppet +fi + # Replaced with INITSMF exit 0 Modified: csw/mgar/pkg/puppet/trunk/files/cswpuppetd =================================================================== --- csw/mgar/pkg/puppet/trunk/files/cswpuppetd 2011-03-07 11:53:02 UTC (rev 13644) +++ csw/mgar/pkg/puppet/trunk/files/cswpuppetd 2011-03-07 14:20:50 UTC (rev 13645) @@ -4,6 +4,9 @@ # # /etc/opt/csw/init.d/cswpuppetd # +# 2011-03-06 Mark Phillips +# * Added getprop - not used, yet +# # 2009-10-21 Maciej Blizinski # # * Introduced start/stop/reload as functions @@ -22,101 +25,111 @@ sbindir="/opt/csw/sbin" localstatedir="/var/opt/csw" +getprop() { + val=`/usr/bin/svcprop -p $1 $SMF_FMRI` + [ -n "$val" ] && echo $val +} start_puppetd() { - cd / - # Start daemons. - ${sbindir}/puppetd + cd / + confdir=`getprop puppet/confdir` + vardir=`getprop puppet/vardir` + ssldir=`getprop puppet/ssldir` + + # Start daemons. + #${sbindir}/puppetd --confdir=$confdir --vardir=$vardir --ssldir=$ssldir + ${sbindir}/puppetd } reload_puppetd() { - if [ -r $pidfile ]; then - kill -HUP `cat $pidfile` - fi + if [ -r $pidfile ]; then + kill -HUP `cat $pidfile` + fi } stop_puppetd() { - if [ -r $pidfile ]; then - pid=`cat $pidfile` - kill $pid - fi + if [ -r $pidfile ]; then + pid=`cat $pidfile` + kill $pid + fi } get_current_pid() { - if [ -x /usr/bin/zonename ]; then - zone=`/usr/bin/zonename` - zoneopts="-z $zone" - else - zoneopts="" - fi - pgrep $zoneopts puppetd + if [ -x /usr/bin/zonename ]; then + zone=`/usr/bin/zonename` + zoneopts="-z $zone" + else + zoneopts="" + fi + pgrep $zoneopts puppetd } # Returns a line with certain string from a config file. get_line_with() { - __s="$1" - __f="$2" - cat "${__f}" \ - | sed -e 's/^ *//' \ - | grep -v '^#' \ - | grep "${__s}" + __s="$1" + __f="$2" + cat "${__f}" \ + | sed -e 's/^ *//' \ + | grep -v '^#' \ + | grep "${__s}" } get_pid_file() { - # The default pid file is /var/opt/csw/puppet/run/puppetd.pid - # but a different pid file can be set in puppet.conf. - __pidfile="/var/opt/csw/puppet/run/puppetd.pid" - conffile="/etc/opt/csw/puppet/puppet.conf" - if [ -r "$conffile" ]; then - pid_line=`get_line_with pidfile ${conffile}` - if [ -n "${pid_line}" ]; then - echo "${pid_line}" | cut -d= -f2 | tr -d ' ' - return + # The default pid file is /var/opt/csw/puppet/run/puppetd.pid + # but a different pid file can be set in puppet.conf. + __pidfile="/var/opt/csw/puppet/run/puppetd.pid" + conffile="/etc/opt/csw/puppet/puppet.conf" + if [ -r "$conffile" ]; then + pid_line=`get_line_with pidfile ${conffile}` + if [ -n "${pid_line}" ]; then + echo "${pid_line}" | cut -d= -f2 | tr -d ' ' + return + fi fi - fi - echo "${__pidfile}" + echo "${__pidfile}" } pidfile=`get_pid_file` case "$1" in - start) - printf "Starting Puppet client services:" - start_puppetd - printf " puppetd" - echo "" - ;; - stop) - printf "Stopping Puppet client services:" - stop_puppetd - printf " puppetd" - echo "" - ;; - restart) - printf "Restarting Puppet client services:" - stop_puppetd - start_puppetd - printf " puppetd" - echo "" - ;; - reload) - printf "Reloading Puppet client services:" - reload_puppetd - printf " puppetd" - echo "" - ;; - status) - if [ -f $pidfile ]; then - pid=`cat $pidfile` - curpid=`get_current_pid` - if [ "$pid" -eq "$curpid" ]; then - exit 0 - else - exit 1 - fi - else - exit 1 - fi - ;; + start) + printf "Starting Puppet client services:" + start_puppetd + printf " puppetd" + echo "" + ;; + stop) + printf "Stopping Puppet client services:" + stop_puppetd + printf " puppetd" + echo "" + ;; + restart) + printf "Restarting Puppet client services:" + stop_puppetd + start_puppetd + printf " puppetd" + echo "" + ;; + reload) + printf "Reloading Puppet client services:" + reload_puppetd + printf " puppetd" + echo "" + ;; + status) + if [ -f $pidfile ]; then + pid=`cat $pidfile` + curpid=`get_current_pid` + if [ "$pid" -eq "$curpid" ]; then + exit 0 + else + exit 1 + fi + else + exit 1 + fi + ;; esac exit 0 + Modified: csw/mgar/pkg/puppet/trunk/files/cswpuppetmasterd =================================================================== --- csw/mgar/pkg/puppet/trunk/files/cswpuppetmasterd 2011-03-07 11:53:02 UTC (rev 13644) +++ csw/mgar/pkg/puppet/trunk/files/cswpuppetmasterd 2011-03-07 14:20:50 UTC (rev 13645) @@ -1,5 +1,10 @@ #!/bin/sh # +# 2011-03-06 Mark Phillips +# * Added getprop +# +# 2009-11-23 Gary Law +# * Original version . /lib/svc/share/smf_include.sh @@ -10,15 +15,19 @@ pidfile=/var/opt/csw/puppet/run/puppetmasterd.pid +getprop() { + val=`/usr/bin/svcprop -p $1 $SMF_FMRI` + [ -n "$val" ] && echo $val +} + case "$1" in start) cd / # Start daemons. printf "Starting Puppet server services:" + ${sbindir}/puppetmasterd - /opt/csw/sbin/puppetmasterd - printf " puppetmaster" echo "" ;; @@ -59,4 +68,3 @@ esac exit 0 -# $Id$ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel