forked from ungleich-public/cdist
		
	Re-arrange Makefile and build-helper script
Maintainers should use build-helper script. End users should use Makefile, which contains targets that can be run on pure source (without git repository).
This commit is contained in:
		
					parent
					
						
							
								d696a55879
							
						
					
				
			
			
				commit
				
					
						4f40c6ac65
					
				
			
		
					 7 changed files with 296 additions and 200 deletions
				
			
		
							
								
								
									
										2
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -4,3 +4,5 @@
 | 
				
			||||||
docs/speeches export-ignore
 | 
					docs/speeches export-ignore
 | 
				
			||||||
docs/video export-ignore
 | 
					docs/video export-ignore
 | 
				
			||||||
docs/src/man7 export-ignore
 | 
					docs/src/man7 export-ignore
 | 
				
			||||||
 | 
					bin/build-helper export-ignore
 | 
				
			||||||
 | 
					README-maintainers export-ignore
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										158
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										158
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -18,25 +18,27 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
helper=./bin/build-helper
 | 
					.PHONY: help
 | 
				
			||||||
 | 
					help:
 | 
				
			||||||
 | 
						@echo "Please use \`make <target>' where <target> is one of"
 | 
				
			||||||
 | 
						@echo "man             build only man user documentation"
 | 
				
			||||||
 | 
						@echo "html            build only html user documentation"
 | 
				
			||||||
 | 
						@echo "docs            build both man and html user documentation"
 | 
				
			||||||
 | 
						@echo "dotman          build man pages for types in your ~/.cdist directory"
 | 
				
			||||||
 | 
						@echo "speeches        build speeches pdf files"
 | 
				
			||||||
 | 
						@echo "install         install in the system site-packages directory"
 | 
				
			||||||
 | 
						@echo "install-user    install in the user site-packages directory"
 | 
				
			||||||
 | 
						@echo "docs-clean      clean documentation"
 | 
				
			||||||
 | 
						@echo "clean           clean"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DOCS_SRC_DIR=docs/src
 | 
					DOCS_SRC_DIR=docs/src
 | 
				
			||||||
SPEECHDIR=docs/speeches
 | 
					SPEECHDIR=docs/speeches
 | 
				
			||||||
TYPEDIR=cdist/conf/type
 | 
					TYPEDIR=cdist/conf/type
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CHANGELOG_VERSION=$(shell $(helper) changelog-version)
 | 
					 | 
				
			||||||
CHANGELOG_FILE=docs/changelog
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PYTHON_VERSION=cdist/version.py
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SPHINXM=make -C $(DOCS_SRC_DIR) man
 | 
					SPHINXM=make -C $(DOCS_SRC_DIR) man
 | 
				
			||||||
SPHINXH=make -C $(DOCS_SRC_DIR) html
 | 
					SPHINXH=make -C $(DOCS_SRC_DIR) html
 | 
				
			||||||
SPHINXC=make -C $(DOCS_SRC_DIR) clean
 | 
					SPHINXC=make -C $(DOCS_SRC_DIR) clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SHELLCHECKCMD=shellcheck -s sh -f gcc -x
 | 
					 | 
				
			||||||
# Skip SC2154 for variables starting with __ since such variables are cdist
 | 
					 | 
				
			||||||
# environment variables.
 | 
					 | 
				
			||||||
SHELLCHECK_SKIP=grep -v ': __.*is referenced but not assigned.*\[SC2154\]'
 | 
					 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Manpages
 | 
					# Manpages
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -61,11 +63,16 @@ DOCSREFSH=$(DOCS_SRC_DIR)/cdist-reference.rst.sh
 | 
				
			||||||
