From ecae4b93bf81b31ed5903e0aabcc1ae6abba2b03 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sun, 2 Apr 2017 20:04:03 +0200 Subject: Makefile new --- .gitignore | 2 +- Makefile | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ check-versions.conf | 6 ++++++ check-versions.in | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ checkVersions.in | 53 ------------------------------------------------- 5 files changed, 117 insertions(+), 54 deletions(-) create mode 100644 Makefile create mode 100644 check-versions.conf create mode 100644 check-versions.in delete mode 100755 checkVersions.in diff --git a/.gitignore b/.gitignore index 5b58b36..c8691da 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -checkVersions +check-versions diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d05369a --- /dev/null +++ b/Makefile @@ -0,0 +1,57 @@ +# +# check-versions - check versions of Erichs packages (arch, debian, crux) +# +# Copyright (c) 2017 Erich Eckner +# +# This program 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 2 of the License, or +# (at your option) any later version. +# +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# + +DESTDIR = +ETCDIR = /etc +BINDIR = /usr/bin + +VERSION = 0.0 + +all: check-versions + +%: %.in + sed " \ + s/#VERSION#/$(VERSION)/; \ + s@#BINDIR#@$(BINDIR)@; \ + s@#ETCDIR#@$(ETCDIR)@; \ + s@#HELPTEXT#\(\s\+\)#@ --help \1display this help and exit\n --version\1display version and exit@; \ + " $< > $@ + [ "$@" = "check-versions" ] && chmod +x "$@" || true + +.PHONY: install dist clean all + +install: all + install -D -m0755 check-versions $(DESTDIR)$(BINDIR)/check-versions + install -D -m0644 check-versions.conf $(DESTDIR)$(ETCDIR)/check-versions.conf + +clean: + ls -A | \ + grep "^\($(shell sed 's|\.|\\.|; s|\*|.*|; s|$$|\\|' .gitignore | tr '\n' '\|')\)\$$" | \ + xargs -r rm + +dist: clean + git status --porcelain 2> /dev/null | grep -q "\S" && (git add .; git commit -m"neue Version: $(VERSION)") || true + ! git tag -d v$(VERSION) 2> /dev/null + git tag v$(VERSION) + git push + git push --tags + +# End of file diff --git a/check-versions.conf b/check-versions.conf new file mode 100644 index 0000000..74fd8ed --- /dev/null +++ b/check-versions.conf @@ -0,0 +1,6 @@ + +declare -A cmds + +cmds['arch']='ssh nlopc43 eigeneSkripte/archPackages/checkVersions -f -j250' +cmds['crux']='/usr/src/ports/lastVersion.sh' +cmds['debian']='ssh router pakete/checkVersions -f' diff --git a/check-versions.in b/check-versions.in new file mode 100644 index 0000000..391bb88 --- /dev/null +++ b/check-versions.in @@ -0,0 +1,53 @@ +#!/bin/bash + +tmpDir="$(mktemp -d)" + +declare -A cmds +declare -A pIDs +declare -A running + +cmds['arch']='ssh nlopc43 eigeneSkripte/archPackages/checkVersions -f -j250' +cmds['crux']='/usr/src/ports/lastVersion.sh' +cmds['debian']='ssh router pakete/checkVersions -f' + +for dist in "${!cmds[@]}" +do + ( ( time ( ${cmds["${dist}"]} &> "${tmpDir}/${dist}" ) ) 2> "${tmpDir}/${dist}.time" || echo "err: $?" >> "${tmpDir}/${dist}" ) & + pIDs["${dist}"]=$! + running["${dist}"]=true +done + +set -o pipefail + +run=true + +while ${run} +do + sleep 1 + run=false + for dist in "${!pIDs[@]}" + do + if ! ps aux | \ + awk '{print $2}' | \ + grep -q "^${pIDs["${dist}"]}\$" + then + running["${dist}"]=false + if [ -s "${tmpDir}/${dist}" ] + then + sleep 1 + echo -n "${dist} (" + grep '^real' "${tmpDir}/${dist}.time" | \ + awk '{print $2"):"}' + cat "${tmpDir}/${dist}" + echo + fi + rm -f "${tmpDir}/${dist}" "${tmpDir}/${dist}.time" + fi + if ${running["${dist}"]} + then + run=true + fi + done +done + +rmdir "${tmpDir}" diff --git a/checkVersions.in b/checkVersions.in deleted file mode 100755 index 391bb88..0000000 --- a/checkVersions.in +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -tmpDir="$(mktemp -d)" - -declare -A cmds -declare -A pIDs -declare -A running - -cmds['arch']='ssh nlopc43 eigeneSkripte/archPackages/checkVersions -f -j250' -cmds['crux']='/usr/src/ports/lastVersion.sh' -cmds['debian']='ssh router pakete/checkVersions -f' - -for dist in "${!cmds[@]}" -do - ( ( time ( ${cmds["${dist}"]} &> "${tmpDir}/${dist}" ) ) 2> "${tmpDir}/${dist}.time" || echo "err: $?" >> "${tmpDir}/${dist}" ) & - pIDs["${dist}"]=$! - running["${dist}"]=true -done - -set -o pipefail - -run=true - -while ${run} -do - sleep 1 - run=false - for dist in "${!pIDs[@]}" - do - if ! ps aux | \ - awk '{print $2}' | \ - grep -q "^${pIDs["${dist}"]}\$" - then - running["${dist}"]=false - if [ -s "${tmpDir}/${dist}" ] - then - sleep 1 - echo -n "${dist} (" - grep '^real' "${tmpDir}/${dist}.time" | \ - awk '{print $2"):"}' - cat "${tmpDir}/${dist}" - echo - fi - rm -f "${tmpDir}/${dist}" "${tmpDir}/${dist}.time" - fi - if ${running["${dist}"]} - then - run=true - fi - done -done - -rmdir "${tmpDir}" -- cgit v1.2.3