Another bump. Here is the patchwork link:
http://patchwork.openwrt.org/patch/3672/


On Thu, Jun 6, 2013 at 6:54 AM, Kyle Anderson <k...@xkyle.com> wrote:

> Bump? Let me know if anything is missing or requires improvement.
>
>
> On Thu, May 23, 2013 at 8:29 PM, Kyle Anderson <k...@xkyle.com> 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 <k...@xkyle.com>
>>
>> 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
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to