#!/bin/sh -e # # 2014 Steven Armstrong (steven-cdist at armstrong.cc) # 2018 Takashi Yoshi (takashi at yoshi.email) # # 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 . # value_should="$(cat "$__object/parameter/value")" value_is="$(cat "$__object/explorer/value")" if [ "$value_should" = "$value_is" ]; then # Nothing to do exit 0 fi os=$(cat "$__global/explorer/os") case "$os" in # Linux redhat|centos|ubuntu|debian|devuan|archlinux|gentoo|coreos) flag='-w' ;; # BusyBox alpine|openwrt) flag='-w' ;; macosx) # NOTE: Older versions of Mac OS X require the -w option. # Even though the flag is not mentioned in new man pages anymore, # it still works. flag='-w' ;; netbsd) flag='-w' ;; freebsd|openbsd) flag='' ;; esac # set the current runtime value printf 'sysctl %s %s="%s"\n' "$flag" "$__object_id" "$value_should"