From b8ed816af450b68a4d7694bff9af23e6661b3f0e Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Mon, 5 Mar 2018 12:40:11 +0100 Subject: [PATCH] Add __apt_default_release type (#643) --- cdist/conf/type/__apt_default_release/man.rst | 46 +++++++++++++++++++ .../conf/type/__apt_default_release/manifest | 41 +++++++++++++++++ .../__apt_default_release/parameter/required | 1 + .../conf/type/__apt_default_release/singleton | 0 4 files changed, 88 insertions(+) create mode 100644 cdist/conf/type/__apt_default_release/man.rst create mode 100755 cdist/conf/type/__apt_default_release/manifest create mode 100644 cdist/conf/type/__apt_default_release/parameter/required create mode 100644 cdist/conf/type/__apt_default_release/singleton diff --git a/cdist/conf/type/__apt_default_release/man.rst b/cdist/conf/type/__apt_default_release/man.rst new file mode 100644 index 00000000..0277a06f --- /dev/null +++ b/cdist/conf/type/__apt_default_release/man.rst @@ -0,0 +1,46 @@ +cdist-type__apt_default_release(7) +================================== + +NAME +---- +cdist-type__apt_default_release - Configure the default release for apt + + +DESCRIPTION +----------- +Configure the default release for apt, using the APT::Default-Release +configuration value. + +REQUIRED PARAMETERS +------------------- +release + The value to set APT::Default-Release to. + + This can contain release name, codename or release version. Examples: + 'stable', 'testing', 'unstable', 'stretch', 'buster', '4.0', '5.0*'. + + +OPTIONAL PARAMETERS +------------------- +None. + + +EXAMPLES +-------- + +.. code-block:: sh + + __apt_default_release --release stretch + + +AUTHORS +------- +Matthijs Kooijman + + +COPYING +------- +Copyright \(C) 2017 Matthijs Kooijman. 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_default_release/manifest b/cdist/conf/type/__apt_default_release/manifest new file mode 100755 index 00000000..1232efb5 --- /dev/null +++ b/cdist/conf/type/__apt_default_release/manifest @@ -0,0 +1,41 @@ +#!/bin/sh -e +# +# 2014 Steven Armstrong (steven-cdist at armstrong.cc) +# 2017 Matthijs Kooijman (matthijs at stdin.nl) +# +# 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 . +# + + +os=$(cat "$__global/explorer/os") +release="$(cat "$__object/parameter/release")" + +case "$os" in + ubuntu|debian|devuan) + __file /etc/apt/apt.conf.d/99-default-release \ + --owner root --group root --mode 644 \ + --source - << DONE +APT::Default-Release "$release"; +DONE + ;; + *) + cat >&2 << DONE +The developer of this type (${__type##*/}) did not think your operating system +($os) would have any use for it. If you think otherwise please submit a patch. +DONE + exit 1 + ;; +esac diff --git a/cdist/conf/type/__apt_default_release/parameter/required b/cdist/conf/type/__apt_default_release/parameter/required new file mode 100644 index 00000000..d7025695 --- /dev/null +++ b/cdist/conf/type/__apt_default_release/parameter/required @@ -0,0 +1 @@ +release diff --git a/cdist/conf/type/__apt_default_release/singleton b/cdist/conf/type/__apt_default_release/singleton new file mode 100644 index 00000000..e69de29b