diff --git a/conf/type/__package_pacman/explorer/pkg_status b/conf/type/__package_pacman/explorer/pkg_version similarity index 94% rename from conf/type/__package_pacman/explorer/pkg_status rename to conf/type/__package_pacman/explorer/pkg_version index e13f8f5c..4f612423 100755 --- a/conf/type/__package_pacman/explorer/pkg_status +++ b/conf/type/__package_pacman/explorer/pkg_version @@ -27,4 +27,4 @@ else name="$__object_id" fi -dpkg -l "$name" 2>/dev/null | awk '{ print $1 }' +pacman -Q "$name" 2>/dev/null | awk '{ print $2 }' diff --git a/conf/type/__package_pacman/gencode b/conf/type/__package_pacman/gencode index 8523e01e..078ee067 100755 --- a/conf/type/__package_pacman/gencode +++ b/conf/type/__package_pacman/gencode @@ -18,9 +18,11 @@ # along with cdist. If not, see . # # -# Manage packages on Debian and co. +# Manage packages with Pacman (mostly archlinux) # +pacopts="--noconfirm --noprogressbar" + if [ -f "$__object/parameter/name" ]; then name="$__object/parameter/name" else @@ -31,14 +33,16 @@ state="$(cat "$__object/parameter/state")" case "$state" in installed) - pkg_status="$(cat "$__object/explorer/pkg_status")" - if [ "$pkg_status" != "ii" ]; then - echo apt-get --quiet --yes install \"$name\" + pkg_version="$(cat "$__object/explorer/pkg_version")" + + # Empty? Not installed. + if [ -z "$pkg_version" ]; then + echo pacman "$pacopts" -S \"$name\" fi ;; deinstalled) - if [ "$pkg_status" != "un" ]; then - echo apt-get --quiet --yes remove \"$name\" + if [ "$pkg_version" ]; then + echo pacman "$pacopts" -R \"$name\" fi ;; esac diff --git a/conf/type/__package_pacman/parameter/optional b/conf/type/__package_pacman/parameter/optional index a52167d3..f121bdbf 100644 --- a/conf/type/__package_pacman/parameter/optional +++ b/conf/type/__package_pacman/parameter/optional @@ -1,2 +1 @@ name -version