Bump? Let me know if anything is missing or requires improvement.
On Thu, May 23, 2013 at 8:29 PM, Kyle Anderson <[email protected]> wrote: > This patch provides the Puppet package, a configuration management tool. > > I've already got upstream support for OpenWrt into Puppet, so this patch > doesn't require any puppet modifications, so that is cool. > > Signed-off-by: Kyle Anderson <[email protected]> > > Index: admin/puppet/files/puppet.init > =================================================================== > --- admin/puppet/files/puppet.init (revision 0) > +++ admin/puppet/files/puppet.init (working copy) > @@ -0,0 +1,12 @@ > +#!/bin/sh /etc/rc.common > +# Copyright (C) 2013 OpenWrt.org > + > +START=70 > + > +start() { > + service_start /usr/bin/ruby /usr/bin/puppet agent > +} > + > +stop() { > + service_stop /usr/bin/ruby /usr/bin/puppet agent > +} > Index: admin/puppet/files/etckeeper-commit-post > =================================================================== > --- admin/puppet/files/etckeeper-commit-post (revision 0) > +++ admin/puppet/files/etckeeper-commit-post (working copy) > @@ -0,0 +1,10 @@ > +#!/bin/sh > + > +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > + > +which etckeeper > /dev/null 2>&1 || exit 0 > + > +etckeeper commit "committing changes in /etc after puppet catalog run" > + > +# Failure of etckeeper should not be fatal. > +exit 0 > > Property changes on: admin/puppet/files/etckeeper-commit-post > ___________________________________________________________________ > Added: svn:executable > ## -0,0 +1 ## > +* > \ No newline at end of property > Index: admin/puppet/files/etckeeper-commit-pre > =================================================================== > --- admin/puppet/files/etckeeper-commit-pre (revision 0) > +++ admin/puppet/files/etckeeper-commit-pre (working copy) > @@ -0,0 +1,10 @@ > +#!/bin/sh > + > +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > + > +which etckeeper > /dev/null 2>&1 || exit 0 > + > +etckeeper commit "saving uncommitted changes in /etc prior to puppet > catalog run" > + > +# Failure of etckeeper should not be fatal. > +exit 0 > > Property changes on: admin/puppet/files/etckeeper-commit-pre > ___________________________________________________________________ > Added: svn:executable > ## -0,0 +1 ## > +* > \ No newline at end of property > Index: admin/puppet/files/puppet.conf > =================================================================== > --- admin/puppet/files/puppet.conf (revision 0) > +++ admin/puppet/files/puppet.conf (working copy) > @@ -0,0 +1,17 @@ > +[main] > +# Careful as /var is ephemeral on OpenWrt. > +logdir=/var/log/puppet > +vardir=/etc/puppet > +ssldir=/etc/puppet/ssl > +rundir=/var/run/puppet > +factpath=$vardir/lib/facter > +templatedir=$confdir/templates > +prerun_command=/etc/puppet/etckeeper-commit-pre > +postrun_command=/etc/puppet/etckeeper-commit-post > + > +[master] > +# These are needed when the puppetmaster is run by passenger > +# and can safely be removed if webrick is used. > +ssl_client_header = SSL_CLIENT_S_DN > +ssl_client_verify_header = SSL_CLIENT_VERIFY > + > Index: admin/puppet/Makefile > =================================================================== > --- admin/puppet/Makefile (revision 0) > +++ admin/puppet/Makefile (working copy) > @@ -0,0 +1,98 @@ > +# > +# Copyright (C) 2013 OpenWrt.org > +# > +# This is free software, licensed under the GNU General Public License v2. > +# See /LICENSE for more information. > +# > + > +include $(TOPDIR)/rules.mk > + > +PKG_NAME:=puppet > +PKG_VERSION:=3.2.1 > +PKG_RELEASE:=1 > + > +PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz > +PKG_SOURCE_URL:=http://downloads.puppetlabs.com/puppet/ > +PKG_MD5SUM:=a9bce4fe7a68aebcb6e97256e7faac5b > + > +include $(INCLUDE_DIR)/package.mk > + > +define Package/puppet > + SECTION:=admin > + CATEGORY:=Administration > + DEPENDS:= +libruby +ruby-core +ruby-enc +facter +ruby-yaml +ruby-gems > +ruby-cgi +ruby-openssl +shadow-useradd +ruby-xmlrpc \ > + +shadow-useradd +shadow-userdel +shadow-usermod > +shadow-groups +shadow-groupmod +shadow-groupdel +shadow-groupadd > +shadow-chage +net-tools-hostname > + > + TITLE:=Centralized configuration management > + URL:=http://projects.puppetlabs.com/projects/puppet > +endef > + > +define Package/puppet/description > + Puppet lets you centrally manage every important aspect of your system > + using a cross-platform specification language that manages all the > + separate elements normally aggregated in different files, like users, > + cron jobs, and hosts, along with obviously discrete elements like > + packages, services, and files. > + > + Puppet's simple declarative specification language provides powerful > + classing abilities for drawing out the similarities between hosts while > + allowing them to be as specific as necessary, and it handles dependency > + and prerequisite relationships between objects clearly and explicitly. > +endef > + > +define Build/Configure > +endef > + > +define Build/Compile > +endef > + > +define Package/puppet/install > + $(INSTALL_DIR) $(1)/usr/bin > + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/$(PKG_NAME) $(1)/usr/bin/ > + $(INSTALL_DIR) $(1)/usr/lib/ruby/1.9/puppet > + $(CP) $(PKG_BUILD_DIR)/lib/* $(1)/usr/lib/ruby/1.9/ > + > + $(INSTALL_DIR) $(1)/etc/ > + $(INSTALL_DIR) $(1)/etc/puppet > + $(INSTALL_DATA) ./files/puppet.conf $(1)/etc/puppet/puppet.conf > + $(INSTALL_BIN) ./files/etckeeper-commit-post > $(1)/etc/puppet/etckeeper-commit-post > + $(INSTALL_BIN) ./files/etckeeper-commit-pre > $(1)/etc/puppet/etckeeper-commit-pre > + $(INSTALL_DIR) $(1)/etc/puppet/manifests > + $(INSTALL_DIR) $(1)/etc/puppet/modules > + $(INSTALL_DIR) $(1)/etc/puppet/templates > + $(INSTALL_DIR) $(1)/etc/init.d/ > + $(INSTALL_BIN) ./files/puppet.init $(1)/etc/init.d/puppet > + > +endef > + > +define Package/puppet/postinst > +#!/bin/sh > +grep -q '^puppet:' /etc/passwd && exit 0 > +group=$$(grep '^puppet:' /etc/group | cut -f3 -d:) > +if [ -z "$${group}" ] ; then > + group=1000 > + tst=$$(cat /etc/group | grep ":$${group}:") > + while [ -n "$${tst}" ] ; do > + group=$$(($${group}+1)) > + tst=$$(cat /etc/group | grep ":$${group}:") > + done > + echo "puppet:x:$${group}:" >>/etc/group > +fi > + > +user=$$(cat /etc/passwd | grep "^puppet:") > +if [ -z "$${user}" ] ; then > + num="$${group}" > + tst=$$(cat /etc/passwd | grep ":.*:$${num}:") > + while [ -n "$${tst}" ] ; do > + num=$$(($${num}+1)) > + tst=$$(cat /etc/passwd | grep ":.*:$${num}:") > + done > + echo "puppet:*:$${num}:$${group}:Puppet configuration management > daemon:/var/lib/puppet:/bin/ash" >>/etc/passwd > +fi > +endef > + > +define Package/puppet/conffiles > +/etc/puppet/ > +endef > + > +$(eval $(call BuildPackage,puppet)) >
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