$(DOCSREF): $(DOCSREFSH)
 | 
					$(DOCSREF): $(DOCSREFSH)
 | 
				
			||||||
	$(DOCSREFSH)
 | 
						$(DOCSREFSH)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					version:
 | 
				
			||||||
 | 
						@[ -f "cdist/version.py" ] || { \
 | 
				
			||||||
 | 
							printf "Missing 'cdist/version.py', please generate it first.\n" && exit 1; \
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Manpages #3: generic part
 | 
					# Manpages #3: generic part
 | 
				
			||||||
man: $(MANTYPES) $(DOCSREF) $(PYTHON_VERSION)
 | 
					man: version $(MANTYPES) $(DOCSREF)
 | 
				
			||||||
	$(SPHINXM)
 | 
						$(SPHINXM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
html: $(MANTYPES) $(DOCSREF) $(PYTHON_VERSION)
 | 
					html: version $(MANTYPES) $(DOCSREF)
 | 
				
			||||||
	$(SPHINXH)
 | 
						$(SPHINXH)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
docs: man html
 | 
					docs: man html
 | 
				
			||||||
| 
						 | 
					@ -85,7 +92,7 @@ DOTMANTYPES=$(subst /man.rst,.rst,$(DOTMANTYPEPREFIX))
 | 
				
			||||||
$(DOTMAN7DSTDIR)/cdist-type%.rst: $(DOTTYPEDIR)/%/man.rst
 | 
					$(DOTMAN7DSTDIR)/cdist-type%.rst: $(DOTTYPEDIR)/%/man.rst
 | 
				
			||||||
	ln -sf "$^" $@
 | 
						ln -sf "$^" $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dotman: $(DOTMANTYPES)
 | 
					dotman: version $(DOTMANTYPES)
 | 
				
			||||||
	$(SPHINXM)
 | 
						$(SPHINXM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
| 
						 | 
					@ -103,132 +110,25 @@ $(SPEECHDIR)/%.pdf: $(SPEECHDIR)/%.tex
 | 
				
			||||||
speeches: $(SPEECHES)
 | 
					speeches: $(SPEECHES)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Release: Mailinglist
 | 
					# Misc
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
ML_FILE=.lock-ml
 | 
					clean: docs-clean
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Only send mail once - lock until new changelog things happened
 | 
					 | 
				
			||||||
$(ML_FILE): $(CHANGELOG_FILE)
 | 
					 | 
				
			||||||
	$(helper) ml-release $(CHANGELOG_VERSION)
 | 
					 | 
				
			||||||
	touch $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ml-release: $(ML_FILE)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# pypi
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
PYPI_FILE=.pypi-release
 | 
					 | 
				
			||||||
$(PYPI_FILE): man $(PYTHON_VERSION)
 | 
					 | 
				
			||||||
	python3 setup.py sdist upload
 | 
					 | 
				
			||||||
	touch $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pypi-release: $(PYPI_FILE)
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# archlinux
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
ARCHLINUX_FILE=.lock-archlinux
 | 
					 | 
				
			||||||
ARCHLINUXTAR=cdist-$(CHANGELOG_VERSION)-1.src.tar.gz
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$(ARCHLINUXTAR): PKGBUILD
 | 
					 | 
				
			||||||
	umask 022; mkaurball
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PKGBUILD: PKGBUILD.in $(PYTHON_VERSION)
 | 
					 | 
				
			||||||
	./PKGBUILD.in $(CHANGELOG_VERSION)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$(ARCHLINUX_FILE): $(ARCHLINUXTAR) $(PYTHON_VERSION)
 | 
					 | 
				
			||||||
	burp -c system $(ARCHLINUXTAR)
 | 
					 | 
				
			||||||
	touch $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
archlinux-release: $(ARCHLINUX_FILE)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# Release
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$(PYTHON_VERSION) version: .git/refs/heads/master
 | 
					 | 
				
			||||||
	$(helper) version
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Code that is better handled in a shell script
 | 
					 | 
				
			||||||
check-%:
 | 
					 | 
				
			||||||
	$(helper) $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
release:
 | 
					 | 
				
			||||||
	$(helper) $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
################################################################################
 | 
					 | 
				
			||||||
# Cleanup
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clean:
 | 
					 | 
				
			||||||
	rm -f $(DOCS_SRC_DIR)/cdist-reference.rst
 | 
						rm -f $(DOCS_SRC_DIR)/cdist-reference.rst
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	find "$(DOCS_SRC_DIR)" -mindepth 2 -type l \
 | 
						find "$(DOCS_SRC_DIR)" -mindepth 2 -type l \
 | 
				
			||||||
	| xargs rm -f
 | 
						| xargs rm -f
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	make -C $(DOCS_SRC_DIR) clean
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	find * -name __pycache__  | xargs rm -rf
 | 
						find * -name __pycache__  | xargs rm -rf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Archlinux
 | 
						# distutils
 | 
				
			||||||
	rm -f cdist-*.pkg.tar.xz cdist-*.tar.gz
 | 
						rm -rf ./build
 | 
				
			||||||
	rm -rf pkg/ src/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	rm -f MANIFEST PKGBUILD
 | 
					 | 
				
			||||||
	rm -rf dist/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	# Signed release
 | 
					 | 
				
			||||||
	rm -f cdist-*.tar.gz
 | 
					 | 
				
			||||||
	rm -f cdist-*.tar.gz.asc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	# Temp files
 | 
					 | 
				
			||||||
	rm -f *.tmp
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
distclean: clean
 | 
					 | 
				
			||||||
	rm -f cdist/version.py
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
################################################################################
 | 
					################################################################################
 | 
				
			||||||
# Misc
 | 
					# install
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The pub is Nico's "push to all git remotes" way ("make pub")
 | 
					install:
 | 
				
			||||||
pub:
 | 
						python3 setup.py install
 | 
				
			||||||
	git push --mirror
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
test:
 | 
					install-user:
 | 
				
			||||||
	$(helper) $@
 | 
						python3 setup.py install --user
 | 
				
			||||||
 | 
					 | 
				
			||||||
test-remote:
 | 
					 | 
				
			||||||
	$(helper) $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
pycodestyle pep8:
 | 
					 | 
				
			||||||
	$(helper) $@
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-global-explorers:
 | 
					 | 
				
			||||||
	@find cdist/conf/explorer -type f -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-type-explorers:
 | 
					 | 
				
			||||||
	@find cdist/conf/type -type f -path "*/explorer/*" -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-manifests:
 | 
					 | 
				
			||||||
	@find cdist/conf/type -type f -name manifest -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-local-gencodes:
 | 
					 | 
				
			||||||
	@find cdist/conf/type -type f -name gencode-local -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-remote-gencodes:
 | 
					 | 
				
			||||||
	@find cdist/conf/type -type f -name gencode-remote -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-scripts:
 | 
					 | 
				
			||||||
	@$(SHELLCHECKCMD) scripts/cdist-dump || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-gencodes: shellcheck-local-gencodes shellcheck-remote-gencodes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-types: shellcheck-type-explorers shellcheck-manifests shellcheck-gencodes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck: shellcheck-global-explorers shellcheck-types shellcheck-scripts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-type-files:
 | 
					 | 
				
			||||||
	@find cdist/conf/type -type f -path "*/files/*" -exec $(SHELLCHECKCMD) {} + | $(SHELLCHECK_SKIP) || exit 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
shellcheck-with-files: shellcheck shellcheck-type-files
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								README-maintainers
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								README-maintainers
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					Maintainers should use ./bin/build-helper script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Makefile is intended for end users. It can be used for non-maintaining
 | 
				
			||||||
 | 
					targets that can be run from pure source (without git repository).
 | 
				
			||||||
							
								
								
									
										311
									
								
								bin/build-helper
									
										
									
									
									
								
							
							
						
						
									
										311
									
								
								bin/build-helper
									
										
									
									
									
								
							| 
						 | 
					@ -22,47 +22,101 @@
 | 
				
			||||||
# This file contains the heavy lifting found usually in the Makefile.
 | 
					# This file contains the heavy lifting found usually in the Makefile.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# vars for make
 | 
					usage() {
 | 
				
			||||||
helper=$0
 | 
					    printf "usage: %s TARGET [RUN-AS]
 | 
				
			||||||
 | 
					    Available targets:
 | 
				
			||||||
 | 
					        print-runas
 | 
				
			||||||
 | 
					        changelog-changes
 | 
				
			||||||
 | 
					        changelog-version
 | 
				
			||||||
 | 
					        check-date
 | 
				
			||||||
 | 
					        check-unittest
 | 
				
			||||||
 | 
					        ml-release
 | 
				
			||||||
 | 
					        archlinux-release
 | 
				
			||||||
 | 
					        pypi-release
 | 
				
			||||||
 | 
					        release-git-tag
 | 
				
			||||||
 | 
					        sign-git-release
 | 
				
			||||||
 | 
					        release
 | 
				
			||||||
 | 
					        test
 | 
				
			||||||
 | 
					        test-remote
 | 
				
			||||||
 | 
					        pycodestyle
 | 
				
			||||||
 | 
					        pep8
 | 
				
			||||||
 | 
					        check-pycodestyle
 | 
				
			||||||
 | 
					        shellcheck-global-explorers
 | 
				
			||||||
 | 
					        shellcheck-type-explorers
 | 
				
			||||||
 | 
					        shellcheck-manifests
 | 
				
			||||||
 | 
					        shellcheck-local-gencodes
 | 
				
			||||||
 | 
					        shellcheck-remote-gencodes
 | 
				
			||||||
 | 
					        shellcheck-scripts
 | 
				
			||||||
 | 
					        shellcheck-gencodes
 | 
				
			||||||
 | 
					        shellcheck-types
 | 
				
			||||||
 | 
					        shellcheck
 | 
				
			||||||
 | 
					        shellcheck-type-files
 | 
				
			||||||
 | 
					        shellcheck-with-files
 | 
				
			||||||
 | 
					        shellcheck-build-helper
 | 
				
			||||||
 | 
					        check-shellcheck
 | 
				
			||||||
 | 
					        version-branch
 | 
				
			||||||
 | 
					        version
 | 
				
			||||||
 | 
					        target-version
 | 
				
			||||||
 | 
					        clean
 | 
				
			||||||
 | 
					        distclean
 | 
				
			||||||
 | 
					    Run as:
 | 
				
			||||||
 | 
					        nico
 | 
				
			||||||
 | 
					        darko - default, if not specified\n" "$1"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
basedir=${0%/*}/../
 | 
					basename="${0##*/}"
 | 
				
			||||||
# run_as is used to check how the script is called (by $0 value)
 | 
					
 | 
				
			||||||
# currently supported sufixes for $0 are:
 | 
					if [ $# -lt 1 ]
 | 
				
			||||||
# .darko - run as darko
 | 
					then
 | 
				
			||||||
basename=${0##*/}
 | 
					    usage "${basename}"
 | 
				
			||||||
run_as=${basename#*.}
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					option=$1; shift
 | 
				
			||||||
 | 
					if [ $# -ge 1 ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    run_as="$1"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    run_as="darko"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
to_a=cdist-configuration-management
 | 
					 | 
				
			||||||
to_d=googlegroups.com
 | 
					 | 
				
			||||||
case "$run_as" in
 | 
					case "$run_as" in
 | 
				
			||||||
    darko)
 | 
					    nico)
 | 
				
			||||||
 | 
					        from_a=nico.schottelius
 | 
				
			||||||
 | 
					        from_d=ungleich.ch
 | 
				
			||||||
 | 
					        ml_name="Nico Schottelius"
 | 
				
			||||||
 | 
					        ml_sig_name="Nico"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					    darko|'')
 | 
				
			||||||
        from_a=darko.poljak
 | 
					        from_a=darko.poljak
 | 
				
			||||||
        from_d=gmail.com
 | 
					        from_d=gmail.com
 | 
				
			||||||
        ml_name="Darko Poljak"
 | 
					        ml_name="Darko Poljak"
 | 
				
			||||||
        ml_sig_name="Darko"
 | 
					        ml_sig_name="Darko"
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
    *)
 | 
					    *)
 | 
				
			||||||
        from_a=nico.schottelius
 | 
					        printf "Unsupported RUN-AS value: '%s'.\n" "${run_as}" >&2
 | 
				
			||||||
        from_d=ungleich.ch
 | 
					        usage "${basename}"
 | 
				
			||||||
        ml_name="Nico Schottelius"
 | 
					        exit 1
 | 
				
			||||||
        ml_sig_name="Nico"
 | 
					 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SHELLCHECKCMD="shellcheck -s sh -f gcc -x"
 | 
				
			||||||
 | 
					# Skip SC2154 for variables starting with __ since such variables are cdist
 | 
				
			||||||
 | 
					# environment variables.
 | 
				
			||||||
 | 
					SHELLCHECK_SKIP=': __.*is referenced but not assigned.*\[SC2154\]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					to_a="cdist-configuration-management"
 | 
				
			||||||
 | 
					to_d="googlegroups.com"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Change to checkout directory
 | 
					# Change to checkout directory
 | 
				
			||||||
 | 
					basedir="${0%/*}/../"
 | 
				
			||||||
cd "$basedir"
 | 
					cd "$basedir"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
version=$(git describe)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
option=$1; shift
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
case "$option" in
 | 
					case "$option" in
 | 
				
			||||||
    print-make-vars)
 | 
					 | 
				
			||||||
        printf "helper: ${helper}\n"
 | 
					 | 
				
			||||||
    ;;
 | 
					 | 
				
			||||||
    print-runas)
 | 
					    print-runas)
 | 
				
			||||||
        printf "run_as: $run_as\n"
 | 
					        printf "run_as: '%s'\n" "$run_as"
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    changelog-changes)
 | 
					    changelog-changes)
 | 
				
			||||||
        if [ "$#" -eq 1 ]; then
 | 
					        if [ "$#" -eq 1 ]; then
 | 
				
			||||||
            start=$1
 | 
					            start=$1
 | 
				
			||||||
