Merge remote branch 'nico/master' into changerunningorder
This commit is contained in:
		
				commit
				
					
						c7ebbb4125
					
				
			
		
					 21 changed files with 411 additions and 241 deletions
				
			
		| 
						 | 
					@ -3,21 +3,12 @@ cat << eof
 | 
				
			||||||
Hey hackers,
 | 
					Hey hackers,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
this README is for you, for those who want to dig into cdist, hack it or try
 | 
					this README is for you, for those who want to dig into cdist, hack it or try
 | 
				
			||||||
to get a deeper understanding.
 | 
					to get a deeper understanding. Please read doc/man/cdist-hacker.text.
 | 
				
			||||||
 | 
					 | 
				
			||||||
A lot of documentation is still missing, but running cdist-quickstart should
 | 
					 | 
				
			||||||
give you an impression of how cdist works.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
I hope you have a lot of fun with cdist, because it was also a lot of fun to
 | 
					I hope you have a lot of fun with cdist, because it was also a lot of fun to
 | 
				
			||||||
develop it!
 | 
					develop it!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   -- Nico, 20110304
 | 
					   -- Nico, 20110324
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Conventions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- All variables exported by cdist are prefixed with a double underscore (__)
 | 
					 | 
				
			||||||
- All cdist-internal variables are prefixed with __cdist_ and are generally not exported.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Running cdist when developing
 | 
					## Running cdist when developing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										126
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										126
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -1,126 +0,0 @@
 | 
				
			||||||
# General
 | 
					 | 
				
			||||||
PREFIX=/usr
 | 
					 | 
				
			||||||
BINDIR=$(PREFIX)/bin
 | 
					 | 
				
			||||||
MANDIR=$(PREFIX)/share/man
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Manpage and HTML
 | 
					 | 
				
			||||||
A2XM=a2x -f manpage --no-xmllint
 | 
					 | 
				
			||||||
# A2XH=a2x -f xhtml --no-xmllint
 | 
					 | 
				
			||||||
A2XH=asciidoc -b xhtml11
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Developer only
 | 
					 | 
				
			||||||
WEBDIR=$$HOME/niconetz
 | 
					 | 
				
			||||||
WEBBASE=software/cdist
 | 
					 | 
				
			||||||
WEBPAGE=$(WEBBASE).mdwn
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Documentation
 | 
					 | 
				
			||||||
MANDIR=doc/man
 | 
					 | 
				
			||||||
MANGENERATED=$(MANDIR)/cdist-reference.text
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
MANSRC=$(MANDIR)/cdist.text						\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-best-practise.text			\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-code-run.text					\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-code-run-all.text			\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-config.text 					\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-dir.text         			\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-env.text         			\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-explorer-run-global.text 	\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-deploy-to.text 				\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-explorer.text					\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-manifest.text 				\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-manifest-run.text			\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-manifest-run-all.text	 	\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-manifest-run-init.text		\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-object-explorer-all.text	\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-object-gencode.text    	\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-object-gencode-all.text	\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-quickstart.text 				\
 | 
					 | 
				
			||||||
   $(MANDIR)/cdist-remote-explorer-run.text 	\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-run-remote.text				\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-stages.text					\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-type.text						\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-type-build-emulation.text \
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-type-emulator.text			\
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-type-template.text			\
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# User targets
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
all:
 | 
					 | 
				
			||||||
	@echo ''
 | 
					 | 
				
			||||||
	@echo 'Welcome to cdist!'
 | 
					 | 
				
			||||||
	@echo ''
 | 
					 | 
				
			||||||
	@echo 'Here are the possible targets:'
 | 
					 | 
				
			||||||
	@echo ''
 | 
					 | 
				
			||||||
	@echo '	man: Build manpages (requires Asciidoc)'
 | 
					 | 
				
			||||||
	@echo '	clean: Remove build stuff'
 | 
					 | 
				
			||||||
	@echo ''
 | 
					 | 
				
			||||||
	@echo ''
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
man: doc/man/.marker
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
doc/man/.marker: $(MANDIR)/cdist-reference.text
 | 
					 | 
				
			||||||
	touch $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Manual from core
 | 
					 | 
				
			||||||
