From e89ca14e66c10502ecf1c66454b8337372e2523d Mon Sep 17 00:00:00 2001 From: Daniel Heule Date: Mon, 11 May 2015 09:06:27 +0200 Subject: [PATCH] autodedtection of old usermod implementations ... --- .../type/__user_groups/explorer/oldusermod | 21 +++++++++++++++++++ cdist/conf/type/__user_groups/gencode-remote | 12 ++++------- 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 cdist/conf/type/__user_groups/explorer/oldusermod diff --git a/cdist/conf/type/__user_groups/explorer/oldusermod b/cdist/conf/type/__user_groups/explorer/oldusermod new file mode 100644 index 00000000..6ef25b13 --- /dev/null +++ b/cdist/conf/type/__user_groups/explorer/oldusermod @@ -0,0 +1,21 @@ +#!/bin/sh +# +# 2015 Heule Daniel (hda at sfs.biz) +# +# 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 . +# + +usermod --help | grep -q -- '-A group' && echo true || echo false diff --git a/cdist/conf/type/__user_groups/gencode-remote b/cdist/conf/type/__user_groups/gencode-remote index 5ae391af..684e6ee7 100755 --- a/cdist/conf/type/__user_groups/gencode-remote +++ b/cdist/conf/type/__user_groups/gencode-remote @@ -1,7 +1,6 @@ #!/bin/sh # # 2012 Steven Armstrong (steven-cdist at armstrong.cc) -# 2015 Daniel Heule ( hda at sfs.biz ) # # This file is part of cdist. # @@ -21,20 +20,17 @@ user="$(cat "$__object/parameter/user" 2>/dev/null || echo "$__object_id")" state_should="$(cat "$__object/parameter/state")" +oldusermod="$(cat "$__object/explorer/oldusermod")" -os_version="$(cat "$__global/explorer/os_version")" -case "$os_version" in - SUSE\ Linux\ Enterprise\ Server\ 11*VERSION\ =\ 11*) +if [ "$oldusermod" = "true" ]; then old=yes addparam="-A" delparam="-R" - ;; - *) +else old=no addparam="-a" delparam="-d" - ;; -esac +fi mkdir "$__object/files" # file has to be sorted for comparison with `comm`