forked from ungleich-public/cdist
unlock the whole power of zypper
added the ptype parameter (package type of zypper install)
This commit is contained in:
parent
a5d2cdecf4
commit
e1eae5604e
5 changed files with 34 additions and 4 deletions
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
|
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
|
||||||
|
# 2013 Daniel Heule (hda at sfs.biz)
|
||||||
#
|
#
|
||||||
# This file is part of cdist.
|
# This file is part of cdist.
|
||||||
#
|
#
|
||||||
|
@ -18,7 +19,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
|
# Retrieve the status of a package off different types
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ -f "$__object/parameter/name" ]; then
|
if [ -f "$__object/parameter/name" ]; then
|
||||||
|
@ -27,4 +28,18 @@ else
|
||||||
name="$__object_id"
|
name="$__object_id"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rpm -q --whatprovides "$name" | grep -v 'no package provides' || true
|
if [ -f "$__object/parameter/ptype" ]; then
|
||||||
|
ptype="$(cat "$__object/parameter/ptype")"
|
||||||
|
else
|
||||||
|
ptype="package"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$ptype" in
|
||||||
|
package|patch|pattern|product|srcpackage)
|
||||||
|
zypper se --match-exact -i -t "$ptype" "$name" | grep -E '^i' | cut -d " " -f 3 || true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unknown type in __package_zypper explorer" &>2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# 2012 Nico Schottelius (nico-cdist at schottelius.org)
|
# 2012 Nico Schottelius (nico-cdist at schottelius.org)
|
||||||
|
# 2013 Daniel Heule (hda at sfs.biz)
|
||||||
#
|
#
|
||||||
# This file is part of cdist.
|
# This file is part of cdist.
|
||||||
#
|
#
|
||||||
|
@ -39,6 +40,12 @@ else
|
||||||
state_should="present"
|
state_should="present"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/ptype" ]; then
|
||||||
|
ptype="$(cat "$__object/parameter/ptype")"
|
||||||
|
else
|
||||||
|
ptype="package"
|
||||||
|
fi
|
||||||
|
|
||||||
pkg_version="$(cat "$__object/explorer/pkg_version")"
|
pkg_version="$(cat "$__object/explorer/pkg_version")"
|
||||||
if [ -z "$pkg_version" ]; then
|
if [ -z "$pkg_version" ]; then
|
||||||
state_is="absent"
|
state_is="absent"
|
||||||
|
@ -51,10 +58,10 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo zypper $globalopts install --auto-agree-with-licenses \"$name\" ">/dev/null"
|
echo zypper $globalopts install --type \"$ptype\" --auto-agree-with-licenses \"$name\" ">/dev/null"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo zypper $globalopts remove \"$name\" ">/dev/null"
|
echo zypper $globalopts remove --type \"$ptype\" \"$name\" ">/dev/null"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -26,6 +26,9 @@ name::
|
||||||
state::
|
state::
|
||||||
Either "present" or "absent", defaults to "present"
|
Either "present" or "absent", defaults to "present"
|
||||||
|
|
||||||
|
ptype::
|
||||||
|
Either "package", "patch", "pattern", "product" or "srcpackage", defaults to "package". For a description see man zypper.
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
@ -39,6 +42,9 @@ __package_zypper python --state present --name python2
|
||||||
|
|
||||||
# Remove package
|
# Remove package
|
||||||
__package_zypper cfengine --state absent
|
__package_zypper cfengine --state absent
|
||||||
|
|
||||||
|
# install all packages which belongs to pattern x11
|
||||||
|
__package_zypper x11 --ptype pattern --state present
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
1
cdist/conf/type/__package_zypper/parameter/default/ptype
Normal file
1
cdist/conf/type/__package_zypper/parameter/default/ptype
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package
|
|
@ -1,2 +1,3 @@
|
||||||
name
|
name
|
||||||
state
|
state
|
||||||
|
ptype
|
||||||
|
|
Loading…
Reference in a new issue