From d6ce6e623a50d6ca744579887d7030754a8fcc81 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Thu, 20 Sep 2012 17:48:54 +0200 Subject: [PATCH 1/4] +old bug Signed-off-by: Nico Schottelius --- doc/dev/logs/2012-06-15.explorer-dep-problem | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 doc/dev/logs/2012-06-15.explorer-dep-problem diff --git a/doc/dev/logs/2012-06-15.explorer-dep-problem b/doc/dev/logs/2012-06-15.explorer-dep-problem new file mode 100644 index 00000000..30803032 --- /dev/null +++ b/doc/dev/logs/2012-06-15.explorer-dep-problem @@ -0,0 +1,4 @@ +Known bug rediscovered: + Explorer for __start_on_boot mysql runs before __package mysql was finished. + +Requires two runs to actually finish the task. From 1e765d7e777cbdcd73b10f518a8cc302e3bf1b83 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 21 Sep 2012 10:43:11 +0200 Subject: [PATCH 2/4] remove parameter changing manifest Signed-off-by: Nico Schottelius --- .../__directory/explorer/{exists => state} | 0 conf/type/__directory/manifest | 23 ------------------- 2 files changed, 23 deletions(-) rename conf/type/__directory/explorer/{exists => state} (100%) delete mode 100755 conf/type/__directory/manifest diff --git a/conf/type/__directory/explorer/exists b/conf/type/__directory/explorer/state similarity index 100% rename from conf/type/__directory/explorer/exists rename to conf/type/__directory/explorer/state diff --git a/conf/type/__directory/manifest b/conf/type/__directory/manifest deleted file mode 100755 index a8ee5a6f..00000000 --- a/conf/type/__directory/manifest +++ /dev/null @@ -1,23 +0,0 @@ -#!/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 . -# - -# set defaults -state="$(cat "$__object/parameter/state" 2>/dev/null \ - || echo "present" | tee "$__object/parameter/state")" From 30323456bf302fb75ae6ba294ef27f2c63b4cb78 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 21 Sep 2012 11:03:53 +0200 Subject: [PATCH 3/4] cleanup gencode-remote Signed-off-by: Nico Schottelius --- conf/type/__directory/explorer/state | 4 +- conf/type/__directory/gencode-remote | 77 +++++++++++----------------- 2 files changed, 33 insertions(+), 48 deletions(-) diff --git a/conf/type/__directory/explorer/state b/conf/type/__directory/explorer/state index f8b85671..9bdd9024 100755 --- a/conf/type/__directory/explorer/state +++ b/conf/type/__directory/explorer/state @@ -24,7 +24,7 @@ destination="/$__object_id" if [ -e "$destination" ]; then - echo yes + echo present else - echo no + echo absent fi diff --git a/conf/type/__directory/gencode-remote b/conf/type/__directory/gencode-remote index e871547a..25553183 100755 --- a/conf/type/__directory/gencode-remote +++ b/conf/type/__directory/gencode-remote @@ -1,6 +1,6 @@ #!/bin/sh # -# 2011 Nico Schottelius (nico-cdist at schottelius.org) +# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org) # # This file is part of cdist. # @@ -20,54 +20,39 @@ destination="/$__object_id" state_should="$(cat "$__object/parameter/state")" +state_is="$(cat "$__object/explorer/state")" + +[ "$state_should" = "$state_is" ] && exit 0 + +mkdiropt="" +grep yes "$__object/parameter/parents" >/dev/null 2>&1 && mkdiropt="-p" +recursive="" +grep yes "$__object/parameter/recursive" >/dev/null 2>&1 && recursive="-R" case "$state_should" in - present) - # Include parent directories? - if [ -f "$__object/parameter/parents" ]; then - parents="$(cat "$__object/parameter/parents")" - if [ yes = "$parents" ]; then - mkdiropt="-p" - else - mkdiropt="" - fi - fi + present) + echo mkdir $mkdiropt \"$destination\" - if [ -f "$__object/parameter/recursive" ]; then - if [ yes = "$(cat "$__object/parameter/recursive")" ]; then - recursive="-R" - fi - fi + # Mode settings + if [ -f "$__object/parameter/mode" ]; then + echo chmod \"$(cat "$__object/parameter/mode")\" \"$destination\" + fi - # Only create if not already existent - if [ no = "$(cat "$__object/explorer/exists")" ]; then - echo mkdir $mkdiropt \"$destination\" - fi + # Group + if [ -f "$__object/parameter/group" ]; then + echo chgrp $recursive \"$(cat "$__object/parameter/group")\" \"$destination\" + fi - # Mode settings - if [ -f "$__object/parameter/mode" ]; then - echo chmod \"$(cat "$__object/parameter/mode")\" \"$destination\" - fi - - # Group - if [ -f "$__object/parameter/group" ]; then - echo chgrp $recursive \"$(cat "$__object/parameter/group")\" \"$destination\" - fi - - # Owner - if [ -f "$__object/parameter/owner" ]; then - echo chown $recursive \"$(cat "$__object/parameter/owner")\" \"$destination\" - fi - ;; - absent) - # Only delete if it exists - if [ yes = "$(cat "$__object/explorer/exists")" ]; then - echo rm -rf \"$destination\" - fi - - ;; - *) - echo "Unknown state: $state_should" >&2 - exit 1 - ;; + # Owner + if [ -f "$__object/parameter/owner" ]; then + echo chown $recursive \"$(cat "$__object/parameter/owner")\" \"$destination\" + fi + ;; + absent) + echo rm -rf \"$destination\" + ;; + *) + echo "Unknown state: $state_should" >&2 + exit 1 + ;; esac From 135299357b6ef4545f8de3c06cc4bf68ee89c3a1 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Fri, 21 Sep 2012 11:08:55 +0200 Subject: [PATCH 4/4] correctly setup state Signed-off-by: Nico Schottelius --- conf/type/__directory/gencode-remote | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/conf/type/__directory/gencode-remote b/conf/type/__directory/gencode-remote index 25553183..56bd73a1 100755 --- a/conf/type/__directory/gencode-remote +++ b/conf/type/__directory/gencode-remote @@ -18,12 +18,14 @@ # along with cdist. If not, see . # -destination="/$__object_id" -state_should="$(cat "$__object/parameter/state")" +# Check state and exit if nothing needs to be done +state_should="present" +[ -f "$__object/parameter/state" ] && state_should="$(cat "$__object/parameter/state")" state_is="$(cat "$__object/explorer/state")" - [ "$state_should" = "$state_is" ] && exit 0 +destination="/$__object_id" + mkdiropt="" grep yes "$__object/parameter/parents" >/dev/null 2>&1 && mkdiropt="-p" recursive=""