diff --git a/conf/type/__package/hints b/conf/type/__package/hints deleted file mode 100644 index 86282e3b..00000000 --- a/conf/type/__package/hints +++ /dev/null @@ -1,7 +0,0 @@ -install/pacman: -pacman --noconfirm --noprogressbar -S --------------------------------------------------------------------------------- - -ensure: What state the package should be in: present | absent | latest | versionstring (1.0.3) -name: The package name as used by the packaging system - diff --git a/conf/type/__package/manifest b/conf/type/__package/manifest index 5ac1ae7b..89b3f179 100755 --- a/conf/type/__package/manifest +++ b/conf/type/__package/manifest @@ -23,21 +23,28 @@ # system. # -. cdist-config - -object_id="$1"; shift - -if [ -f type ]; then - type="$(cat type)" +type="$__object/parameter/type" +if [ -f "$type" ]; then + type="$(cat "$type")" else - # Default to value taken from explorer - type="$(cat $__cdist_out_explorers/pkg_system)" + # By default determine package manager based on operating system + os="$(cat "out/explorer/os")" + case "$os" in + archlinux) type="pacman" ;; + debian|ubuntu) type="apt" ;; + gentoo) type="emerge" ;; + *) + echo "Don't know how to manage packages on: $os" >&2 + exit 1 + ;; + esac fi -set -- "$@" "$object_id" +set -- "$@" "$__object_id" +cd "$__object/parameter" for property in $(ls .); do if [ "$property" != "type" ]; then - set -- "$@" "--$property" "$(cat $property)" + set -- "$@" "--$property" "$(cat "$property")" fi done diff --git a/conf/type/__package/parameter/optional b/conf/type/__package/parameter/optional index d3598a51..712ea892 100644 --- a/conf/type/__package/parameter/optional +++ b/conf/type/__package/parameter/optional @@ -1,2 +1,3 @@ name +version type diff --git a/conf/type/__package/parameter/required b/conf/type/__package/parameter/required index 5f0c1c12..ff72b5c7 100644 --- a/conf/type/__package/parameter/required +++ b/conf/type/__package/parameter/required @@ -1 +1 @@ -ensure +state