| 
						 | 
					@ -99,8 +153,8 @@ case "$option" in
 | 
				
			||||||
        date_changelog=$(grep '^[[:digit:]]' "$basedir/docs/changelog" | head -n1 | sed 's/.*: //')
 | 
					        date_changelog=$(grep '^[[:digit:]]' "$basedir/docs/changelog" | head -n1 | sed 's/.*: //')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [ "$date_today" != "$date_changelog" ]; then
 | 
					        if [ "$date_today" != "$date_changelog" ]; then
 | 
				
			||||||
            echo "Date in changelog is not today"
 | 
					            printf "Date in changelog is not today\n"
 | 
				
			||||||
            echo "Changelog: $date_changelog"
 | 
					            printf "Changelog date: %s\n" "${date_changelog}"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
| 
						 | 
					@ -111,10 +165,15 @@ case "$option" in
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ml-release)
 | 
					    ml-release)
 | 
				
			||||||
        if [ $# -ne 1 ]; then
 | 
					        if [ $# -ne 1 ]; then
 | 
				
			||||||
            echo "$0 ml-release version" >&2
 | 
					            printf "%s ml-release version\n" "$0" >&2
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Send mail only once - lock until new changelog things happened.
 | 
				
			||||||
 | 
					        [ ! -f .lock-ml ] && touch .lock-ml
 | 
				
			||||||
 | 
					        x=$(find 'docs' -name changelog -type f -newer .lock-ml)
 | 
				
			||||||
 | 
					        [ -z "${x}" ] && exit 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        version=$1; shift
 | 
					        version=$1; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        to=${to_a}@${to_d}
 | 
					        to=${to_a}@${to_d}
 | 
				
			||||||
| 
						 | 
					@ -143,20 +202,45 @@ Automatisation at its best level. With cdist.
 | 
				
			||||||
eof
 | 
					eof
 | 
				
			||||||
        ) > mailinglist.tmp
 | 
					        ) > mailinglist.tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [ "$run_as" = "build-helper" ]
 | 
					        if [ "$run_as" = "nico" ]
 | 
				
			||||||
        then
 | 
					        then
 | 
				
			||||||
            /usr/sbin/sendmail -f "$from" "$to" < mailinglist.tmp && rm -f mailinglist.tmp
 | 
					            /usr/sbin/sendmail -f "$from" "$to" < mailinglist.tmp && rm -f mailinglist.tmp
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        touch .lock-ml
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    archlinux-release)
 | 
				
			||||||
 | 
					        if [ $# -ne 1 ]; then
 | 
				
			||||||
 | 
					            printf "%s archlinux-release version\n" "$0" >&2
 | 
				
			||||||
 | 
					            exit 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        version=$1; shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ARCHLINUXTAR="cdist-${version}-1.src.tar.gz"
 | 
				
			||||||
 | 
					        ./PKGBUILD.in "${version}"
 | 
				
			||||||
 | 
					        umask 022
 | 
				
			||||||
 | 
					        mkaurball
 | 
				
			||||||
 | 
					        burp -c system "${ARCHLINUXTAR}"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pypi-release)
 | 
				
			||||||
 | 
					        # Ensure that pypi release has the right version
 | 
				
			||||||
 | 
					        "$0" version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        make docs-clean
 | 
				
			||||||
 | 
					        make docs
 | 
				
			||||||
 | 
					        python3 setup.py sdist upload
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    release-git-tag)
 | 
					    release-git-tag)
 | 
				
			||||||
        target_version=$($0 changelog-version)
 | 
					        target_version=$($0 changelog-version)
 | 
				
			||||||
        if git rev-parse --verify refs/tags/$target_version 2>/dev/null; then
 | 
					        if git rev-parse --verify "refs/tags/${target_version}" 2>/dev/null; then
 | 
				
			||||||
            echo "Tag for $target_version exists, aborting"
 | 
					            printf "Tag for %s exists, aborting\n" "${target_version}"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        printf "Enter tag description for ${target_version}: "
 | 
					        printf "Enter tag description for %s: " "${target_version}"
 | 
				
			||||||
        read tagmessage
 | 
					        read -r tagmessage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # setup for signed tags:
 | 
					        # setup for signed tags:
 | 
				
			||||||
        # gpg --fulL-gen-key
 | 
					        # gpg --fulL-gen-key
 | 
				
			||||||
