From 6fd9dac14511954ffa946d117ef2d6dbbf4985f5 Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Mon, 7 Nov 2016 11:19:48 +0200 Subject: [PATCH 1/8] add __apt_mark --- cdist/conf/type/__apt_mark/gencode-remote | 37 +++++++++++++++ cdist/conf/type/__apt_mark/man.rst | 47 +++++++++++++++++++ cdist/conf/type/__apt_mark/parameter/optional | 1 + cdist/conf/type/__apt_mark/parameter/required | 1 + 4 files changed, 86 insertions(+) create mode 100644 cdist/conf/type/__apt_mark/gencode-remote create mode 100644 cdist/conf/type/__apt_mark/man.rst create mode 100644 cdist/conf/type/__apt_mark/parameter/optional create mode 100644 cdist/conf/type/__apt_mark/parameter/required diff --git a/cdist/conf/type/__apt_mark/gencode-remote b/cdist/conf/type/__apt_mark/gencode-remote new file mode 100644 index 00000000..76e87660 --- /dev/null +++ b/cdist/conf/type/__apt_mark/gencode-remote @@ -0,0 +1,37 @@ +#!/bin/sh +# +# 2016 Ander Punnar (cdist at kvlt.ee) +# +# 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 . +# + +if [ -f "$__object/parameter/name" ]; then + name="$(cat "$__object/parameter/name")" +else + name="$__object_id" +fi + +state="$(cat "$__object/parameter/state")" + +case "$state" in + auto|manual|hold|unhold) + echo "apt-mark $state $name" + ;; + *) + echo "Unknown state: $state" >&2 + exit 1 + ;; +esac diff --git a/cdist/conf/type/__apt_mark/man.rst b/cdist/conf/type/__apt_mark/man.rst new file mode 100644 index 00000000..8daed6e3 --- /dev/null +++ b/cdist/conf/type/__apt_mark/man.rst @@ -0,0 +1,47 @@ +cdist-type__apt_mark(7) +====================== + +NAME +---- +cdist-type__apt_mark - set package state as 'auto', 'manual', 'hold' or 'unhold' + + +DESCRIPTION +----------- +See apt-mark(8) for details. + + +REQUIRED PARAMETERS +------------------- +state + Possible states are 'auto', 'manual', 'hold' and 'unhold'. + + +OPTIONAL PARAMETERS +------------------- +name + If supplied, use the name and not the object id as the package name. + + +EXAMPLES +-------- + +.. code-block:: sh + + # hold package + __apt_mark quagga --state hold + # unhold package + __apt_mark quagga --state unhold + + +AUTHORS +------- +Ander Punnar + + +COPYING +------- +Copyright \(C) 2016 Ander Punnar. 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. diff --git a/cdist/conf/type/__apt_mark/parameter/optional b/cdist/conf/type/__apt_mark/parameter/optional new file mode 100644 index 00000000..f121bdbf --- /dev/null +++ b/cdist/conf/type/__apt_mark/parameter/optional @@ -0,0 +1 @@ +name diff --git a/cdist/conf/type/__apt_mark/parameter/required b/cdist/conf/type/__apt_mark/parameter/required new file mode 100644 index 00000000..ff72b5c7 --- /dev/null +++ b/cdist/conf/type/__apt_mark/parameter/required @@ -0,0 +1 @@ +state From 6f69cd6a1178d225faa5bbfe80e4e2322e74022f Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Mon, 7 Nov 2016 13:36:27 +0200 Subject: [PATCH 2/8] fix man --- cdist/conf/type/__apt_mark/man.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdist/conf/type/__apt_mark/man.rst b/cdist/conf/type/__apt_mark/man.rst index 8daed6e3..35ab2677 100644 --- a/cdist/conf/type/__apt_mark/man.rst +++ b/cdist/conf/type/__apt_mark/man.rst @@ -1,5 +1,5 @@ cdist-type__apt_mark(7) -====================== +======================= NAME ---- From 45e45016a7062c632e126ca74aef86e8526f24d7 Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Mon, 7 Nov 2016 15:45:54 +0200 Subject: [PATCH 3/8] retrieve the mark before with an explorer --- cdist/conf/type/__apt_mark/explorer/state | 27 +++++++++++++++++++++++ cdist/conf/type/__apt_mark/gencode-remote | 14 ++++++++---- 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 cdist/conf/type/__apt_mark/explorer/state diff --git a/cdist/conf/type/__apt_mark/explorer/state b/cdist/conf/type/__apt_mark/explorer/state new file mode 100644 index 00000000..3b70003a --- /dev/null +++ b/cdist/conf/type/__apt_mark/explorer/state @@ -0,0 +1,27 @@ +#!/bin/sh +# +# 2016 Ander Punnar (cdist at kvlt.ee) +# +# 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 . +# + +if [ -f "$__object/parameter/name" ]; then + name="$(cat "$__object/parameter/name")" +else + name="$__object_id" +fi + +apt-mark showhold | grep -q $name && echo hold || echo unhold diff --git a/cdist/conf/type/__apt_mark/gencode-remote b/cdist/conf/type/__apt_mark/gencode-remote index 76e87660..d83e96d9 100644 --- a/cdist/conf/type/__apt_mark/gencode-remote +++ b/cdist/conf/type/__apt_mark/gencode-remote @@ -24,14 +24,20 @@ else name="$__object_id" fi -state="$(cat "$__object/parameter/state")" +state_should="$(cat "$__object/parameter/state")" -case "$state" in +state_is="$(cat "$__object/explorer/state")" + +if [ "$state_should" = "$state_is" ]; then + exit 0 +fi + +case "$state_should" in auto|manual|hold|unhold) - echo "apt-mark $state $name" + echo "apt-mark $state_should $name" ;; *) - echo "Unknown state: $state" >&2 + echo "Unknown state: $state_should" >&2 exit 1 ;; esac From b3cf70ae4297af854ef3d7561d85357cdb048cf8 Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Mon, 7 Nov 2016 15:51:50 +0200 Subject: [PATCH 4/8] remove auto and manual states --- cdist/conf/type/__apt_mark/gencode-remote | 2 +- cdist/conf/type/__apt_mark/man.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cdist/conf/type/__apt_mark/gencode-remote b/cdist/conf/type/__apt_mark/gencode-remote index d83e96d9..d97e2c7a 100644 --- a/cdist/conf/type/__apt_mark/gencode-remote +++ b/cdist/conf/type/__apt_mark/gencode-remote @@ -33,7 +33,7 @@ if [ "$state_should" = "$state_is" ]; then fi case "$state_should" in - auto|manual|hold|unhold) + hold|unhold) echo "apt-mark $state_should $name" ;; *) diff --git a/cdist/conf/type/__apt_mark/man.rst b/cdist/conf/type/__apt_mark/man.rst index 35ab2677..7aa2a519 100644 --- a/cdist/conf/type/__apt_mark/man.rst +++ b/cdist/conf/type/__apt_mark/man.rst @@ -3,7 +3,7 @@ cdist-type__apt_mark(7) NAME ---- -cdist-type__apt_mark - set package state as 'auto', 'manual', 'hold' or 'unhold' +cdist-type__apt_mark - set package state as 'hold' or 'unhold' DESCRIPTION @@ -14,7 +14,7 @@ See apt-mark(8) for details. REQUIRED PARAMETERS ------------------- state - Possible states are 'auto', 'manual', 'hold' and 'unhold'. + Either "hold" or "unhold". OPTIONAL PARAMETERS From 35975582f09b2a22e18e2ae71071b80c7d2fc40c Mon Sep 17 00:00:00 2001 From: Ander Punnar Date: Mon, 7 Nov 2016 16:55:51 +0200 Subject: [PATCH 5/8] suppress output --- cdist/conf/type/__apt_mark/gencode-remote | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdist/conf/type/__apt_mark/gencode-remote b/cdist/conf/type/__apt_mark/gencode-remote index d97e2c7a..14505809 100644 --- a/cdist/conf/type/__apt_mark/gencode-remote +++ b/cdist/conf/type/__apt_mark/gencode-remote @@ -34,7 +34,7 @@ fi case "$state_should" in hold|unhold) - echo "apt-mark $state_should $name" + echo "apt-mark $state_should $name > /dev/null" ;; *) echo "Unknown state: $state_should" >&2 From c4996396c689d5d53a46ec7230fbb31cd97dbac9 Mon Sep 17 00:00:00 2001 From: Kamila Souckova Date: Tue, 22 Nov 2016 18:21:03 +0100 Subject: [PATCH 6/8] __user type: fix for FreeBSD --- cdist/conf/type/__user/gencode-remote | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cdist/conf/type/__user/gencode-remote b/cdist/conf/type/__user/gencode-remote index 463fbe49..223d4d46 100755 --- a/cdist/conf/type/__user/gencode-remote +++ b/cdist/conf/type/__user/gencode-remote @@ -104,7 +104,7 @@ if [ "$state" = "present" ]; then if [ $# -gt 0 ]; then echo mod >> "$__messages_out" if [ "$os" = "freebsd" ]; then - echo pw usermod "$@" "$name" + echo pw usermod "$@" -n "$name" else echo usermod "$@" "$name" fi @@ -125,7 +125,7 @@ if [ "$state" = "present" ]; then done if [ "$os" = "freebsd" ]; then - echo pw useradd "$@" "$name" + echo pw useradd "$@" -n "$name" else echo useradd "$@" "$name" fi From 6bc250399671ff51b3c111b4f2cb5ae57e0683da Mon Sep 17 00:00:00 2001 From: Carlos Ortigoza Dempster Date: Fri, 25 Nov 2016 14:15:00 -0400 Subject: [PATCH 7/8] Adding consul 0.7.0 files --- cdist/conf/type/__consul/files/versions/0.7.0/cksum | 1 + cdist/conf/type/__consul/files/versions/0.7.0/source | 1 + 2 files changed, 2 insertions(+) create mode 100644 cdist/conf/type/__consul/files/versions/0.7.0/cksum create mode 100644 cdist/conf/type/__consul/files/versions/0.7.0/source diff --git a/cdist/conf/type/__consul/files/versions/0.7.0/cksum b/cdist/conf/type/__consul/files/versions/0.7.0/cksum new file mode 100644 index 00000000..3bffeedb --- /dev/null +++ b/cdist/conf/type/__consul/files/versions/0.7.0/cksum @@ -0,0 +1 @@ +695240564 24003648 consul diff --git a/cdist/conf/type/__consul/files/versions/0.7.0/source b/cdist/conf/type/__consul/files/versions/0.7.0/source new file mode 100644 index 00000000..ad610fc7 --- /dev/null +++ b/cdist/conf/type/__consul/files/versions/0.7.0/source @@ -0,0 +1 @@ +https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_amd64.zip From 39f69ddedf8392eef8c30002e47bd4ac25d384a8 Mon Sep 17 00:00:00 2001 From: Carlos Ortigoza Dempster Date: Fri, 25 Nov 2016 14:19:01 -0400 Subject: [PATCH 8/8] Adding consul 0.7.1 files to __consul type --- cdist/conf/type/__consul/files/versions/0.7.1/cksum | 1 + cdist/conf/type/__consul/files/versions/0.7.1/source | 1 + 2 files changed, 2 insertions(+) create mode 100644 cdist/conf/type/__consul/files/versions/0.7.1/cksum create mode 100644 cdist/conf/type/__consul/files/versions/0.7.1/source diff --git a/cdist/conf/type/__consul/files/versions/0.7.1/cksum b/cdist/conf/type/__consul/files/versions/0.7.1/cksum new file mode 100644 index 00000000..476bd9f6 --- /dev/null +++ b/cdist/conf/type/__consul/files/versions/0.7.1/cksum @@ -0,0 +1 @@ +3128343188 28402769 consul diff --git a/cdist/conf/type/__consul/files/versions/0.7.1/source b/cdist/conf/type/__consul/files/versions/0.7.1/source new file mode 100644 index 00000000..6ba2e7bf --- /dev/null +++ b/cdist/conf/type/__consul/files/versions/0.7.1/source @@ -0,0 +1 @@ +https://releases.hashicorp.com/consul/0.7.1/consul_0.7.1_linux_amd64.zip