update __package_pacman for absent/present

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
Nico Schottelius 2012-02-09 11:54:13 +01:00
parent 52849b91c5
commit 3c19e7ab4c
2 changed files with 25 additions and 12 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/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. # This file is part of cdist.
# #
@ -18,7 +18,7 @@
# along with cdist. If not, see <http://www.gnu.org/licenses/>. # along with cdist. If not, see <http://www.gnu.org/licenses/>.
# #
# #
# Retrieve the status of a package - parsed dpkg output # Retrieve the status of a package - parsed pacman output
# #
if [ -f "$__object/parameter/name" ]; then if [ -f "$__object/parameter/name" ]; then

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/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. # This file is part of cdist.
# #
@ -33,21 +33,34 @@ else
name="$__object_id" name="$__object_id"
fi fi
state="$(cat "$__object/parameter/state")" state_should="$(cat "$__object/parameter/state")"
case "$state_should" in
installed)
echo "WARNING: $state_should is deprecated, please change to present/absent (will be removed in cdist 2.1)" >&2
state_should="present"
;;
removed)
echo "WARNING: $state_should is deprecated, please change to present/absent (will be removed in cdist 2.1)" >&2
state_should="absent"
;;
esac
pkg_version="$(cat "$__object/explorer/pkg_version")" pkg_version="$(cat "$__object/explorer/pkg_version")"
if [ -z "$pkg_version" ]; then
state_is="absent"
else
state_is="present"
fi
case "$state" in # Exit if nothing is needed to be done
installed) [ "$state_is" = "$state_should ] && exit 0
# Empty? Not installed. case "$state_should" in
if [ -z "$pkg_version" ]; then present)
echo pacman "$pacopts" -S \"$name\" echo pacman "$pacopts" -S \"$name\"
fi
;; ;;
removed) absent)
if [ "$pkg_version" ]; then
echo pacman "$pacopts" -R \"$name\" echo pacman "$pacopts" -R \"$name\"
fi
;; ;;
*) *)
echo "Unknown state: $state" >&2 echo "Unknown state: $state" >&2