Merge branch 'master' into __jail

This commit is contained in:
Jake Guffey 2012-04-27 16:47:14 -04:00
commit 1a20f0087e
7 changed files with 30 additions and 11 deletions

2
README
View file

@ -288,7 +288,7 @@ Interesting information are for instance
* What are the pros/cons you see in cdist? * What are the pros/cons you see in cdist?
* General comments/critics * General comments/critics
### Nico Schottelius, Systems Group ETH Zurich and privately ### Nico Schottelius, Systems Group ETH Zurich, local.ch and privately
Yes, I'm actually eating my own dogfood and currently managing Yes, I'm actually eating my own dogfood and currently managing

View file

@ -34,7 +34,8 @@ fi
case "$state_should" in case "$state_should" in
absent) absent)
# remove lines starting with key # remove lines starting with key
echo "sed -i '/^$key\($delimiter\+\)/d' \"$file\"" echo "sed '/^$key\($delimiter\+\)/d' \"$file\" > \"$file.cdist-tmp\""
echo "mv \"$file.cdist-tmp\" \"$file\""
;; ;;
present) present)
case "$state_is" in case "$state_is" in
@ -44,7 +45,8 @@ case "$state_should" in
;; ;;
wrongvalue) wrongvalue)
# change exisiting value # change exisiting value
echo "sed -i \"s|^$key\($delimiter\+\).*|$key\1$value|\" \"$file\"" echo "sed \"s|^$key\($delimiter\+\).*|$key\1$value|\" \"$file\" > \"$file.cdist-tmp\""
echo "mv \"$file.cdist-tmp\" \"$file\""
;; ;;
*) *)
echo "Unknown explorer state: $state_is" >&2 echo "Unknown explorer state: $state_is" >&2

View file

@ -32,7 +32,9 @@ DONE
removed) removed)
cat << DONE cat << DONE
su - $user -c "rm -Rf \"\\\$HOME/.rvm\"; su - $user -c "rm -Rf \"\\\$HOME/.rvm\";
sed -i '/rvm\/scripts\/rvm/d' \"\\\$HOME/.bashrc\"" sed '/rvm\/scripts\/rvm/d' \"\\\$HOME/.bashrc\" > \"\\\$HOME/.bashrc.cdist-tmp\"
mv \"\\\$HOME/.bashrc.cdist-tmp\" \"\\\$HOME/.bashrc\""
DONE DONE
;; ;;
esac esac

View file

@ -32,7 +32,8 @@ case "$state_should" in
present) present)
case "$os" in case "$os" in
archlinux) archlinux)
echo "sed -i 's/^\\(DAEMONS=.*\\))/\\1 $name)/' /etc/rc.conf" echo "sed 's/^\\(DAEMONS=.*\\))/\\1 $name)/' /etc/rc.conf > /etc/rc.conf.cdist-tmp"
echo "mv /etc/rc.conf.cdist-tmp /etc/rc.conf"
;; ;;
debian|ubuntu) debian|ubuntu)
echo "update-rc.d \"$name\" defaults >/dev/null" echo "update-rc.d \"$name\" defaults >/dev/null"
@ -66,7 +67,8 @@ case "$state_should" in
archlinux) archlinux)
# Replace a) at the beginning b) in the middle c) end d) only # Replace a) at the beginning b) in the middle c) end d) only
# Support @name as well...makes it more ugly, but well... # Support @name as well...makes it more ugly, but well...
echo "sed -i /etc/rc.conf -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name /\\1/' -e 's/^\\(DAEMONS=(.* \\)@\\{0,1\\}$name \\(.*\\)/\\1\\2/' -e 's/^\\(DAEMONS=(.*\\) @\\{0,1\\}$name)/\\1)/' -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name)/\\1)/'" echo "sed /etc/rc.conf -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name /\\1/' -e 's/^\\(DAEMONS=(.* \\)@\\{0,1\\}$name \\(.*\\)/\\1\\2/' -e 's/^\\(DAEMONS=(.*\\) @\\{0,1\\}$name)/\\1)/' -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name)/\\1)/' > /etc/rc.conf.cdist-tmp"
echo "mv /etc/rc.conf.cdist-tmp /etc/rc.conf"
;; ;;
debian|ubuntu) debian|ubuntu)
echo update-rc.d -f \"$name\" remove echo update-rc.d -f \"$name\" remove

View file

@ -11,6 +11,8 @@ Changelog
* Bugfix __start_on_boot: Correctly use sed and quotes (Steven Armstrong) * Bugfix __start_on_boot: Correctly use sed and quotes (Steven Armstrong)
* Feature __file: Support for --state exists (Steven Armstrong) * Feature __file: Support for --state exists (Steven Armstrong)
* Feature core: Make variable __manifest available to type manifests * Feature core: Make variable __manifest available to type manifests
* Feature core: Correct parent dependency handling (Steven Armstrong)
* Bugfix several types: Fix sed for FreeBSD (Istvan Beregszaszi)
2.0.9: 2012-03-12 2.0.9: 2012-03-12
* Cleanup documentation: Fix environment variable list to be properly * Cleanup documentation: Fix environment variable list to be properly

View file

@ -6,6 +6,8 @@ Feel free to pick one!
CORE CORE
---- ----
- support default parameter - support default parameter
- document and add paremeters for remote-copy and remote-exec!
- remove hack, make a feature of it
TESTS TESTS
----- -----

View file

@ -160,10 +160,19 @@ class Emulator(object):
def record_auto_requirements(self): def record_auto_requirements(self):
"""An object shall automatically depend on all objects that it defined in it's type manifest. """An object shall automatically depend on all objects that it defined in it's type manifest.
""" """
# __object_name is the name of the object whose type manifest is currenlty executed # __object_name is the name of the object whose type manifest is currently executed
__object_name = os.environ.get('__object_name', None) __object_name = os.environ.get('__object_name', None)
if __object_name: if __object_name:
_object = self.cdist_object.object_from_name(__object_name) # The object whose type manifest is currently run
# prevent circular dependencies parent = self.cdist_object.object_from_name(__object_name)
if not _object.name in self.cdist_object.requirements: # The object currently being defined
_object.requirements.append(self.cdist_object.name) current_object = self.cdist_object
# current_object shall have all dependencies that it's parent has
for req in parent.requirements:
if req not in current_object.requirements:
current_object.requirements.append(req)
# As parent defined current_object it shall automatically depend on it.
# But only if the user hasn't said otherwise.
# Must prevent circular dependencies.
if not parent.name in current_object.requirements:
parent.requirements.append(current_object.name)