support absent/present in __package_rubygem

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
remotes/origin/feature_files_export
Nico Schottelius 13 years ago
parent 9fab782a0c
commit e4aafe0af9
  1. 1
      conf/type/__package_pkg_openbsd/gencode-remote
  2. 55
      conf/type/__package_rubygem/gencode-remote

@ -29,7 +29,6 @@
os_version="$(cat "$__global/explorer/os_version")" os_version="$(cat "$__global/explorer/os_version")"
machine="$(cat "$__global/explorer/machine")" machine="$(cat "$__global/explorer/machine")"
if [ -f "$__object/parameter/flavor" ]; then if [ -f "$__object/parameter/flavor" ]; then
flavor="$(cat "$__object/parameter/flavor")" flavor="$(cat "$__object/parameter/flavor")"
fi fi

@ -21,31 +21,42 @@
# Manage Rubygem packages # Manage Rubygem packages
# #
if [ -f "$__object/parameter/name" ]; then if [ -f "$__object/parameter/name" ]; then
name="$(cat "$__object/parameter/name")" name="$(cat "$__object/parameter/name")"
else
name="$__object_id"
fi
state_should="$(cat "$__object/parameter/state")"
# Correct pre 2.1 naming - FIXME in 2.1
case "$state_should" in
installed)
echo "WARNING: $state_should is deprecated and will be removed in cdist 2.1. Please change to present/absent." >&2
state_should="present"
;;
removed)
echo "WARNING: $state_should is deprecated and will be removed in cdist 2.1. Please change to present/absent." >&2
state_should="absent"
;;
esac
if grep -q true "$__object/explorer/pkg_status"; then
state_is="present"
else else
name="$__object_id" state_is="absent"
fi fi
state="$(cat "$__object/parameter/state")" [ "$state_is" = "$state_should ] && exit 0
is_installed="$(grep "true" "$__object/explorer/pkg_status" || true)"
case "$state" in case "$state_should" in
installed) present)
# Install only if non-existent echo gem install \"$name\" --no-ri --no-rdoc
if [ -z "$is_installed" ]; then ;;
echo gem install \"$name\" --no-ri --no-rdoc absent)
fi echo gem uninstall \"$name\"
;; ;;
removed) *)
# Remove only if existent echo "Unknown state: $state" >&2
if [ -n "$is_installed" ]; then exit 1
echo gem uninstall \"$name\" ;;
fi
;;
*)
echo "Unknown state: $state" >&2
exit 1
;;
esac esac

Loading…
Cancel
Save