diff --git a/bin/cdist-build-helper b/bin/cdist-build-helper index 6f514ef5..0380b3f8 100755 --- a/bin/cdist-build-helper +++ b/bin/cdist-build-helper @@ -1,6 +1,6 @@ #!/bin/sh # -# 2011-2022 Nico Schottelius (nico-cdist at schottelius.org) +# 2011-2013 Nico Schottelius (nico-cdist at schottelius.org) # 2016-2019 Darko Poljak (darko.poljak at gmail.com) # # This file is part of cdist. @@ -534,8 +534,7 @@ eof ;; version) - target_version="$(git describe | sed 's/-/.dev/; s/-/+/g')" - printf "VERSION = \"%s\"\n" "${target_version}" > cdist/version.py + printf "VERSION = \"%s\"\n" "$(git describe)" > cdist/version.py ;; target-version) diff --git a/cdist/argparse.py b/cdist/argparse.py index 8f7bbb85..f17315e7 100644 --- a/cdist/argparse.py +++ b/cdist/argparse.py @@ -472,6 +472,9 @@ def get_parsers(): parser['info'].set_defaults(func=cdist.info.Info.commandline) # Scan = config + further + parser['scan'] = parser['sub'].add_parser('scan', add_help=False, + parents=[parser['config']]) + parser['scan'] = parser['sub'].add_parser( 'scan', parents=[parser['loglevel'], parser['beta'], diff --git a/cdist/conf/explorer/lsb_codename b/cdist/conf/explorer/lsb_codename index c9fb5cdf..26bb8e3d 100755 --- a/cdist/conf/explorer/lsb_codename +++ b/cdist/conf/explorer/lsb_codename @@ -21,9 +21,6 @@ set +e case "$("$__explorer/os")" in - checkpoint) - awk '{printf("%s\n", $(NF-1))}' /etc/cp-release - ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_CODENAME") diff --git a/cdist/conf/explorer/lsb_description b/cdist/conf/explorer/lsb_description index 7279a9c2..b1009627 100755 --- a/cdist/conf/explorer/lsb_description +++ b/cdist/conf/explorer/lsb_description @@ -21,9 +21,6 @@ set +e case "$("$__explorer/os")" in - checkpoint) - cat /etc/cp-release - ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_DESCRIPTION") diff --git a/cdist/conf/explorer/lsb_id b/cdist/conf/explorer/lsb_id index 1f91cc40..82ff9977 100755 --- a/cdist/conf/explorer/lsb_id +++ b/cdist/conf/explorer/lsb_id @@ -21,9 +21,6 @@ set +e case "$("$__explorer/os")" in - checkpoint) - echo "CheckPoint" - ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_ID") diff --git a/cdist/conf/explorer/lsb_release b/cdist/conf/explorer/lsb_release index 0bb9f7fe..5ebfff1a 100755 --- a/cdist/conf/explorer/lsb_release +++ b/cdist/conf/explorer/lsb_release @@ -21,9 +21,6 @@ set +e case "$("$__explorer/os")" in - checkpoint) - sed /etc/cp-release -e 's/.* R\([1-9][0-9]*\)\.[0-9]*$/\1/' - ;; openwrt) # shellcheck disable=SC1091 (. /etc/openwrt_release && echo "$DISTRIB_RELEASE") diff --git a/cdist/conf/explorer/machine_type b/cdist/conf/explorer/machine_type index c31f5ca6..00646c75 100755 --- a/cdist/conf/explorer/machine_type +++ b/cdist/conf/explorer/machine_type @@ -515,7 +515,7 @@ check_vm_arch_specific() { && return 0 fi if has_cpuinfo \ - && grep -q -i -e '^flags.*:.*\(hypervisor\|vmm\)\( \|$\)' /proc/cpuinfo + && grep -q -i -e '^flags.*:.*\(hypervisor\|vmm\)' /proc/cpuinfo then return 0 fi diff --git a/cdist/conf/explorer/os b/cdist/conf/explorer/os index b9232ee4..32bb282c 100755 --- a/cdist/conf/explorer/os +++ b/cdist/conf/explorer/os @@ -51,6 +51,13 @@ if grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null; then exit 0 fi +if grep -q ^DISTRIB_ID=LinuxMint /etc/lsb-release 2>/dev/null; then + echo linuxmint + exit 0 +fi + +#FIXME: Linux Mint Debian Edition/lmde + # devuan ascii has both devuan_version and debian_version, so we need to check devuan_version first! if [ -f /etc/devuan_version ]; then echo devuan @@ -116,13 +123,6 @@ if [ -f /etc/slackware-version ]; then exit 0 fi -# Appliances - -if grep -q '^Check Point Gaia' /etc/cp-release 2>/dev/null; then - echo checkpoint - exit 0 -fi - uname_s="$(uname -s)" # Assume there is no tr on the client -> do lower case ourselves diff --git a/cdist/conf/explorer/os_release b/cdist/conf/explorer/os_release index ec85046f..6489446b 100644 --- a/cdist/conf/explorer/os_release +++ b/cdist/conf/explorer/os_release @@ -34,9 +34,5 @@ elif test -f /var/run/os-release then # FreeBSD (created by os-release service) cat /var/run/os-release -elif test -f /etc/cp-release -then - # Checkpoint firewall or management (actually linux based) - cat /etc/cp-release fi diff --git a/cdist/conf/explorer/os_version b/cdist/conf/explorer/os_version index fc59fd14..edc92a77 100755 --- a/cdist/conf/explorer/os_version +++ b/cdist/conf/explorer/os_version @@ -41,10 +41,7 @@ in # empty, but well... cat /etc/arch-release ;; - checkpoint) - awk '{version=$NF; printf("%s\n", substr(version, 2))}' /etc/cp-release - ;; - debian) + debian|lmde) debian_version=$(cat /etc/debian_version) case $debian_version in @@ -82,7 +79,6 @@ in # ceres versions don't have a number, so we decode by codename: case ${devuan_version} in - (daedalus/ceres) echo 4.99 ;; (chimaera/ceres) echo 3.99 ;; (beowulf/ceres) echo 2.99 ;; (ascii/ceres) echo 1.99 ;; @@ -138,7 +134,7 @@ in cat /etc/SuSE-release fi ;; - ubuntu) + ubuntu|linuxmint) if command -v lsb_release >/dev/null 2>&1 then lsb_release -sr diff --git a/cdist/conf/type/__apt_backports/manifest b/cdist/conf/type/__apt_backports/manifest index 6fcd9212..46bf8eb2 100755 --- a/cdist/conf/type/__apt_backports/manifest +++ b/cdist/conf/type/__apt_backports/manifest @@ -36,7 +36,7 @@ codename_os_release() { # detect backport distribution os="$(cat "$__global/explorer/os")" case "$os" in - debian) + debian|lmde) dist="$( codename_os_release )" components="main" mirror="http://deb.debian.org/debian/" @@ -46,7 +46,7 @@ case "$os" in components="main" mirror="http://deb.devuan.org/merged" ;; - ubuntu) + ubuntu|linuxmint) dist="$( codename_os_release )" components="main restricted universe multiverse" mirror="http://archive.ubuntu.com/ubuntu" diff --git a/cdist/conf/type/__apt_default_release/manifest b/cdist/conf/type/__apt_default_release/manifest index 1232efb5..bbdf6311 100755 --- a/cdist/conf/type/__apt_default_release/manifest +++ b/cdist/conf/type/__apt_default_release/manifest @@ -24,7 +24,7 @@ os=$(cat "$__global/explorer/os") release="$(cat "$__object/parameter/release")" case "$os" in - ubuntu|debian|devuan) + ubuntu|debian|devuan|linuxmint|lmde) __file /etc/apt/apt.conf.d/99-default-release \ --owner root --group root --mode 644 \ --source - << DONE diff --git a/cdist/conf/type/__apt_mark/explorer/state b/cdist/conf/type/__apt_mark/explorer/state index b464179a..b7fe08fa 100755 --- a/cdist/conf/type/__apt_mark/explorer/state +++ b/cdist/conf/type/__apt_mark/explorer/state @@ -24,4 +24,4 @@ else name="$__object_id" fi -apt-mark showhold | grep -q "^${name}$" && echo hold || echo unhold +apt-mark showhold | grep -Fq "$name" && echo hold || echo unhold diff --git a/cdist/conf/type/__apt_norecommends/manifest b/cdist/conf/type/__apt_norecommends/manifest index fc187784..05bc369e 100755 --- a/cdist/conf/type/__apt_norecommends/manifest +++ b/cdist/conf/type/__apt_norecommends/manifest @@ -24,7 +24,7 @@ os=$(cat "${__global:?}/explorer/os") case ${os} in - (ubuntu|debian|devuan) + (ubuntu|debian|devuan|linuxmint|lmde) __file /etc/apt/apt.conf.d/00InstallRecommends --state present \ --owner root --group root --mode 0644 --source - <<-'EOF' APT::Install-Recommends "false"; diff --git a/cdist/conf/type/__apt_pin/man.rst b/cdist/conf/type/__apt_pin/man.rst index e6ec8b51..4229c0cd 100644 --- a/cdist/conf/type/__apt_pin/man.rst +++ b/cdist/conf/type/__apt_pin/man.rst @@ -23,7 +23,7 @@ package Package name, glob or regular expression to match (multiple) packages. If not specified `__object_id` is used. priority - The priority value to assign to matching packages. Defaults to 500. (To match the default target distro's priority) + The priority value to assign to matching packages. Deafults to 500. (To match the default target distro's priority) state Will be passed to underlying `__file` type; see there for valid values and defaults. diff --git a/cdist/conf/type/__apt_pin/manifest b/cdist/conf/type/__apt_pin/manifest index 983b2b42..22368d7a 100755 --- a/cdist/conf/type/__apt_pin/manifest +++ b/cdist/conf/type/__apt_pin/manifest @@ -35,7 +35,7 @@ priority="$(cat "$__object/parameter/priority")" case "$os" in - debian|ubuntu|devuan) + debian|ubuntu|devuan|linux|lmde) ;; *) printf "This type is specific to Debian and it's derivatives" >&2 @@ -57,11 +57,6 @@ __file "/etc/apt/preferences.d/$name" \ --owner root --group root --mode 0644 \ --state "$state" \ --source - << EOF -# Created by cdist ${__type##*/} -# Do not change. Changes will be overwritten. -# - -# $name Package: $package Pin: $pin Pin-Priority: $priority diff --git a/cdist/conf/type/__apt_pin/parameter/default/priority b/cdist/conf/type/__apt_pin/parameter/default/priority deleted file mode 100644 index 1b79f38e..00000000 --- a/cdist/conf/type/__apt_pin/parameter/default/priority +++ /dev/null @@ -1 +0,0 @@ -500 diff --git a/cdist/conf/type/__apt_pin/parameter/optional b/cdist/conf/type/__apt_pin/parameter/optional index 847e703d..52f01fd2 100644 --- a/cdist/conf/type/__apt_pin/parameter/optional +++ b/cdist/conf/type/__apt_pin/parameter/optional @@ -1,3 +1,2 @@ state package -priority diff --git a/cdist/conf/type/__apt_pin/parameter/required b/cdist/conf/type/__apt_pin/parameter/required index c8572d92..4b4e9741 100644 --- a/cdist/conf/type/__apt_pin/parameter/required +++ b/cdist/conf/type/__apt_pin/parameter/required @@ -1 +1,2 @@ distribution +priority diff --git a/cdist/conf/type/__apt_ppa/files/remove-apt-repository b/cdist/conf/type/__apt_ppa/files/remove-apt-repository new file mode 100755 index 00000000..3eb7d491 --- /dev/null +++ b/cdist/conf/type/__apt_ppa/files/remove-apt-repository @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# +# Remove the given apt repository. +# +# Exit with: +# 0: if it worked +# 1: if not +# 2: on other error + +import os +import sys +from aptsources import distro, sourceslist +from softwareproperties import ppa +from softwareproperties.SoftwareProperties import SoftwareProperties + + +def remove_if_empty(file_name): + with open(file_name, 'r') as f: + if f.read().strip(): + return + os.unlink(file_name) + +def remove_repository(repository): + #print 'repository:', repository + codename = distro.get_distro().codename + #print 'codename:', codename + (line, file) = ppa.expand_ppa_line(repository.strip(), codename) + #print 'line:', line + #print 'file:', file + deb_source_entry = sourceslist.SourceEntry(line, file) + src_source_entry = sourceslist.SourceEntry('deb-src{}'.format(line[3:]), file) + + try: + sp = SoftwareProperties() + sp.remove_source(deb_source_entry) + try: + # If there's a deb-src entry, remove that too + sp.remove_source(src_source_entry) + except: + pass + remove_if_empty(file) + return True + except ValueError: + print >> sys.stderr, "Error: '%s' doesn't exists in a sourcelist file" % line + return False + +if __name__ == '__main__': + if (len(sys.argv) != 2): + print >> sys.stderr, 'Error: need a repository as argument' + sys.exit(2) + repository = sys.argv[1] + if remove_repository(repository): + sys.exit(0) + else: + sys.exit(1) diff --git a/cdist/conf/type/__apt_ppa/gencode-remote b/cdist/conf/type/__apt_ppa/gencode-remote index e41341b8..84ebebfe 100755 --- a/cdist/conf/type/__apt_ppa/gencode-remote +++ b/cdist/conf/type/__apt_ppa/gencode-remote @@ -29,9 +29,9 @@ fi case "$state_should" in present) - echo "add-apt-repository -y '$name'" + echo "add-apt-repository '$name'" ;; absent) - echo "add-apt-repository -r -y '$name'" + echo "remove-apt-repository '$name'" ;; esac diff --git a/cdist/conf/type/__apt_ppa/manifest b/cdist/conf/type/__apt_ppa/manifest index 57e85442..c6f4e876 100755 --- a/cdist/conf/type/__apt_ppa/manifest +++ b/cdist/conf/type/__apt_ppa/manifest @@ -20,4 +20,9 @@ __package software-properties-common +require="__package/software-properties-common" \ + __file /usr/local/bin/remove-apt-repository \ + --source "$__type/files/remove-apt-repository" \ + --mode 0755 + require="$__object_name" __apt_update_index diff --git a/cdist/conf/type/__apt_source/files/source.list.template b/cdist/conf/type/__apt_source/files/source.list.template index a28bb45f..d4420e96 100755 --- a/cdist/conf/type/__apt_source/files/source.list.template +++ b/cdist/conf/type/__apt_source/files/source.list.template @@ -2,14 +2,13 @@ set -u entry="$uri $distribution $component" - cat << DONE # Created by cdist ${__type##*/} # Do not change. Changes will be overwritten. # # $name -deb ${options} $entry +deb ${forcedarch} $entry DONE if [ -f "$__object/parameter/include-src" ]; then echo "deb-src $entry" diff --git a/cdist/conf/type/__apt_source/man.rst b/cdist/conf/type/__apt_source/man.rst index d317a135..d1acb388 100644 --- a/cdist/conf/type/__apt_source/man.rst +++ b/cdist/conf/type/__apt_source/man.rst @@ -23,9 +23,6 @@ OPTIONAL PARAMETERS arch set this if you need to force and specific arch (ubuntu specific) -signed-by - provide a GPG key fingerprint or keyring path for signature checks - state 'present' or 'absent', defaults to 'present' @@ -59,11 +56,6 @@ EXAMPLES --uri http://archive.canonical.com/ \ --component partner --state present - __apt_source goaccess \ - --uri http://deb.goaccess.io/ \ - --component main \ - --signed-by C03B48887D5E56B046715D3297BD1A0133449C3D - AUTHORS ------- diff --git a/cdist/conf/type/__apt_source/manifest b/cdist/conf/type/__apt_source/manifest index fd1ec47f..35f15909 100755 --- a/cdist/conf/type/__apt_source/manifest +++ b/cdist/conf/type/__apt_source/manifest @@ -21,7 +21,6 @@ name="$__object_id" state="$(cat "$__object/parameter/state")" uri="$(cat "$__object/parameter/uri")" -options="" if [ -f "$__object/parameter/distribution" ]; then distribution="$(cat "$__object/parameter/distribution")" @@ -32,15 +31,9 @@ fi component="$(cat "$__object/parameter/component")" if [ -f "$__object/parameter/arch" ]; then - options="arch=$(cat "$__object/parameter/arch")" -fi - -if [ -f "$__object/parameter/signed-by" ]; then - options="$options signed-by=$(cat "$__object/parameter/signed-by")" -fi - -if [ "$options" ]; then - options="[$options]" + forcedarch="[arch=$(cat "$__object/parameter/arch")]" +else + forcedarch="" fi # export variables for use in template @@ -48,7 +41,7 @@ export name export uri export distribution export component -export options +export forcedarch # generate file from template mkdir "$__object/files" diff --git a/cdist/conf/type/__apt_source/parameter/optional b/cdist/conf/type/__apt_source/parameter/optional index 0b5470a1..87537335 100644 --- a/cdist/conf/type/__apt_source/parameter/optional +++ b/cdist/conf/type/__apt_source/parameter/optional @@ -1,5 +1,4 @@ state distribution component -arch -signed-by +arch \ No newline at end of file diff --git a/cdist/conf/type/__consul/manifest b/cdist/conf/type/__consul/manifest index 156eb667..cc4221c5 100755 --- a/cdist/conf/type/__consul/manifest +++ b/cdist/conf/type/__consul/manifest @@ -24,7 +24,7 @@ os=$(cat "$__global/explorer/os") case "$os" in - alpine|scientific|centos|redhat|ubuntu|debian|devuan|archlinux|gentoo) + alpine|scientific|centos|redhat|ubuntu|debian|devuan|archlinux|gentoo|linuxmint|lmde) # any linux should work : ;; diff --git a/cdist/conf/type/__consul_agent/manifest b/cdist/conf/type/__consul_agent/manifest index 7b54529c..a90b7d9d 100755 --- a/cdist/conf/type/__consul_agent/manifest +++ b/cdist/conf/type/__consul_agent/manifest @@ -58,6 +58,7 @@ esac distribution_setup () { case "$os" in +#FIXME: Linux Mint Debian Edition/lmde debian) # consul is only available starting Debian 10 (buster). # See https://packages.debian.org/buster/consul @@ -136,7 +137,7 @@ init_upstart() manual_setup () { case "$os" in - alpine|scientific|centos|debian|devuan|redhat|ubuntu) + alpine|scientific|centos|debian|devuan|redhat|ubuntu|linuxmint|lmde) # whitelist safeguard : ;; @@ -191,6 +192,7 @@ manual_setup () { esac ;; +#FIXME: Linux Mint Debian Edition/lmde debian) os_version=$(cat "$__global/explorer/os_version") major_version="${os_version%%.*}" @@ -209,6 +211,7 @@ manual_setup () { esac ;; +#FIXME: Linux Mint ubuntu) init_upstart ;; diff --git a/cdist/conf/type/__docker/manifest b/cdist/conf/type/__docker/manifest index 6a57d85a..cb82f7f9 100755 --- a/cdist/conf/type/__docker/manifest +++ b/cdist/conf/type/__docker/manifest @@ -44,7 +44,7 @@ case "$os" in exit 1 fi ;; - ubuntu|debian) + ubuntu|debian|linuxmint|lmde) if [ "${state}" = "present" ]; then __package apt-transport-https __package ca-certificates diff --git a/cdist/conf/type/__dot_file/man.rst b/cdist/conf/type/__dot_file/man.rst index c8f36712..ba7621a1 100644 --- a/cdist/conf/type/__dot_file/man.rst +++ b/cdist/conf/type/__dot_file/man.rst @@ -37,12 +37,6 @@ state source forwarded to :strong:`__file` type -file - forwarded to :strong:`__file` type - This can be used if multiple users need to have a dotfile updated, - which will result in duplicate object id errors. When using the - file parameter the object id can be some unique value. - MESSAGES -------- @@ -67,15 +61,6 @@ EXAMPLES # Install default xmonad config for user 'eve'. Parent directory is created automatically. __dot_file .xmonad/xmonad.hs --user eve --state exists --source "$__files/xmonad.hs" - # install .vimrc for root and some users - for user in root userx usery userz; do - __dot_file "${user}_dot_vimrc" \ - --user $user \ - --file .vimrc \ - --state exists \ - --source "$__files/$user/.vimrc" - done - SEE ALSO -------- diff --git a/cdist/conf/type/__dot_file/manifest b/cdist/conf/type/__dot_file/manifest index a38ed943..02dadf05 100755 --- a/cdist/conf/type/__dot_file/manifest +++ b/cdist/conf/type/__dot_file/manifest @@ -20,19 +20,13 @@ user="$(cat "${__object}/parameter/user")" home="$(cat "${__object}/explorer/home")" primary_group="$(cat "${__object}/explorer/primary_group")" dirmode="$(cat "${__object}/parameter/dirmode")" -if [ -f "${__object}/parameter/file" ]; then - file="$(cat "${__object}/parameter/file")" -else - file="${__object_id}" -fi - # Create parent directory. Type __directory has flag 'parents', but it # will leave us with root-owned directory in user home, which is not # acceptable. So we create parent directories one-by-one. XXX: maybe # it should be fixed in '__directory'? set -- -subpath=${file} +subpath=${__object_id} while subpath="$(dirname "${subpath}")" ; do [ "${subpath}" = . ] && break set -- "${subpath}" "$@" @@ -70,4 +64,4 @@ if [ "${source}" = "-" ] ; then fi unset source -__file "${home}/${file}" --owner "$user" --group "$primary_group" "$@" +__file "${home}/${__object_id}" --owner "$user" --group "$primary_group" "$@" diff --git a/cdist/conf/type/__file/gencode-local b/cdist/conf/type/__file/gencode-local index 5a303308..231b6927 100755 --- a/cdist/conf/type/__file/gencode-local +++ b/cdist/conf/type/__file/gencode-local @@ -1,7 +1,7 @@ #!/bin/sh -e # # 2011-2012 Nico Schottelius (nico-cdist at schottelius.org) -# 2013-2022 Steven Armstrong (steven-cdist armstrong.cc) +# 2013 Steven Armstrong (steven-cdist armstrong.cc) # # This file is part of cdist. # @@ -72,7 +72,6 @@ if [ "$state_should" = "present" ] || [ "$state_should" = "exists" ]; then if [ "$type" != "file" ]; then # destination is not a regular file, upload source to replace it upload_file=1 - echo upload >> "$__messages_out" else local_cksum="$(cksum < "$source")" remote_cksum="$(cat "$__object/explorer/cksum")" @@ -89,39 +88,27 @@ if [ "$state_should" = "present" ] || [ "$state_should" = "exists" ]; then mkdir "$__object/files" touch "$__object/files/set-attributes" - if [ "$create_file" ]; then - # When creating an empty file we create it locally and then - # upload it so that permissions can be set before moving the file - # into place. - source="$__object/files/empty" - touch "$source" - fi - # upload file to temp location - upload_destination="${destination}.cdist.${__cdist_object_marker}.$$" - # Yes, we are aware that this is a race condition. - # However: - # a) cdist usually writes to directories that are not user writable - # (probably > 99.9%) - # b) if they are user owned, the user / attacker always wins - # (probably < 0.1%) - # c) the only case which we could improve are tmp directories and we - # don't think managing tmp directories with cdist is a typical case - # ("the rest %)" - - # Tell gencode-remote to where we uploaded the file so it can move - # it to its final destination. - echo "$upload_destination" > "$__object/files/upload-destination" - - # IPv6 fix - if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$' - then - my_target_host="[${__target_host}]" - else - my_target_host="${__target_host}" - fi + tempfile_template="${destination}.cdist.XXXXXXXXXX" cat << DONE -$__remote_copy "$source" "${my_target_host}:${upload_destination}" +destination_upload="\$($__remote_exec $__target_host "mktemp $tempfile_template")" +DONE + if [ "$upload_file" ]; then + echo upload >> "$__messages_out" + # IPv6 fix + if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$' + then + my_target_host="[${__target_host}]" + else + my_target_host="${__target_host}" + fi + cat << DONE +$__remote_copy "$source" "${my_target_host}:\$destination_upload" +DONE + fi +# move uploaded file into place +cat << DONE +$__remote_exec $__target_host "rm -rf \"$destination\"; mv \"\$destination_upload\" \"$destination\"" DONE fi fi diff --git a/cdist/conf/type/__file/gencode-remote b/cdist/conf/type/__file/gencode-remote index 1a9ff69c..f7a528fd 100755 --- a/cdist/conf/type/__file/gencode-remote +++ b/cdist/conf/type/__file/gencode-remote @@ -1,7 +1,7 @@ #!/bin/sh -e # # 2011-2013 Nico Schottelius (nico-cdist at schottelius.org) -# 2013-2022 Steven Armstrong (steven-cdist armstrong.cc) +# 2013 Steven Armstrong (steven-cdist armstrong.cc) # # This file is part of cdist. # @@ -62,13 +62,6 @@ set_mode() { case "$state_should" in present|exists) - if [ -f "$__object/files/upload-destination" ]; then - final_destination="$destination" - # We change the 'global' $destination variable here so we can - # change attributes of the new/uploaded file before moving it - # to it's final destination. - destination="$(cat "$__object/files/upload-destination")" - fi # Note: Mode - needs to happen last as a chown/chgrp can alter mode by # clearing S_ISUID and S_ISGID bits (see chown(2)) for attribute in group owner mode; do @@ -88,11 +81,6 @@ case "$state_should" in fi fi done - if [ -f "$__object/files/upload-destination" ]; then - # move uploaded file into place - printf 'rm -rf "%s"\n' "$final_destination" - printf 'mv "%s" "%s"\n' "$destination" "$final_destination" - fi if [ -f "$__object/files/set-attributes" ]; then # set-attributes is created if file is created or uploaded in gencode-local fire_onchange=1 diff --git a/cdist/conf/type/__firewalld_start/gencode-remote b/cdist/conf/type/__firewalld_start/gencode-remote index 3e767f68..2e9099ee 100755 --- a/cdist/conf/type/__firewalld_start/gencode-remote +++ b/cdist/conf/type/__firewalld_start/gencode-remote @@ -45,6 +45,7 @@ if [ "$init" = 'systemd' ]; then echo "systemctl \"$cmd\" \"$name\"" else case "$os" in +#FIXME: Linux Mint Debian Edition/lmde debian) case "$os_version" in [1-7]*) @@ -72,7 +73,7 @@ else echo "/etc/init.d/\"$name\" \"$cmd\"" ;; - ubuntu) + ubuntu|linuxmint) echo "service \"$name\" \"$cmd\"" ;; diff --git a/cdist/conf/type/__go_get/manifest b/cdist/conf/type/__go_get/manifest index a5cc4c80..3440f310 100755 --- a/cdist/conf/type/__go_get/manifest +++ b/cdist/conf/type/__go_get/manifest @@ -5,7 +5,7 @@ go_executable=$(cat "$__object/explorer/go-executable") os=$(cat "$__global/explorer/os") case $os in - debian|devuan|ubuntu) + debian|devuan|ubuntu|linuxmint|lmde) __package build-essential ;; *) diff --git a/cdist/conf/type/__grafana_dashboard/manifest b/cdist/conf/type/__grafana_dashboard/manifest index 0d944482..e94fc954 100755 --- a/cdist/conf/type/__grafana_dashboard/manifest +++ b/cdist/conf/type/__grafana_dashboard/manifest @@ -5,6 +5,7 @@ os_version=$(cat "$__global/explorer/os_version") require="" case $os in +#FIXME: Linux Mint Debian Edition/lmde debian|devuan) case $os_version in 8*|jessie) diff --git a/cdist/conf/type/__hostname/gencode-remote b/cdist/conf/type/__hostname/gencode-remote index c1a97ac8..b09fef3e 100755 --- a/cdist/conf/type/__hostname/gencode-remote +++ b/cdist/conf/type/__hostname/gencode-remote @@ -59,7 +59,7 @@ echo 'changed' >>"${__messages_out:?}" # Use the good old way to set the hostname. case ${os} in - (alpine|debian|devuan|ubuntu) + (alpine|debian|devuan|ubuntu|linuxmint|lmde) echo 'hostname -F /etc/hostname' ;; (archlinux) diff --git a/cdist/conf/type/__hostname/manifest b/cdist/conf/type/__hostname/manifest index b80aa2ef..7bceb120 100755 --- a/cdist/conf/type/__hostname/manifest +++ b/cdist/conf/type/__hostname/manifest @@ -56,7 +56,7 @@ fi case ${os} in - (alpine|debian|devuan|ubuntu|void) + (alpine|debian|devuan|ubuntu|void|linuxmint|lmde) echo "${name_should}" | __file /etc/hostname --source - ;; (archlinux) diff --git a/cdist/conf/type/__hwclock/manifest b/cdist/conf/type/__hwclock/manifest index 7d9ab88f..c5939a30 100755 --- a/cdist/conf/type/__hwclock/manifest +++ b/cdist/conf/type/__hwclock/manifest @@ -104,11 +104,12 @@ in unset CDIST_ORDER_DEPENDENCY fi ;; - (debian|devuan|ubuntu) + (debian|devuan|ubuntu|linuxmint|lmde) os_major=$(sed 's/[^0-9].*$//' "${__global:?}/explorer/os_version") case ${os} in +#FIXME: Linux Mint Debian Edition/lmde (debian) if test "${os_major}" -ge 7 then @@ -129,7 +130,7 @@ in (devuan) update_rcS=false ;; - (ubuntu) + (ubuntu|linuxmint) update_rcS=$(test "${os_major}" -lt 16 && echo true || echo false) ;; esac diff --git a/cdist/conf/type/__install_bootloader_grub/explorer/target_os b/cdist/conf/type/__install_bootloader_grub/explorer/target_os index f235710a..117a8c53 100755 --- a/cdist/conf/type/__install_bootloader_grub/explorer/target_os +++ b/cdist/conf/type/__install_bootloader_grub/explorer/target_os @@ -48,6 +48,13 @@ if grep -q ^DISTRIB_ID=Ubuntu "$chroot/etc/lsb-release" 2>/dev/null; then exit 0 fi +if grep -q ^DISTRIB_ID=LinuxMint "$chroot/etc/lsb-release" 2>/dev/null; then + echo linuxmint + exit 0 +fi + +#FIXME: Linux Mint Debian Edition/lmde + if [ -f "$chroot/etc/debian_version" ]; then echo debian exit 0 diff --git a/cdist/conf/type/__install_bootloader_grub/gencode-remote b/cdist/conf/type/__install_bootloader_grub/gencode-remote index 1caebbbf..3c5bf3e8 100755 --- a/cdist/conf/type/__install_bootloader_grub/gencode-remote +++ b/cdist/conf/type/__install_bootloader_grub/gencode-remote @@ -34,7 +34,7 @@ exec > "$install_script" printf '#!/bin/sh -l\n' case "$target_os" in - ubuntu|debian) + ubuntu|debian|linuxmint|lmde) if [ -s "$__global/explorer/efi" ]; then # FIXME: untested. maybe also just run update-grub for EFI system? printf 'grub-mkconfig --output=/boot/efi/EFI/%s/grub.cfg\n' "$target_os" diff --git a/cdist/conf/type/__letsencrypt_cert/manifest b/cdist/conf/type/__letsencrypt_cert/manifest index 39067f3b..971cdf17 100644 --- a/cdist/conf/type/__letsencrypt_cert/manifest +++ b/cdist/conf/type/__letsencrypt_cert/manifest @@ -15,6 +15,7 @@ if [ -z "${certbot_fullpath}" ]; then alpine) __package certbot ;; +#FIXME: Linux Mint Debian Edition/lmde debian) case "$os_version" in 8*) @@ -85,10 +86,10 @@ if [ -z "${certbot_fullpath}" ]; then esac ;; freebsd) - __package py39-certbot + __package py37-certbot certbot_fullpath="/usr/local/bin/certbot" ;; - ubuntu) + ubuntu|linuxmint) __package certbot ;; *) diff --git a/cdist/conf/type/__locale/manifest b/cdist/conf/type/__locale/manifest index 9f1e17ac..a83cabae 100755 --- a/cdist/conf/type/__locale/manifest +++ b/cdist/conf/type/__locale/manifest @@ -26,11 +26,12 @@ os=$(cat "$__global/explorer/os") case "$os" in +#FIXME: Linux Mint Debian Edition/lmde debian|devuan) # Debian needs a seperate package __package locales --state present ;; - archlinux|suse|ubuntu|scientific|centos|alpine) + archlinux|suse|ubuntu|scientific|centos|alpine|linuxmint) : ;; *) diff --git a/cdist/conf/type/__locale_system/manifest b/cdist/conf/type/__locale_system/manifest index 4b996ebc..7172f1f9 100755 --- a/cdist/conf/type/__locale_system/manifest +++ b/cdist/conf/type/__locale_system/manifest @@ -55,6 +55,7 @@ os=$(cat "$__global/explorer/os") case $os in +#FIXME: Linux Mint Debian Edition/lmde debian) if version_ge 4 <"${__global}/explorer/os_version" then @@ -67,7 +68,7 @@ in devuan) locale_conf="/etc/default/locale" ;; - ubuntu) + ubuntu|linuxmint) if version_ge 6.10 <"${__global}/explorer/os_version" then # Ubuntu 6.10 (edgy) and later diff --git a/cdist/conf/type/__localedef/gencode-remote b/cdist/conf/type/__localedef/gencode-remote index 4538151f..af0bc783 100755 --- a/cdist/conf/type/__localedef/gencode-remote +++ b/cdist/conf/type/__localedef/gencode-remote @@ -61,7 +61,7 @@ in printf '%s does not support locales.\n' "${os}" >&2 exit 1 ;; - (archlinux|debian|devuan|ubuntu|suse|centos|fedora|redhat|scientific) + (archlinux|debian|devuan|ubuntu|suse|centos|fedora|redhat|scientific|linuxmint|lmde) # FIXME: The code below only works for glibc-based installations. # NOTE: Hardcoded, create a pull request in case it is at another diff --git a/cdist/conf/type/__localedef/manifest b/cdist/conf/type/__localedef/manifest index 3ab3ad8c..3f2a8022 100755 --- a/cdist/conf/type/__localedef/manifest +++ b/cdist/conf/type/__localedef/manifest @@ -24,7 +24,7 @@ case $(cat "${__global:?}/explorer/os") in - (debian|devuan) + (debian|devuan|lmde) __package_apt locales --state present ;; esac diff --git a/cdist/conf/type/__openldap_server/manifest b/cdist/conf/type/__openldap_server/manifest index 2aeece26..54dd6a1c 100644 --- a/cdist/conf/type/__openldap_server/manifest +++ b/cdist/conf/type/__openldap_server/manifest @@ -37,7 +37,7 @@ case "${os}" in tls_cipher_suite="HIGH:MEDIUM:+SSLv2" fi ;; - debian|ubuntu|devuan) + debian|ubuntu|devuan|linuxmint|lmde) PKGS="slapd ldap-utils" ETC="/etc" SLAPD_DIR="/etc/ldap" @@ -157,7 +157,7 @@ case "${os}" in --comment "# LDAP Listener URLs" \ "${__target_host}__slapd_flags" ;; - debian|ubuntu|devuan) + debian|ubuntu|devuan|linuxmint|lmde) require="__package/${PKG_MAIN}" __line rm_slapd_conf \ --file ${ETC}/default/slapd \ --regex 'SLAPD_CONF=.*' \ diff --git a/cdist/conf/type/__package/manifest b/cdist/conf/type/__package/manifest index a453c32b..e6dfd840 100755 --- a/cdist/conf/type/__package/manifest +++ b/cdist/conf/type/__package/manifest @@ -33,7 +33,7 @@ else case "$os" in amazon|scientific|centos|fedora|redhat) type="yum" ;; archlinux) type="pacman" ;; - debian|ubuntu|devuan) type="apt" ;; + debian|ubuntu|devuan|linuxmint|lmde) type="apt" ;; freebsd) if [ -n "$(cat "$__object/explorer/pkgng_exists")" ]; then type="pkgng_freebsd" diff --git a/cdist/conf/type/__package_luarocks/manifest b/cdist/conf/type/__package_luarocks/manifest index 9e4499b2..7d8262ca 100755 --- a/cdist/conf/type/__package_luarocks/manifest +++ b/cdist/conf/type/__package_luarocks/manifest @@ -19,5 +19,5 @@ # along with cdist. If not, see . # -__package luarocks --state present -__package make --state present +__package luarocks --state installed +__package make --state installed diff --git a/cdist/conf/type/__package_update_index/explorer/type b/cdist/conf/type/__package_update_index/explorer/type index c98e1e67..07c06184 100644 --- a/cdist/conf/type/__package_update_index/explorer/type +++ b/cdist/conf/type/__package_update_index/explorer/type @@ -24,7 +24,7 @@ else os="$("$__explorer/os")" case "$os" in amazon|scientific|centos|fedora|redhat) echo "yum" ;; - debian|ubuntu|devuan) echo "apt" ;; + debian|ubuntu|devuan|linuxmint|lmde) echo "apt" ;; archlinux) echo "pacman" ;; alpine) echo "apk" ;; *) diff --git a/cdist/conf/type/__package_upgrade_all/gencode-remote b/cdist/conf/type/__package_upgrade_all/gencode-remote index d332e851..e2250c55 100755 --- a/cdist/conf/type/__package_upgrade_all/gencode-remote +++ b/cdist/conf/type/__package_upgrade_all/gencode-remote @@ -39,7 +39,7 @@ else os="$(cat "$__global/explorer/os")" case "$os" in amazon|scientific|centos|fedora|redhat) type="yum" ;; - debian|ubuntu|devuan) type="apt" ;; + debian|ubuntu|devuan|linuxmint|lmde) type="apt" ;; archlinux) type="pacman" ;; *) echo "Don't know how to manage packages on: $os" >&2 diff --git a/cdist/conf/type/__postfix_master/manifest b/cdist/conf/type/__postfix_master/manifest index 0960ea41..5e2a9ddc 100755 --- a/cdist/conf/type/__postfix_master/manifest +++ b/cdist/conf/type/__postfix_master/manifest @@ -22,7 +22,7 @@ os=$(cat "$__global/explorer/os") case "$os" in - ubuntu|debian|archlinux|scientific|centos|devuan) + ubuntu|debian|archlinux|scientific|centos|devuan|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__postfix_postconf/explorer/value b/cdist/conf/type/__postfix_postconf/explorer/value index 67dacad8..a84ec127 100755 --- a/cdist/conf/type/__postfix_postconf/explorer/value +++ b/cdist/conf/type/__postfix_postconf/explorer/value @@ -22,7 +22,7 @@ os=$("$__explorer/os") case "$os" in - alpine|ubuntu|debian|archlinux|suse|scientific|centos|devuan) + alpine|ubuntu|debian|archlinux|suse|scientific|centos|devuan|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__postfix_postconf/gencode-remote b/cdist/conf/type/__postfix_postconf/gencode-remote index 279dddd4..94f0b82a 100755 --- a/cdist/conf/type/__postfix_postconf/gencode-remote +++ b/cdist/conf/type/__postfix_postconf/gencode-remote @@ -22,7 +22,7 @@ os=$(cat "$__global/explorer/os") case "$os" in - alpine|archlinux|centos|debian|devuan|suse|scientific|ubuntu) + alpine|archlinux|centos|debian|devuan|suse|scientific|ubuntu|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__postfix_reload/gencode-remote b/cdist/conf/type/__postfix_reload/gencode-remote index 7720dc49..3bdc7e4b 100755 --- a/cdist/conf/type/__postfix_reload/gencode-remote +++ b/cdist/conf/type/__postfix_reload/gencode-remote @@ -22,7 +22,7 @@ os=$(cat "$__global/explorer/os") case "$os" in - ubuntu|debian|archlinux|scientific|centos|devuan) + ubuntu|debian|archlinux|scientific|centos|devuan|linuxmint|lmde) echo "postfix reload" ;; *) diff --git a/cdist/conf/type/__postgres_conf/explorer/postgres_user b/cdist/conf/type/__postgres_conf/explorer/postgres_user index c6582dc4..d2a6fa96 100644 --- a/cdist/conf/type/__postgres_conf/explorer/postgres_user +++ b/cdist/conf/type/__postgres_conf/explorer/postgres_user @@ -29,7 +29,7 @@ in (centos|rhel|scientific) echo 'postgres' ;; - (debian|devuan|ubuntu) + (debian|devuan|ubuntu|linuxmint|lmde) echo 'postgres' ;; (freebsd) diff --git a/cdist/conf/type/__sensible_editor/explorer/editor_path b/cdist/conf/type/__sensible_editor/explorer/editor_path index dcf63c9b..b7a43886 100644 --- a/cdist/conf/type/__sensible_editor/explorer/editor_path +++ b/cdist/conf/type/__sensible_editor/explorer/editor_path @@ -39,7 +39,7 @@ test "$(cat "${__object}/parameter/state")" != 'absent' || exit 0 case $("${__explorer}/os") in - debian|devuan|ubuntu) + debian|devuan|ubuntu|linuxmint|lmde) has_alternatives=true # NOTE: Old versions do not support `--list`, in this case ignore the errors. diff --git a/cdist/conf/type/__sensible_editor/manifest b/cdist/conf/type/__sensible_editor/manifest index 1cdb0c2c..6b8e3da7 100644 --- a/cdist/conf/type/__sensible_editor/manifest +++ b/cdist/conf/type/__sensible_editor/manifest @@ -57,7 +57,7 @@ package_name='sensible-utils' case $os in - debian) + debian|linuxmint|lmde) pkg_type='apt' ;; devuan) diff --git a/cdist/conf/type/__ssh_authorized_key/gencode-remote b/cdist/conf/type/__ssh_authorized_key/gencode-remote index cbffde94..61c77fb9 100755 --- a/cdist/conf/type/__ssh_authorized_key/gencode-remote +++ b/cdist/conf/type/__ssh_authorized_key/gencode-remote @@ -40,7 +40,6 @@ if [ -f "$file" ]; then grep -v -F -x '$line' '$file' >\$tmpfile fi cat "\$tmpfile" >"$file" -rm -f "\$tmpfile" DONE } diff --git a/cdist/conf/type/__sshd_config/manifest b/cdist/conf/type/__sshd_config/manifest index e37afebb..54485155 100755 --- a/cdist/conf/type/__sshd_config/manifest +++ b/cdist/conf/type/__sshd_config/manifest @@ -24,7 +24,7 @@ state_should=$(cat "${__object:?}/parameter/state") case ${os} in - (alpine|centos|fedora|redhat|scientific|debian|devuan|ubuntu) + (alpine|centos|fedora|redhat|scientific|debian|devuan|ubuntu|linuxmint|lmde) if test "${state_should}" != 'absent' then __package openssh-server --state present diff --git a/cdist/conf/type/__start_on_boot/explorer/state b/cdist/conf/type/__start_on_boot/explorer/state index b7a6cf0f..232a78bc 100644 --- a/cdist/conf/type/__start_on_boot/explorer/state +++ b/cdist/conf/type/__start_on_boot/explorer/state @@ -37,7 +37,7 @@ if [ "$init" = 'systemd' ]; then else case "$os" in - debian|openwrt|devuan) + debian|openwrt|devuan|lmde) state="absent" for file in "/etc/rc$runlevel.d/S"??"$name" do @@ -48,7 +48,7 @@ else fi done ;; - ubuntu) + ubuntu|linuxmint) state="absent" for file in "/etc/rc$runlevel.d/S"??"$name" do diff --git a/cdist/conf/type/__start_on_boot/gencode-remote b/cdist/conf/type/__start_on_boot/gencode-remote index c900933f..b03feeef 100755 --- a/cdist/conf/type/__start_on_boot/gencode-remote +++ b/cdist/conf/type/__start_on_boot/gencode-remote @@ -40,6 +40,7 @@ case "$state_should" in echo "systemctl -q enable '$name'" else case "$os" in +#FIXME: Linux Mint Debian Edition/lmde debian) case "$os_version" in [1-7]*) @@ -73,7 +74,7 @@ case "$state_should" in echo "'/etc/init.d/$name' enable || [ -f /etc/rc.d/S??'$name' ]" ;; - ubuntu) + ubuntu|linuxmint) echo "update-rc.d '$name' defaults >/dev/null" ;; diff --git a/cdist/conf/type/__sysctl/gencode-remote b/cdist/conf/type/__sysctl/gencode-remote index f0f6deef..3812eda1 100755 --- a/cdist/conf/type/__sysctl/gencode-remote +++ b/cdist/conf/type/__sysctl/gencode-remote @@ -30,7 +30,7 @@ fi os=$(cat "$__global/explorer/os") case "$os" in # Linux - redhat|centos|ubuntu|debian|devuan|archlinux|gentoo|coreos) + redhat|centos|ubuntu|debian|devuan|archlinux|gentoo|coreos|linuxmint|lmde) flag='-w' ;; # BusyBox diff --git a/cdist/conf/type/__sysctl/manifest b/cdist/conf/type/__sysctl/manifest index 71dea7f7..8c9e7ec2 100755 --- a/cdist/conf/type/__sysctl/manifest +++ b/cdist/conf/type/__sysctl/manifest @@ -25,7 +25,7 @@ os=$(cat "$__global/explorer/os") case "$os" in # Linux - alpine|redhat|centos|ubuntu|debian|devuan|archlinux|coreos) + alpine|redhat|centos|ubuntu|debian|devuan|archlinux|coreos|linuxmint|lmde) : ;; # BSD diff --git a/cdist/conf/type/__timezone/gencode-remote b/cdist/conf/type/__timezone/gencode-remote index d8612986..9ec7aae3 100755 --- a/cdist/conf/type/__timezone/gencode-remote +++ b/cdist/conf/type/__timezone/gencode-remote @@ -30,16 +30,7 @@ if [ "$timezone_is" = "$timezone_should" ]; then fi case "$os" in - ubuntu|debian|devuan|coreos|alpine) + ubuntu|debian|devuan|coreos|alpine|linuxmint|lmde) echo "echo \"$timezone_should\" > /etc/timezone" ;; esac - -case "$os" in - openwrt) - cat </dev/null || true +(id -G -n "$user" | tr ' ' '\n' | sort) 2>/dev/null || true diff --git a/cdist/conf/type/__user_groups/gencode-remote b/cdist/conf/type/__user_groups/gencode-remote index 0585e90f..8120761a 100755 --- a/cdist/conf/type/__user_groups/gencode-remote +++ b/cdist/conf/type/__user_groups/gencode-remote @@ -26,15 +26,13 @@ os=$(cat "$__global/explorer/os") mkdir "$__object/files" # file has to be sorted for comparison with `comm` sort "$__object/parameter/group" > "$__object/files/group.sorted" -# Use local sort for remote groups -sort "$__object/explorer/group" > "$__object/files/group-remote.sorted" case "$state_should" in present) - changed_groups="$(comm -13 "$__object/files/group-remote.sorted" "$__object/files/group.sorted")" + changed_groups="$(comm -13 "$__object/explorer/group" "$__object/files/group.sorted")" ;; absent) - changed_groups="$(comm -12 "$__object/files/group-remote.sorted" "$__object/files/group.sorted")" + changed_groups="$(comm -12 "$__object/explorer/group" "$__object/files/group.sorted")" ;; esac diff --git a/cdist/conf/type/__xymon_apache/gencode-remote b/cdist/conf/type/__xymon_apache/gencode-remote index e7d8e344..a6f90f1c 100755 --- a/cdist/conf/type/__xymon_apache/gencode-remote +++ b/cdist/conf/type/__xymon_apache/gencode-remote @@ -21,7 +21,7 @@ state=$(cat "$__object/parameter/state") os=$(cat "$__global/explorer/os") case "$os" in - debian|ubuntu) + debian|ubuntu|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__xymon_apache/manifest b/cdist/conf/type/__xymon_apache/manifest index bfd0af79..6e85ee98 100755 --- a/cdist/conf/type/__xymon_apache/manifest +++ b/cdist/conf/type/__xymon_apache/manifest @@ -21,7 +21,7 @@ state=$(cat "$__object/parameter/state") os=$(cat "$__global/explorer/os") case "$os" in - debian|ubuntu) + debian|ubuntu|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__xymon_client/manifest b/cdist/conf/type/__xymon_client/manifest index 88293a12..c75b92d0 100755 --- a/cdist/conf/type/__xymon_client/manifest +++ b/cdist/conf/type/__xymon_client/manifest @@ -22,7 +22,7 @@ servers=$(cat "$__object/parameter/servers") os=$(cat "$__global/explorer/os") case "$os" in - debian|ubuntu) + debian|ubuntu|linuxmint|lmde) : ;; *) diff --git a/cdist/conf/type/__xymon_server/manifest b/cdist/conf/type/__xymon_server/manifest index 7cee0d23..4b31d8ad 100755 --- a/cdist/conf/type/__xymon_server/manifest +++ b/cdist/conf/type/__xymon_server/manifest @@ -26,7 +26,7 @@ fi os=$(cat "$__global/explorer/os") case "$os" in - debian|ubuntu) + debian|ubuntu|linuxmint|lmde) : ;; *) diff --git a/cdist/test/autil/fixtures/explorer/os b/cdist/test/autil/fixtures/explorer/os index 094685ea..c357bfc0 100755 --- a/cdist/test/autil/fixtures/explorer/os +++ b/cdist/test/autil/fixtures/explorer/os @@ -50,6 +50,13 @@ if grep -q ^DISTRIB_ID=Ubuntu /etc/lsb-release 2>/dev/null; then exit 0 fi +if grep -q ^DISTRIB_ID=LinuxMint /etc/lsb-release 2>/dev/null; then + echo linuxmint + exit 0 +fi + +#FIXME: Linux Mint Debian Edition/lmde + if [ -f /etc/debian_version ]; then echo debian exit 0 diff --git a/cdist/test/autil/fixtures/explorer/os_version b/cdist/test/autil/fixtures/explorer/os_version index 380782cc..92335e74 100755 --- a/cdist/test/autil/fixtures/explorer/os_version +++ b/cdist/test/autil/fixtures/explorer/os_version @@ -30,6 +30,7 @@ case "$($__explorer/os)" in # empty, but well... cat /etc/arch-release ;; +#FIXME: Linux Mint Debian Edition/lmde debian) cat /etc/debian_version ;; @@ -67,7 +68,7 @@ case "$($__explorer/os)" in cat /etc/SuSE-release fi ;; - ubuntu) + ubuntu|linuxmint) lsb_release -sr ;; esac diff --git a/docs/changelog b/docs/changelog index fa741365..26d89057 100644 --- a/docs/changelog +++ b/docs/changelog @@ -2,17 +2,6 @@ Changelog --------- next: - * Type __timezone: Add support for OpenWRT (Nico Schottelius) - -7.0.1: - * Core: Remove double definition of scan parser (Nico Schottelius) - * Type __apt_mark: Narrow down grep for hold packages (marcoduif) - * Type __apt_source: Set required options variable (Mark Verboom) - * Type __letsencrypt_cert: Update python version (Michelle) - * Explorer os_version: Add support for Daedalus (Michelle) - * Explorer machine_type: Correct incorrect VMM matching (Mark Verboom) - -7.0.0: 2022-07-31 * Explorer machine_type: Rewrite (Dennis Camera) * New type: __sed (Ander Punnar) * New type: __haproxy_dualstack (Evilham and ungleich) @@ -23,13 +12,6 @@ next: * Type __package_apt: Fix complaint about suite change (Matthias Stecher) * Type __debconf_set_selections: Fix bug where --file was unsupported (Evilham) * Types __letsencrypt_cert, __grafana_dashboard: Improve bullseye support (Evilham) - * Type __ssh_authorized_key: Also remove tmpfile if removing line (Mark Verboom) - * Type __apt_pin: Add default priority, add comment in generated files (Daniel Fancsali) - * Type __file: make file uploading and attribute changes more atomic (Steven Armstrong) - * Type __dot_file: Add support for using --file parameter (Stephan Leemburg) - * Type __apt_ppa: Replace custom "remove-apt-repository" with add-apt-repository -r (Romain Dartigues) - * Type __apt_source: Add signed-by parameter (Daniel Fancsali) - * Explorer: add support for checkpoint (Stephan Leemburg) 6.9.8: 2021-08-24 * Type __rsync: Rewrite (Ander Punnar) diff --git a/docs/dev/release-process.org b/docs/dev/release-process.org deleted file mode 100644 index 42b4f5c5..00000000 --- a/docs/dev/release-process.org +++ /dev/null @@ -1,90 +0,0 @@ -* Install requirements (Alpine) - - apk add py3-pycodestyle shellcheck py3-sphinx py3-sphinx_rtd_theme \ - py3-build twine -* Ensure your gpg setup works with the email used in the git commit! - - For me this is nico@nico-notebook.schottelius.org - - Signature / id is on nb2 -* Create ~/.pypirc -[distutils] - index-servers = - pypi - cdist - -[pypi] - username = __token__ - password = ... - -[cdist] - repository = https://upload.pypi.org/legacy/ - username = __token__ - password = ... - -* Add date in docs/changelog -* Run ./bin/cdist-build-helper -* TODO Move to "build" - - python3 -m build -* DONE git tag: when? -CLOSED: [2022-07-31 Sun 23:58] -** Asked during release process: ok -* DONE Pypi error with distutils: do not use distutils anymore -CLOSED: [2022-07-31 Sun 23:58] -python3 setup.py sdist upload -... -Creating tar archive -removing 'cdist-7.0.0' (and everything under it) -running upload -Submitting dist/cdist-7.0.0.tar.gz to https://upload.pypi.org/legacy/ -Upload failed (400): Invalid value for blake2_256_digest. Error: Use a valid, hex-encoded, BLAKE2 message digest. -error: Upload failed (400): Invalid value for blake2_256_digest. Error: Use a valid, hex-encoded, BLAKE2 message digest. -(venv2) [22:50] nb2:cdist% - -* DONE Pypi error with twine: fixed in twine 4.0.1 -CLOSED: [2022-07-31 Sun 23:58] - -Seeing: - -(venv2) [22:47] nb2:cdist% twine upload dist/cdist-7.0.0* -Uploading distributions to https://upload.pypi.org/legacy/ -Traceback (most recent call last): - File "/usr/bin/twine", line 8, in - sys.exit(main()) - File "/usr/lib/python3.10/site-packages/twine/__main__.py", line 28, in main - result = cli.dispatch(sys.argv[1:]) - File "/usr/lib/python3.10/site-packages/twine/cli.py", line 68, in dispatch - return main(args.args) - File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 197, in main - return upload(upload_settings, parsed_args.dists) - File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 141, in upload - resp = repository.upload(package) - File "/usr/lib/python3.10/site-packages/twine/repository.py", line 189, in upload - resp = self._upload(package) - File "/usr/lib/python3.10/site-packages/twine/repository.py", line 144, in _upload - data = package.metadata_dictionary() - File "/usr/lib/python3.10/site-packages/twine/package.py", line 181, in metadata_dictionary - "dynamic": meta.dynamic, -AttributeError: 'Wheel' object has no attribute 'dynamic' - - -Fix: - - -(venv2) [23:43] nb2:cdist% pipx run twine upload dist/* -⚠️ twine is already on your PATH and installed at /home/nico/venv2/bin/twine. Downloading and running anyway. -Uploading distributions to https://upload.pypi.org/legacy/ -Uploading cdist-7.0.0-py3-none-any.whl -100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 868.6/868.6 kB • 00:04 • 221.3 kB/s -Uploading cdist-7.0.0.tar.gz -100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB • 00:08 • 169.3 kB/s - -View at: -https://pypi.org/project/cdist/7.0.0/ -* TODO cdist web - - on staticweb-2022 - - Should be moved to sftp/k8s - - - Manual steps: - - ~/bin/permissions.public html/ - rsync -a html/ staticweb.ungleich.ch:/home/services/www/nico/www.cdi.st/www/manual/7.0.0/ - ssh staticweb.ungleich.ch "cd /home/services/www/nico/www.cdi.st/www/manual; ln -sf 7.0.0 latest"