| 
						 | 
					@ -174,7 +258,8 @@ eof
 | 
				
			||||||
        # gpg --verify <asc-file> <file>
 | 
					        # gpg --verify <asc-file> <file>
 | 
				
			||||||
        # gpg --no-default-keyring --keyring <pubkey.gpg> --verify <asc-file> <file>
 | 
					        # gpg --no-default-keyring --keyring <pubkey.gpg> --verify <asc-file> <file>
 | 
				
			||||||
        # Ensure gpg-agent is running.
 | 
					        # Ensure gpg-agent is running.
 | 
				
			||||||
        export GPG_TTY=$(tty)
 | 
					        GPG_TTY=$(tty)
 | 
				
			||||||
 | 
					        export GPG_TTY
 | 
				
			||||||
        gpg-agent
 | 
					        gpg-agent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        git tag -s "$target_version" -m "$tagmessage"
 | 
					        git tag -s "$target_version" -m "$tagmessage"
 | 
				
			||||||
| 
						 | 
					@ -184,14 +269,14 @@ eof
 | 
				
			||||||
    sign-git-release)
 | 
					    sign-git-release)
 | 
				
			||||||
        if [ $# -lt 2 ]
 | 
					        if [ $# -lt 2 ]
 | 
				
			||||||
        then
 | 
					        then
 | 
				
			||||||
            printf "usage: $0 sign-git-release TAG TOKEN [ARCHIVE]\n"
 | 
					            printf "usage: %s sign-git-release TAG TOKEN [ARCHIVE]\n" "$0"
 | 
				
			||||||
            printf "    if ARCHIVE is not specified then it is created\n"
 | 
					            printf "    if ARCHIVE is not specified then it is created\n"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        tag="$1"
 | 
					        tag="$1"
 | 
				
			||||||
        if ! git rev-parse -q --verify "${tag}" >/dev/null 2>&1
 | 
					        if ! git rev-parse -q --verify "${tag}" >/dev/null 2>&1
 | 
				
			||||||
        then
 | 
					        then
 | 
				
			||||||
            printf "Tag \"${tag}\" not found.\n"
 | 
					            printf "Tag \"%s\" not found.\n" "${tag}"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        token="$2"
 | 
					        token="$2"
 | 
				
			||||||
| 
						 | 
					@ -257,30 +342,30 @@ eof
 | 
				
			||||||
        target_version=$($0 changelog-version)
 | 
					        target_version=$($0 changelog-version)
 | 
				
			||||||
        target_branch=$($0 version-branch)
 | 
					        target_branch=$($0 version-branch)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        echo "Beginning release process for $target_version"
 | 
					        printf "Beginning release process for %s\n" "${target_version}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # First check everything is sane
 | 
					        # First check everything is sane
 | 
				
			||||||
        "$0" check-date
 | 
					        "$0" check-date
 | 
				
			||||||
        "$0" check-unittest
 | 
					        "$0" check-unittest
 | 
				
			||||||
        "$0" check-pycodestyle
 | 
					        "$0" check-pycodestyle
 | 
				
			||||||
        "$0" shellcheck
 | 
					        "$0" check-shellcheck
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Generate version file to be included in packaging
 | 
					        # Generate version file to be included in packaging
 | 
				
			||||||
        "$0" target-version
 | 
					        "$0" target-version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Ensure the git status is clean, else abort
 | 
					        # Ensure the git status is clean, else abort
 | 
				
			||||||
        if ! git diff-index --name-only --exit-code HEAD ; then
 | 
					        if ! git diff-index --name-only --exit-code HEAD ; then
 | 
				
			||||||
            echo "Unclean tree, see files above, aborting"
 | 
					            printf "Unclean tree, see files above, aborting.\n"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Ensure we are on the master branch
 | 
					        # Ensure we are on the master branch
 | 
				
			||||||
        masterbranch=yes
 | 
					        masterbranch=yes
 | 
				
			||||||
        if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then
 | 
					        if [ "$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then
 | 
				
			||||||
            echo "Releases are happening from the master branch, aborting"
 | 
					            printf "Releases are happening from the master branch, aborting.\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            echo "Enter the magic word to release anyway"
 | 
					            printf "Enter the magic word to release anyway:"
 | 
				
			||||||
            read magicword
 | 
					            read -r magicword
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if [ "$magicword" = "iknowwhatido" ]; then
 | 
					            if [ "$magicword" = "iknowwhatido" ]; then
 | 
				
			||||||
                masterbranch=no
 | 
					                masterbranch=no
 | 
				
			||||||
| 
						 | 
					@ -291,7 +376,7 @@ eof
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [ "$masterbranch" = yes ]; then
 | 
					        if [ "$masterbranch" = yes ]; then
 | 
				
			||||||
            # Ensure version branch exists
 | 
					            # Ensure version branch exists
 | 
				
			||||||
            if ! git rev-parse --verify refs/heads/$target_branch 2>/dev/null; then
 | 
					            if ! git rev-parse --verify "refs/heads/${target_branch}" 2>/dev/null; then
 | 
				
			||||||
                git branch "$target_branch"
 | 
					                git branch "$target_branch"
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -306,8 +391,8 @@ eof
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Generate documentation (man and html)
 | 
					        # Generate documentation (man and html)
 | 
				
			||||||
        # First, clean old generated docs
 | 
					        # First, clean old generated docs
 | 
				
			||||||
        make helper=${helper} docs-clean
 | 
					        make docs-clean
 | 
				
			||||||
        make helper=${helper} docs
 | 
					        make docs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ############################################################# 
 | 
					        ############################################################# 
 | 
				
			||||||
        # Everything green, let's do the release
 | 
					        # Everything green, let's do the release
 | 
				
			||||||
| 
						 | 
					@ -322,35 +407,33 @@ eof
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Publish git changes
 | 
					        # Publish git changes
 | 
				
			||||||
        if [ "$run_as" = "build-helper" ]
 | 
					        # if you want to have mirror locally then uncomment this support
 | 
				
			||||||
        then
 | 
					        # if [ "$run_as" = "nico" ]
 | 
				
			||||||
            make helper=${helper} pub
 | 
					        # then
 | 
				
			||||||
        else
 | 
					        #     git push --mirror
 | 
				
			||||||
 | 
					        # else
 | 
				
			||||||
            # if we are not Nico :) then just push, no mirror
 | 
					            # if we are not Nico :) then just push, no mirror
 | 
				
			||||||
            git push
 | 
					            git push
 | 
				
			||||||
            # push also new branch and set up tracking
 | 
					            # push also new branch and set up tracking
 | 
				
			||||||
            git push -u origin "${target_branch}"
 | 
					            git push -u origin "${target_branch}"
 | 
				
			||||||
        fi
 | 
					        # fi
 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Ensure that pypi release has the right version
 | 
					 | 
				
			||||||
        "$0" version
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Create and publish package for pypi
 | 
					        # Create and publish package for pypi
 | 
				
			||||||
        make helper=${helper} pypi-release
 | 
					        "$0" pypi-release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [ "$run_as" = "build-helper" ]
 | 
					        if [ "$run_as" = "nico" ]
 | 
				
			||||||
        then
 | 
					        then
 | 
				
			||||||
            # Archlinux release is based on pypi
 | 
					            # Archlinux release is based on pypi
 | 
				
			||||||
            make helper=${helper} archlinux-release
 | 
					            "$0" archlinux-release
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # sign git tag
 | 
					        # sign git tag
 | 
				
			||||||
        printf "Enter upstream repository authentication token: "
 | 
					        printf "Enter upstream repository authentication token: "
 | 
				
			||||||
        read token
 | 
					        read -r token
 | 
				
			||||||
        "$0" sign-git-release "${target_version}" "${token}"
 | 
					        "$0" sign-git-release "${target_version}" "${token}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Announce change on ML
 | 
					        # Announce change on ML
 | 
				
			||||||
        make helper=${helper} ml-release
 | 
					        "$0" ml-release "${target_version}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        cat << eof
 | 
					        cat << eof
 | 
				
			||||||
Manual steps post release:
 | 
					Manual steps post release:
 | 
				
			||||||
| 
						 | 
					@ -360,7 +443,14 @@ eof
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    test)
 | 
					    test)
 | 
				
			||||||
        export PYTHONPATH="$(pwd -P)"
 | 
					        if [ ! -f "cdist/version.py" ]
 | 
				
			||||||
 | 
					        then
 | 
				
			||||||
 | 
					            printf "cdist/version.py is missing, generate it first.\n"
 | 
				
			||||||
 | 
					            exit 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        PYTHONPATH="$(pwd -P)"
 | 
				
			||||||
 | 
					        export PYTHONPATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if [ $# -lt 1 ]; then
 | 
					        if [ $# -lt 1 ]; then
 | 
				
			||||||
            python3 -m cdist.test
 | 
					            python3 -m cdist.test
 | 
				
			||||||
| 
						 | 
					@ -370,7 +460,15 @@ eof
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    test-remote)
 | 
					    test-remote)
 | 
				
			||||||
        export PYTHONPATH="$(pwd -P)"
 | 
					        if [ ! -f "cdist/version.py" ]
 | 
				
			||||||
 | 
					        then
 | 
				
			||||||
 | 
					            printf "cdist/version.py is missing, generate it first.\n"
 | 
				
			||||||
 | 
					            exit 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        PYTHONPATH="$(pwd -P)"
 | 
				
			||||||
 | 
					        export PYTHONPATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        python3 -m cdist.test.exec.remote
 | 
					        python3 -m cdist.test.exec.remote
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -383,9 +481,9 @@ eof
 | 
				
			||||||
        printf "\\nPlease review pycodestyle report.\\n"
 | 
					        printf "\\nPlease review pycodestyle report.\\n"
 | 
				
			||||||
        while true
 | 
					        while true
 | 
				
			||||||
        do
 | 
					        do
 | 
				
			||||||
            echo "Continue (yes/no)?"
 | 
					            printf "Continue (yes/no)?\n"
 | 
				
			||||||
            any=
 | 
					            any=
 | 
				
			||||||
            read any
 | 
					            read -r any
 | 
				
			||||||
            case "$any" in
 | 
					            case "$any" in
 | 
				
			||||||
                yes)
 | 
					                yes)
 | 
				
			||||||
                    break
 | 
					                    break
 | 
				
			||||||
| 
						 | 
					@ -394,20 +492,74 @@ eof
 | 
				
			||||||
                    exit 1
 | 
					                    exit 1
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
                *)
 | 
					                *)
 | 
				
			||||||
                    echo "Please answer with 'yes' or 'no' explicitly."
 | 
					                    printf "Please answer with 'yes' or 'no' explicitly.\n"
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-global-explorers)
 | 
				
			||||||
 | 
					        find cdist/conf/explorer -type f -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-type-explorers)
 | 
				
			||||||
 | 
					        find cdist/conf/type -type f -path "*/explorer/*" -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-manifests)
 | 
				
			||||||
 | 
					        find cdist/conf/type -type f -name manifest -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-local-gencodes)
 | 
				
			||||||
 | 
					        find cdist/conf/type -type f -name gencode-local -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-remote-gencodes)
 | 
				
			||||||
 | 
					        find cdist/conf/type -type f -name gencode-remote -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-scripts)
 | 
				
			||||||
 | 
					        ${SHELLCHECKCMD} scripts/cdist-dump || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-gencodes)
 | 
				
			||||||
 | 
					        "$0" shellcheck-local-gencodes
 | 
				
			||||||
 | 
					        "$0" shellcheck-remote-gencodes
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-types)
 | 
				
			||||||
 | 
					        "$0" shellcheck-type-explorers
 | 
				
			||||||
 | 
					        "$0" shellcheck-manifests
 | 
				
			||||||
 | 
					        "$0" shellcheck-gencodes
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    shellcheck)
 | 
					    shellcheck)
 | 
				
			||||||
        make helper=${helper} shellcheck
 | 
					        "$0" shellcheck-global-explorers
 | 
				
			||||||
 | 
					        "$0" shellcheck-types
 | 
				
			||||||
 | 
					        "$0" shellcheck-scripts
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-type-files)
 | 
				
			||||||
 | 
					        find cdist/conf/type -type f -path "*/files/*" -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" || exit 0
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-with-files)
 | 
				
			||||||
 | 
					        "$0" shellcheck
 | 
				
			||||||
 | 
					        "$0" shellcheck-type-files
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    shellcheck-build-helper)
 | 
				
			||||||
 | 
					        ${SHELLCHECKCMD} ./bin/build-helper
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    check-shellcheck)
 | 
				
			||||||
 | 
					        "$0" shellcheck
 | 
				
			||||||
        printf "\\nPlease review shellcheck report.\\n"
 | 
					        printf "\\nPlease review shellcheck report.\\n"
 | 
				
			||||||
        while true
 | 
					        while true
 | 
				
			||||||
        do
 | 
					        do
 | 
				
			||||||
            echo "Continue (yes/no)?"
 | 
					            printf "Continue (yes/no)?\n"
 | 
				
			||||||
            any=
 | 
					            any=
 | 
				
			||||||
            read any
 | 
					            read -r any
 | 
				
			||||||
            case "$any" in
 | 
					            case "$any" in
 | 
				
			||||||
                yes)
 | 
					                yes)
 | 
				
			||||||
                    break
 | 
					                    break
 | 
				
			||||||
| 
						 | 
					@ -416,7 +568,7 @@ eof
 | 
				
			||||||
                    exit 1
 | 
					                    exit 1
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
                *)
 | 
					                *)
 | 
				
			||||||
                    echo "Please answer with 'yes' or 'no' explicitly."
 | 
					                    printf "Please answer with 'yes' or 'no' explicitly.\n"
 | 
				
			||||||
                ;;
 | 
					                ;;
 | 
				
			||||||
        esac
 | 
					        esac
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
| 
						 | 
					@ -427,16 +579,39 @@ eof
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    version)
 | 
					    version)
 | 
				
			||||||
        echo "VERSION = \"$(git describe)\"" > cdist/version.py
 | 
					        printf "VERSION = \"%s\"\n" "$(git describe)" > cdist/version.py
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    target-version)
 | 
					    target-version)
 | 
				
			||||||
        target_version=$($0 changelog-version)
 | 
					        target_version=$($0 changelog-version)
 | 
				
			||||||
        echo "VERSION = \"${target_version}\"" > cdist/version.py
 | 
					        printf "VERSION = \"%s\"\n" "${target_version}" > cdist/version.py
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    clean)
 | 
				
			||||||
 | 
					        make clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Archlinux
 | 
				
			||||||
 | 
					        rm -f cdist-*.pkg.tar.xz cdist-*.tar.gz
 | 
				
			||||||
 | 
					        rm -rf pkg/ src/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        rm -f MANIFEST PKGBUILD
 | 
				
			||||||
 | 
					        rm -rf dist/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Signed release
 | 
				
			||||||
 | 
					        rm -f cdist-*.tar.gz
 | 
				
			||||||
 | 
					        rm -f cdist-*.tar.gz.asc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Temp files
 | 
				
			||||||
 | 
					        rm -f ./*.tmp
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    distclean)
 | 
				
			||||||
 | 
					        "$0" clean
 | 
				
			||||||
 | 
					        rm -f cdist/version.py
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
    *)
 | 
					    *)
 | 
				
			||||||
        echo "Unknown helper target $@ - aborting"
 | 
					        printf "Unknown target: '%s'.\n" "${option}" >&2
 | 
				
			||||||
 | 
					        usage "${basename}"
 | 
				
			||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
build-helper
 | 
					 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@ Changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
next:
 | 
					next:
 | 
				
			||||||
	* Documentation: Add 'Perils of CDIST_ORDER_DEPENDENCY' sub-section (Darko Poljak)
 | 
						* Documentation: Add 'Perils of CDIST_ORDER_DEPENDENCY' sub-section (Darko Poljak)
 | 
				
			||||||
 | 
						* Build: Clean and separate end user targets into Makefile and maintainer targets into build-helper (Darko Poljak)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
5.0.0: 2019-05-05
 | 
					5.0.0: 2019-05-05
 | 
				
			||||||
	* Type __zypper_service: Fix spelling error in manpage (Dmitry Bogatov)
 | 
						* Type __zypper_service: Fix spelling error in manpage (Dmitry Bogatov)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,14 +48,29 @@ create version.py:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code-block:: sh
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    make version
 | 
					    ./bin/build-helper version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then, as usual, you execute the following command:
 | 
					Then you install it with:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   make install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					or with:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   make install-user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					to install it into user *site-packages* directory.
 | 
				
			||||||
 | 
					Or directly with distutils:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.. code-block:: sh
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    python setup.py install
 | 
					    python setup.py install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note that `bin/build-helper` script is intended for cdist maintainers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Available versions in git
 | 
					Available versions in git
 | 
				
			||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^^^^^^^^^^^^
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue