From e5366650cec777a36b92066ea9773496a9486fa0 Mon Sep 17 00:00:00 2001 From: Steven Armstrong Date: Tue, 22 Feb 2011 16:15:50 +0100 Subject: [PATCH] +type:__package Signed-off-by: Steven Armstrong --- conf/types/__package/hints | 5 +++ conf/types/__package/manifest | 46 ++++++++++++++++++++++++ conf/types/__package/parameters/optional | 2 ++ conf/types/__package/parameters/required | 1 + 4 files changed, 54 insertions(+) create mode 100755 conf/types/__package/manifest create mode 100644 conf/types/__package/parameters/optional create mode 100644 conf/types/__package/parameters/required diff --git a/conf/types/__package/hints b/conf/types/__package/hints index 76fbcae6..86282e3b 100644 --- a/conf/types/__package/hints +++ b/conf/types/__package/hints @@ -1,2 +1,7 @@ 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/types/__package/manifest b/conf/types/__package/manifest new file mode 100755 index 00000000..5ac1ae7b --- /dev/null +++ b/conf/types/__package/manifest @@ -0,0 +1,46 @@ +#!/bin/sh +# +# 2011 Steven Armstrong (steven-cdist at armstrong.cc) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# +# +# __package is an abstract type which dispatches to the lower level +# __package_$name types which do the actual interaction with the packaging +# system. +# + +. cdist-config + +object_id="$1"; shift + +if [ -f type ]; then + type="$(cat type)" +else + # Default to value taken from explorer + type="$(cat $__cdist_out_explorers/pkg_system)" +fi + +set -- "$@" "$object_id" +for property in $(ls .); do + if [ "$property" != "type" ]; then + set -- "$@" "--$property" "$(cat $property)" + fi +done + +__package_$type "$@" + +exit 0 diff --git a/conf/types/__package/parameters/optional b/conf/types/__package/parameters/optional new file mode 100644 index 00000000..d3598a51 --- /dev/null +++ b/conf/types/__package/parameters/optional @@ -0,0 +1,2 @@ +name +type diff --git a/conf/types/__package/parameters/required b/conf/types/__package/parameters/required new file mode 100644 index 00000000..5f0c1c12 --- /dev/null +++ b/conf/types/__package/parameters/required @@ -0,0 +1 @@ +ensure