mancore: $(MANSRC)
 | 
					 | 
				
			||||||
	for mansrc in $^; do $(A2XM) $$mansrc; $(A2XH) $$mansrc; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Manuals from types
 | 
					 | 
				
			||||||
mantype:
 | 
					 | 
				
			||||||
	for man in conf/type/*/man.text; do $(A2XM) $$man; $(A2XH) $$man; done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Move into manpath directories
 | 
					 | 
				
			||||||
manmove: mantype mancore
 | 
					 | 
				
			||||||
	for manpage in $(MANDIR)/*.[1-9] conf/type/*/*.7; do \
 | 
					 | 
				
			||||||
		cat=$${manpage##*.}; \
 | 
					 | 
				
			||||||
		mandir=$(MANDIR)/man$$cat; \
 | 
					 | 
				
			||||||
		mkdir -p $$mandir; \
 | 
					 | 
				
			||||||
		mv $$manpage $$mandir; \
 | 
					 | 
				
			||||||
	done
 | 
					 | 
				
			||||||
	mkdir -p doc/html
 | 
					 | 
				
			||||||
	mv doc/man/*.html doc/html
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for mantype in conf/type/*/man.html; do \
 | 
					 | 
				
			||||||
	mannew=$$(echo $$mantype | sed -e 's;conf/;cdist-;'  -e 's;/;;' -e 's;/man;;');\
 | 
					 | 
				
			||||||
	mv $$mantype doc/html/$$mannew; \
 | 
					 | 
				
			||||||
	done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Reference depends on conf/type/*/man.text - HOWTO with posix make?
 | 
					 | 
				
			||||||
$(MANDIR)/cdist-reference.text: manmove $(MANDIR)/cdist-reference.text.sh
 | 
					 | 
				
			||||||
	$(MANDIR)/cdist-reference.text.sh
 | 
					 | 
				
			||||||
	$(A2XM) $(MANDIR)/cdist-reference.text
 | 
					 | 
				
			||||||
	$(A2XH) $(MANDIR)/cdist-reference.text
 | 
					 | 
				
			||||||
	# Move us to the destination as well
 | 
					 | 
				
			||||||
	make manmove
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
clean:
 | 
					 | 
				
			||||||
	rm -rf doc/man/*.html doc/man/*.[1-9] doc/man/man[1-9] $(MANGENERATED)
 | 
					 | 
				
			||||||
	rm -f conf/type/*/man.html
 | 
					 | 
				
			||||||
	rm -rf doc/html
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# Developer targets
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
test:
 | 
					 | 
				
			||||||
	# ubuntu
 | 
					 | 
				
			||||||
	.rsync lyni@tablett:cdist
 | 
					 | 
				
			||||||
	# redhat
 | 
					 | 
				
			||||||
	.rsync nicosc@free.ethz.ch:cdist
 | 
					 | 
				
			||||||
	# gentoo
 | 
					 | 
				
			||||||
	.rsync nicosc@ru3.inf.ethz.ch:cdist
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#web: manmove
 | 
					 | 
				
			||||||
web:
 | 
					 | 
				
			||||||
	cp README $(WEBDIR)/$(WEBPAGE)
 | 
					 | 
				
			||||||
	cp -r doc/html/* $(WEBDIR)/$(WEBBASE)/man
 | 
					 | 
				
			||||||
	cd $(WEBDIR) && git commit -m "cdist update" $(WEBBASE) $(WEBPAGE)
 | 
					 | 
				
			||||||
	cd $(WEBDIR) && make pub
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pub:
 | 
					 | 
				
			||||||
	git push --mirror
 | 
					 | 
				
			||||||
	git push --mirror github
 | 
					 | 
				
			||||||
							
								
								
									
										4
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -107,7 +107,7 @@ To install cdist, execute the following commands:
 | 
				
			||||||
    cd cdist
 | 
					    cd cdist
 | 
				
			||||||
    export PATH=$PATH:$(pwd -P)/bin
 | 
					    export PATH=$PATH:$(pwd -P)/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # If you want the manpages (requires asciidoc to be installed)
 | 
					    # If you want the manpages (requires gmake and asciidoc to be installed)
 | 
				
			||||||
    make man
 | 
					    make man
 | 
				
			||||||
    export MANPATH=$MANPATH:$(pwd -P)/doc/man
 | 
					    export MANPATH=$MANPATH:$(pwd -P)/doc/man
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -136,7 +136,7 @@ may vanish at any point. To select a specific branch use
 | 
				
			||||||
    git checkout -b <name> origin/<name>
 | 
					    git checkout -b <name> origin/<name>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    # Stay on a specific version
 | 
					    # Stay on a specific version
 | 
				
			||||||
    git checkout -b 1.3 origin/1.3
 | 
					    git checkout -b 1.4 origin/1.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Mirrors
 | 
					### Mirrors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__cdist_version="1.4.0"
 | 
					__cdist_version="1.4.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Fail if something bogus is going on
 | 
					# Fail if something bogus is going on
 | 
				
			||||||
set -u
 | 
					set -u
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										131
									
								
								build.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										131
									
								
								build.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,131 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Nico Schottelius (nico-cdist at schottelius.org)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Push a directory to a target, both sides have the same name (i.e. explorers)
 | 
				
			||||||
 | 
					# or
 | 
				
			||||||
 | 
					# Pull a directory from a target, both sides have the same name (i.e. explorers)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Manpage and HTML
 | 
				
			||||||
 | 
					A2XM="a2x -f manpage --no-xmllint"
 | 
				
			||||||
 | 
					A2XH="a2x -f xhtml --no-xmllint"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Developer webbase
 | 
				
			||||||
 | 
					WEBDIR=$HOME/niconetz
 | 
				
			||||||
 | 
					WEBBASE=software/cdist
 | 
				
			||||||
 | 
					WEBPAGE=${WEBBASE}.mdwn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Documentation
 | 
				
			||||||
 | 
					MANDIR=doc/man
 | 
				
			||||||
 | 
					MAN1DSTDIR=${MANDIR}/man1
 | 
				
			||||||
 | 
					MAN7DSTDIR=${MANDIR}/man7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
					   man)
 | 
				
			||||||
 | 
					      set -e
 | 
				
			||||||
 | 
					      "$0" mandirs
 | 
				
			||||||
 | 
					      "$0" mantype
 | 
				
			||||||
 | 
					      "$0" man1
 | 
				
			||||||
 | 
					      "$0" man7
 | 
				
			||||||
 | 
					      "$0" manbuild
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   manbuild)
 | 
				
			||||||
 | 
					      for src in ${MAN1DSTDIR}/*.text ${MAN7DSTDIR}/*.text; do
 | 
				
			||||||
 | 
					         echo "Compiling manpage and html for $src"
 | 
				
			||||||
 | 
					         $A2XM "$src"
 | 
				
			||||||
 | 
					         $A2XH "$src"
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   mandirs)
 | 
				
			||||||
 | 
					      # Create destination directories
 | 
				
			||||||
 | 
					      mkdir -p "${MAN1DSTDIR}" "${MAN7DSTDIR}"
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   mantype)
 | 
				
			||||||
 | 
						   for mansrc in ${MAN7TYPESRC}; do
 | 
				
			||||||
 | 
					         dst="$(echo $mansrc | sed -e 's;conf/;cdist-;'  -e 's;/;;' -e 's;/man;;' -e 's;^;doc/man/man7/;')"
 | 
				
			||||||
 | 
					         ln -sf "../../../$mansrc" "$dst"
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   man1)
 | 
				
			||||||
 | 
					      for man in cdist-code-run.text cdist-code-run-all.text cdist-config.text \
 | 
				
			||||||
 | 
					         cdist-dir.text cdist-env.text cdist-explorer-run-global.text          \
 | 
				
			||||||
 | 
					         cdist-deploy-to.text cdist-explorer.text cdist-manifest.text          \
 | 
				
			||||||
 | 
					         cdist-manifest-run.text cdist-manifest-run-init.text                  \
 | 
				
			||||||
 | 
					         cdist-manifest-run-all.text cdist-object-explorer-all.text            \
 | 
				
			||||||
 | 
					         cdist-object-gencode.text cdist-object-gencode-all.text               \
 | 
				
			||||||
 | 
					         cdist-remote-explorer-run.text cdist-run-remote.text                  \
 | 
				
			||||||
 | 
					         cdist-type-build-emulation.text cdist-type-emulator.text              \
 | 
				
			||||||
 | 
					         cdist-type-template.text
 | 
				
			||||||
 | 
					         do
 | 
				
			||||||
 | 
					         ln -sf ../$man ${MAN1DSTDIR}
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   man7)
 | 
				
			||||||
 | 
					      for man in cdist.text cdist-best-practise.text cdist-hacker.text         \
 | 
				
			||||||
 | 
					      cdist-quickstart.text cdist-reference.text cdist-stages.text             \
 | 
				
			||||||
 | 
					      cdist-type.text
 | 
				
			||||||
 | 
					         do
 | 
				
			||||||
 | 
					         ln -sf ../$man ${MAN7DSTDIR}
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   mangen)
 | 
				
			||||||
 | 
					      ${MANDIR}/cdist-reference.text.sh
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   web)
 | 
				
			||||||
 | 
					      cp README ${WEBDIR}/${WEBPAGE}
 | 
				
			||||||
 | 
					      rm -rf ${WEBDIR}/${WEBBASE}/man && mkdir ${WEBDIR}/${WEBBASE}/man
 | 
				
			||||||
 | 
					      cp ${MAN1DSTDIR}/*.html ${MAN7DSTDIR}/*.html ${WEBDIR}/${WEBBASE}/man
 | 
				
			||||||
 | 
					      cd ${WEBDIR} && git add ${WEBBASE}/man
 | 
				
			||||||
 | 
					      cd ${WEBDIR} && git commit -m "cdist update" ${WEBBASE} ${WEBPAGE}
 | 
				
			||||||
 | 
					      cd ${WEBDIR} && make pub
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   pub)
 | 
				
			||||||
 | 
					      git push --mirror
 | 
				
			||||||
 | 
					      git push --mirror github
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   clean)
 | 
				
			||||||
 | 
					      rm -rf "$MAN1DSTDIR" "$MAN7DSTDIR"
 | 
				
			||||||
 | 
					      rm -f  ${MANDIR}/cdist-reference.text
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   *)
 | 
				
			||||||
 | 
					      echo ''
 | 
				
			||||||
 | 
					      echo 'Welcome to cdist!'
 | 
				
			||||||
 | 
					      echo ''
 | 
				
			||||||
 | 
					      echo 'Here are the possible targets:'
 | 
				
			||||||
 | 
					      echo ''
 | 
				
			||||||
 | 
					      echo '	man: Build manpages (requires Asciidoc)'
 | 
				
			||||||
 | 
					      echo '	manhtml: Build html-manpages (requires Asciidoc)'
 | 
				
			||||||
 | 
					      echo '	clean: Remove build stuff'
 | 
				
			||||||
 | 
					      echo ''
 | 
				
			||||||
 | 
					      echo ''
 | 
				
			||||||
 | 
					      echo "Unknown target, \"$1\"" >&2
 | 
				
			||||||
 | 
					      exit 1
 | 
				
			||||||
 | 
					   ;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
| 
						 | 
					@ -27,8 +27,3 @@ require="__package/python-software-properties" \
 | 
				
			||||||
   --source "$__type/files/remove-apt-repository" \
 | 
					   --source "$__type/files/remove-apt-repository" \
 | 
				
			||||||
   --mode 0755
 | 
					   --mode 0755
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# FIXME: rewrite to use $__self once that exists
 | 
					 | 
				
			||||||
# FIXME: only run if something changed. currently working arround this in
 | 
					 | 
				
			||||||
#    __apt_update_index/gencode-remote
 | 
					 | 
				
			||||||
require="__apt_ppa/$__object_id" __apt_update_index
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,44 +0,0 @@
 | 
				
			||||||
cdist-type__apt_update_index(7)
 | 
					 | 
				
			||||||
==========================
 | 
					 | 
				
			||||||
Steven Armstrong <steven-cdist--@--armstrong.cc>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
NAME
 | 
					 | 
				
			||||||
----
 | 
					 | 
				
			||||||
cdist-type__apt_update_index - resynchronize the apt package index
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
DESCRIPTION
 | 
					 | 
				
			||||||
-----------
 | 
					 | 
				
			||||||
This cdist type allows you to resynchronize the package index files from their
 | 
					 | 
				
			||||||
sources. In other words, it runs `apt-get update`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
FIXME: currently hard coded to work together with the __apt_ppa type
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
REQUIRED PARAMETERS
 | 
					 | 
				
			||||||
-------------------
 | 
					 | 
				
			||||||
None.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
OPTIONAL PARAMETERS
 | 
					 | 
				
			||||||
-------------------
 | 
					 | 
				
			||||||
None.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EXAMPLES
 | 
					 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
__apt_update_index
 | 
					 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SEE ALSO
 | 
					 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
- cdist-type(7)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
COPYING
 | 
					 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
Copyright \(C) 2011 Steven Armstrong. Free use of this software is
 | 
					 | 
				
			||||||
granted under the terms of the GNU General Public License version 3 (GPLv3).
 | 
					 | 
				
			||||||
| 
						 | 
					@ -17,19 +17,17 @@
 | 
				
			||||||
# You should have received a copy of the GNU General Public License
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Get the current value of key or __NOTSET__ if the key doesn't exist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# BIG FAT FIXME: there must be a better way to do this!
 | 
					key="$(cat "$__object/parameter/key")"
 | 
				
			||||||
tmpdir=$(mktemp -d)
 | 
					file="$(cat "$__object/parameter/file")"
 | 
				
			||||||
cleanup() {
 | 
					delimiter="$(cat "$__object/parameter/delimiter")"
 | 
				
			||||||
   rm -rf "$tmpdir"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
trap cleanup EXIT
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
should="$tmpdir/should"
 | 
					awk -F "$delimiter" '
 | 
				
			||||||
is="$tmpdir/is"
 | 
					BEGIN { found=0 }
 | 
				
			||||||
 | 
					/^'$key'/ { print $2; found=1 }
 | 
				
			||||||
find "$__global/object/__apt_ppa" -path "*.cdist/parameter/state" | xargs cat > "$should"
 | 
					END { if (found) exit 0; else exit 1 }' "$file" \
 | 
				
			||||||
find "$__global/object/__apt_ppa" -path "*.cdist/explorer/state" | xargs cat > "$is"
 | 
					|| echo "__NOTSET__"
 | 
				
			||||||
 | 
					 | 
				
			||||||
diff -ru "$is" "$should" || echo apt-get update
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										52
									
								
								conf/type/__key_value/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								conf/type/__key_value/gencode-remote
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					value_is="$(cat "$__object/explorer/value")"
 | 
				
			||||||
 | 
					value_should="$(cat "$__object/parameter/value")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					key="$(cat "$__object/parameter/key")"
 | 
				
			||||||
 | 
					file="$(cat "$__object/parameter/file")"
 | 
				
			||||||
 | 
					delimiter="$(cat "$__object/parameter/delimiter")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "$value_is" != "$value_should" ]; then
 | 
				
			||||||
 | 
					   case "$value_is" in
 | 
				
			||||||
 | 
					      __NOTSET__)
 | 
				
			||||||
 | 
					         # add key and value
 | 
				
			||||||
 | 
					         echo "echo \"${key}${delimiter}${value_should}\" >> \"$file\""
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					      *)
 | 
				
			||||||
 | 
					         if [ "$value_should" = '__NOTSET__' ]; then
 | 
				
			||||||
 | 
					            # remove key and value
 | 
				
			||||||
 | 
					            cat << DONE
 | 
				
			||||||
 | 
					sed -i '/^${key}/d' "$file"
 | 
				
			||||||
 | 
					DONE
 | 
				
			||||||
 | 
					         else 
 | 
				
			||||||
 | 
					            # change value
 | 
				
			||||||
 | 
					            cat << DONE
 | 
				
			||||||
 | 
					awk -F "$delimiter" '
 | 
				
			||||||
 | 
					/${key}${delimiter}*/{gsub(/$value_is/, $value_should)};{print}' "$file" > "${file}+" \
 | 
				
			||||||
 | 
					&& mv "${file}+" "$file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DONE
 | 
				
			||||||
 | 
					         fi
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					   esac
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										59
									
								
								conf/type/__key_value/man.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								conf/type/__key_value/man.text
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,59 @@
 | 
				
			||||||
 | 
					cdist-type__key_value(7)
 | 
				
			||||||
 | 
					========================
 | 
				
			||||||
 | 
					Steven Armstrong <steven-cdist--@--armstrong.cc>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					cdist-type__key_value - Change property values in files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DESCRIPTION
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					This cdist type allows you to change values in a key value based config
 | 
				
			||||||
 | 
					file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REQUIRED PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					value::
 | 
				
			||||||
 | 
					   The value for the key. Setting the value to __NOTSET__ will remove the key
 | 
				
			||||||
 | 
					   from the file.
 | 
				
			||||||
 | 
					file::
 | 
				
			||||||
 | 
					   The file to operate on.
 | 
				
			||||||
 | 
					delimiter::
 | 
				
			||||||
 | 
					   The delimiter which seperates the key from the value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OPTIONAL PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					key::
 | 
				
			||||||
 | 
					   The key to change. Defaults to object_id.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXAMPLES
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Set the maximum system user id 
 | 
				
			||||||
 | 
					__key_value SYS_UID_MAX --file /etc/login.defs --value 666 --delimiter ' '
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Same with fancy id
 | 
				
			||||||
 | 
					__key_value my-fancy-id --file /etc/login.defs --key SYS_UID_MAX --value 666 \
 | 
				
			||||||
 | 
					   --delimiter ' '
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Enable packet forwarding
 | 
				
			||||||
 | 
					__key_value net.ipv4.ip_forward --file /etc/sysctl.conf --value 1 \
 | 
				
			||||||
 | 
					   --delimiter '='
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SEE ALSO
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					- cdist-type(7)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPYING
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Copyright \(C) 2011 Steven Armstrong. Free use of this software is
 | 
				
			||||||
 | 
					granted under the terms of the GNU General Public License version 3 (GPLv3).
 | 
				
			||||||
							
								
								
									
										26
									
								
								conf/type/__key_value/manifest
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								conf/type/__key_value/manifest
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file is part of cdist.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					# it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					# the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					# (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# cdist is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					# GNU General Public License for more details.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					# along with cdist. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f "$__object/parameter/key" ]; then
 | 
				
			||||||
 | 
					   key="$(cat "$__object/parameter/key")"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					   echo "$__object_id" > "$__object/parameter/key"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								conf/type/__key_value/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf/type/__key_value/parameter/optional
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					key
 | 
				
			||||||
							
								
								
									
										3
									
								
								conf/type/__key_value/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								conf/type/__key_value/parameter/required
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					value
 | 
				
			||||||
 | 
					file
 | 
				
			||||||
 | 
					delimiter
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,9 @@
 | 
				
			||||||
 | 
					1.4.1: 2011-03-25
 | 
				
			||||||
 | 
						* New type __key_value (Steven Armstrong)
 | 
				
			||||||
 | 
						* New type __apt_ppa (Steven Armstrong)
 | 
				
			||||||
 | 
						* Documentation: Manpage generation cleanup
 | 
				
			||||||
 | 
						* Documentation: Manpage fix for __apt_ppa
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1.4.0: 2011-03-24
 | 
					1.4.0: 2011-03-24
 | 
				
			||||||
	* Add --recursive to __directory
 | 
						* Add --recursive to __directory
 | 
				
			||||||
	* Move cdist generated stuff to .cdist of an object
 | 
						* Move cdist generated stuff to .cdist of an object
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										19
									
								
								doc/dev/todo/TAKEME
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								doc/dev/todo/TAKEME
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					UNASSIGNED TODOS
 | 
				
			||||||
 | 
					----------------
 | 
				
			||||||
 | 
					The following list of todos has not been assigned to any developer.
 | 
				
			||||||
 | 
					Feel free to pick one!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CORE
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					Only build manpages if necessary for types as well as for the core!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TYPES
 | 
				
			||||||
 | 
					------
 | 
				
			||||||
 | 
					Types to be written/extended:
 | 
				
			||||||
 | 
					   - __ssh-keys (host/user)
 | 
				
			||||||
 | 
					   - Think about __service - necessary?
 | 
				
			||||||
 | 
					   - __file_edit
 | 
				
			||||||
 | 
					      - regexp replace (can probably cover all?)
 | 
				
			||||||
 | 
					         -> aka sed.
 | 
				
			||||||
 | 
					   - __cron
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,23 @@
 | 
				
			||||||
Document redefine behaviour
 | 
					Core:
 | 
				
			||||||
release cdist 1.4.0
 | 
					   - support $__self = relative_type/object_id
 | 
				
			||||||
   perhaps include __self
 | 
					   - cache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Cache:
 | 
				
			||||||
 | 
					   Assume you want to configure stuff one host ("monitor node"),
 | 
				
			||||||
 | 
					   depending on the configuration of other hosts ("cluster nodes").
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   For instance, the monitor host would like to know,
 | 
				
			||||||
 | 
					   which hosts are configured with the provider
 | 
				
			||||||
 | 
					   "apache" and option --start true.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This requires the monitor node to be able to
 | 
				
			||||||
 | 
					   query all other configured nodes. It can't
 | 
				
			||||||
 | 
					   ask for all hosts, because cdist does not
 | 
				
			||||||
 | 
					   know which hosts are configured or may exist.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Example implementation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If cdist keeps ("caches") the configuration of every
 | 
				
			||||||
 | 
					   node it configures, each new node can query the
 | 
				
			||||||
 | 
					   cache for existing nodes that acquired the given
 | 
				
			||||||
 | 
					   configuration.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,35 +0,0 @@
 | 
				
			||||||
Core:
 | 
					 | 
				
			||||||
   - allow redefine object, if everything same
 | 
					 | 
				
			||||||
   - support $__self = relative_type/object_id
 | 
					 | 
				
			||||||
   - .cdist
 | 
					 | 
				
			||||||
   - cache
 | 
					 | 
				
			||||||
   - display changes if object cannot be merged to user
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Cache:
 | 
					 | 
				
			||||||
   Assume you want to configure stuff one host ("monitor node"),
 | 
					 | 
				
			||||||
   depending on the configuration of other hosts ("cluster nodes").
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   For instance, the monitor host would like to know,
 | 
					 | 
				
			||||||
   which hosts are configured with the provider
 | 
					 | 
				
			||||||
   "apache" and option --start true.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   This requires the monitor node to be able to
 | 
					 | 
				
			||||||
   query all other configured nodes. It can't
 | 
					 | 
				
			||||||
   ask for all hosts, because cdist does not
 | 
					 | 
				
			||||||
   know which hosts are configured or may exist.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   Example implementation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   If cdist keeps ("caches") the configuration of every
 | 
					 | 
				
			||||||
   node it configures, each new node can query the
 | 
					 | 
				
			||||||
   cache for existing nodes that acquired the given
 | 
					 | 
				
			||||||
   configuration.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Types to be written/extended:
 | 
					 | 
				
			||||||
   - __ssh-keys (host/user)
 | 
					 | 
				
			||||||
   - __service
 | 
					 | 
				
			||||||
   - __file_edit
 | 
					 | 
				
			||||||
      - regexp replace (can probably cover all?)
 | 
					 | 
				
			||||||
         -> aka sed.
 | 
					 | 
				
			||||||
   - __cron
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ in csh variants (csh, tcsh):
 | 
				
			||||||
eval `./bin/cdist-env`
 | 
					eval `./bin/cdist-env`
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For bourne shell, the is also a shorter version:
 | 
					For bourne shell, there is also a shorter version:
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
. ./bin/cdist-env
 | 
					. ./bin/cdist-env
 | 
				
			||||||
--------------------------------------------------------------------------------
 | 
					--------------------------------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										73
									
								
								doc/man/cdist-hacker.text
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								doc/man/cdist-hacker.text
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,73 @@
 | 
				
			||||||
 | 
					cdist-hacker(7)
 | 
				
			||||||
 | 
					===============
 | 
				
			||||||
 | 
					Nico Schottelius <nico-cdist--@--schottelius.org>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					cdist-hacker - How to get (stuff) into cdist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WELCOME
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Welcome dear hacker! I invite you to a tour of pointers to
 | 
				
			||||||
 | 
					get into the usable configuration mangament system, cdist.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The first thing to know is probably that cdist is brought to
 | 
				
			||||||
 | 
					you by people who care about how code looks like and who think
 | 
				
			||||||
 | 
					twice before merging or implementing a feature: Less features
 | 
				
			||||||
 | 
					with good usability are far better than the opposite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					UNDERSTANDING CDIST INTERNALS
 | 
				
			||||||
 | 
					-----------------------------
 | 
				
			||||||
 | 
					IF you are interested in how cdist internally works, you can open
 | 
				
			||||||
 | 
					bin/cdist-config and bin/cdist-deploy-to in your favorite editor and
 | 
				
			||||||
 | 
					read the scripts bin/cdist-deploy-to calls. The magnificent HACKERS_README
 | 
				
			||||||
 | 
					may be of great help as well.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CODING CONVENTIONS (CORE)
 | 
				
			||||||
 | 
					-------------------------
 | 
				
			||||||
 | 
					- All variables exported by cdist are prefixed with a double underscore (__)
 | 
				
			||||||
 | 
					- All cdist-internal variables are prefixed with __cdist_ and are generally not exported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST
 | 
				
			||||||
 | 
					-----------------------------------------------------
 | 
				
			||||||
 | 
					If you did some cool changes to cdist, which you value as a benefit for
 | 
				
			||||||
 | 
					everybody using cdist, you're welcome to propose inclusion into upstream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There are though some requirements to ensure your changes don't break others
 | 
				
			||||||
 | 
					work nor kill the authors brain:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Code submission must be done via git
 | 
				
			||||||
 | 
					- Code to be included should be branched of the upstream "master" branch
 | 
				
			||||||
 | 
					   - Exception: Bugfixes to a version branch
 | 
				
			||||||
 | 
					- Code submissions must be in your master branch
 | 
				
			||||||
 | 
					   - Exception: If you only want a comment on your code, but not an inclusion.
 | 
				
			||||||
 | 
					- Do not add conf/manifest/init - This file should only be touched in your
 | 
				
			||||||
 | 
					  private branch!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As soon as your work meets these requirements, you can contact me
 | 
				
			||||||
 | 
					(IRC, Mailinglist, Phone, RFC 1149) and I'll check your code before
 | 
				
			||||||
 | 
					including it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HOW TO SUBMIT A NEW TYPE
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					Submitting a type works as described above, with the additional requirement
 | 
				
			||||||
 | 
					that a corresponding manpage named man.text in asciidoc format with
 | 
				
			||||||
 | 
					the manpage-name "cdist-type__NAME" is included in the type directory
 | 
				
			||||||
 | 
					AND asciidoc is able to compile it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SEE ALSO
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					- cdist(7)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPYING
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Copyright \(C) 2011 Nico Schottelius. Free use of this software is
 | 
				
			||||||
 | 
					granted under the terms of the GNU General Public License version 3 (GPLv3).
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,7 @@ SEE ALSO
 | 
				
			||||||
- Website: http://www.nico.schottelius.org/cdist/[]
 | 
					- Website: http://www.nico.schottelius.org/cdist/[]
 | 
				
			||||||
- cdist-best-practise(7)
 | 
					- cdist-best-practise(7)
 | 
				
			||||||
- cdist-deploy-to(1)
 | 
					- cdist-deploy-to(1)
 | 
				
			||||||
 | 
					- cdist-hacker(7)
 | 
				
			||||||
- cdist-manifest(7)
 | 
					- cdist-manifest(7)
 | 
				
			||||||
- cdist-quickstart(1)
 | 
					- cdist-quickstart(1)
 | 
				
			||||||
- cdist-type(7)
 | 
					- cdist-type(7)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue