Add Makefile
diff --git "a/\173\173cookiecutter.project_name\175\175/Makefile" "b/\173\173cookiecutter.project_name\175\175/Makefile"
new file mode 100644
index 0000000..fc83783
--- /dev/null
+++ "b/\173\173cookiecutter.project_name\175\175/Makefile"
@@ -0,0 +1,26 @@
+DESTDIR=/
+SALTENVDIR=/usr/share/salt-formulas/env
+RECLASSDIR=/usr/share/salt-formulas/reclass
+FORMULANAME=$(shell grep name: metadata.yml|head -1|cut -d : -f 2|grep -Eo '[a-z0-9\-]*')
+
+all:
+ @echo "make install - Install into DESTDIR"
+ @echo "make test - Run tests"
+ @echo "make clean - Cleanup after tests run"
+
+install:
+ # Formula
+ [ -d $(DESTDIR)/$(SALTENVDIR) ] || mkdir -p $(DESTDIR)/$(SALTENVDIR)
+ cp -a $(FORMULANAME) $(DESTDIR)/$(SALTENVDIR)/
+ [ ! -d _modules ] || cp -a _modules $(DESTDIR)/$(SALTENVDIR)/
+ [ ! -d _states ] || cp -a _states $(DESTDIR)/$(SALTENVDIR)/ || true
+ # Metadata
+ [ -d $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME) ] || mkdir -p $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME)
+ cp -a metadata/service/* $(DESTDIR)/$(RECLASSDIR)/service/$(FORMULANAME)
+
+test:
+ [ ! -d tests ] || (cd tests; ./run_tests.sh)
+
+clean:
+ [ ! -d tests/build ] || rm -rf tests/build
+ [ ! -d build ] || rm -rf build
diff --git "a/\173\173cookiecutter.project_name\175\175/debian/control" "b/\173\173cookiecutter.project_name\175\175/debian/control"
index d6a4936..73e5156 100644
--- "a/\173\173cookiecutter.project_name\175\175/debian/control"
+++ "b/\173\173cookiecutter.project_name\175\175/debian/control"
@@ -2,7 +2,7 @@
Maintainer: {{cookiecutter.author_contact}}
Section: admin
Priority: optional
-Build-Depends: debhelper (>= 9)
+Build-Depends: debhelper (>= 9), salt-master, python, python-yaml
Standards-Version: 3.9.6
Homepage: http://www.tcpcloud.eu
Vcs-Browser: https://github.com/tcpcloud/salt-formula-{{cookiecutter.service_name}}
diff --git "a/\173\173cookiecutter.project_name\175\175/debian/install" "b/\173\173cookiecutter.project_name\175\175/debian/install"
deleted file mode 100644
index e2ef556..0000000
--- "a/\173\173cookiecutter.project_name\175\175/debian/install"
+++ /dev/null
@@ -1,6 +0,0 @@
-{{cookiecutter.service_name}}/* /usr/share/salt-formulas/env/{{cookiecutter.service_name}}/
-metadata/service/* /usr/share/salt-formulas/reclass/service/{{cookiecutter.service_name}}/
-# Not all salt formulas has custom states and modules,
-# uncomment to install them
-# _modules/* /usr/share/salt-formulas/env/_modules/
-# _states/* /usr/share/salt-formulas/env/_states/
diff --git "a/\173\173cookiecutter.project_name\175\175/tests/run_tests.sh" "b/\173\173cookiecutter.project_name\175\175/tests/run_tests.sh"
index 1f1316f..09ebcc2 100755
--- "a/\173\173cookiecutter.project_name\175\175/tests/run_tests.sh"
+++ "b/\173\173cookiecutter.project_name\175\175/tests/run_tests.sh"
@@ -69,6 +69,7 @@
base:
- ${SALT_FILE_DIR}
- ${CURDIR}/..
+ - /usr/share/salt-formulas/env
pillar_roots:
base:
@@ -78,16 +79,17 @@
}
fetch_dependency() {
- dep_root="${DEPSDIR}/$(basename $1 .git)"
+ dep_name="$(echo $1|cut -d : -f 1)"
+ dep_source="$(echo $1|cut -d : -f 2)"
+ dep_root="${DEPSDIR}/$(basename $dep_source .git)"
dep_metadata="${dep_root}/metadata.yml"
- [ -d $dep_root ] && log_info "Dependency $1 already fetched" && return 0
+ [ -d /usr/share/salt-formulas/env/${dep_name} ] && log_info "Dependency $dep_name already present in system-wide salt env" && return 0
+ [ -d $dep_root ] && log_info "Dependency $dep_name already fetched" && return 0
- log_info "Fetching dependency $1"
+ log_info "Fetching dependency $dep_name"
[ ! -d ${DEPSDIR} ] && mkdir -p ${DEPSDIR}
- git clone $1 ${DEPSDIR}/$(basename $1 .git)
-
- dep_name=$(cat $dep_metadata | python -c "import sys,yaml; print yaml.load(sys.stdin)['name']")
+ git clone $dep_source ${DEPSDIR}/$(basename $dep_source .git)
ln -s ${dep_root}/${dep_name} ${SALT_FILE_DIR}/${dep_name}
METADATA="${dep_metadata}" install_dependencies
@@ -98,7 +100,7 @@
(python - | while read dep; do fetch_dependency "$dep"; done) << EOF
import sys,yaml
for dep in yaml.load(open('${METADATA}', 'ro'))['dependencies']:
- print dep["source"]
+ print '%s:%s' % (dep["name"], dep["source"])
EOF
}
@@ -108,14 +110,14 @@
}
salt_run() {
- source ${VENV_DIR}/bin/activate
+ [ -e ${VEN_DIR}/bin/activate ] && source ${VENV_DIR}/bin/activate
salt-call ${SALT_OPTS} $*
}
prepare() {
[ -d ${BUILDDIR} ] && mkdir -p ${BUILDDIR}
- setup_virtualenv
+ which salt-call || setup_virtualenv
setup_pillar
setup_salt
install_dependencies