diff --git a/cdist/conf/type/__rsync/gencode-local b/cdist/conf/type/__rsync/gencode-local index 7d688115..8d268d7e 100644 --- a/cdist/conf/type/__rsync/gencode-local +++ b/cdist/conf/type/__rsync/gencode-local @@ -1,3 +1,23 @@ +#!/bin/sh +# +# 2015 Dominique Roux (dominique.roux4 at gmail.com) +# +# 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 . +# + source=$(cat "$__object/parameter/source") remote_user=$(cat "$__object/parameter/remote-user") @@ -10,8 +30,8 @@ fi set -- if [ -f "$__object/parameter/rsync-opts" ]; then while read opts; do - set -- "$@" "$opts" - done + set -- "$@" "--$opts" + done < $__object/parameter/rsync-opts fi echo rsync -a \ diff --git a/cdist/conf/type/__rsync/gencode-remote b/cdist/conf/type/__rsync/gencode-remote index f8d85313..56268389 100644 --- a/cdist/conf/type/__rsync/gencode-remote +++ b/cdist/conf/type/__rsync/gencode-remote @@ -1,3 +1,23 @@ +#!/bin/sh +# +# 2015 Dominique Roux (dominique.roux4 at gmail.com) +# +# 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/destination" ]; then destination=$(cat "$__object/parameter/destination") else diff --git a/cdist/conf/type/__rsync/man.text b/cdist/conf/type/__rsync/man.text index 744b4bc2..af39b9c5 100644 --- a/cdist/conf/type/__rsync/man.text +++ b/cdist/conf/type/__rsync/man.text @@ -47,6 +47,17 @@ destination:: remote-user:: Use this user instead of the default "root" for rsync operations. + +OPTIONAL MULTIPLE PARAMETERS +---------------------------- +rsync-opts:: + Use this option to give rsync options with. + See rsync(1) for available options. + Only "--" options are supported. + Write the options without the beginning "--" + Can be specified multiple times. + + MESSAGES -------- NONE @@ -73,12 +84,24 @@ __rsync otherstuff \ --destination /usr/local/bin \ --source "$__type/files/package2" +# Use rsync option --exclude +__rsync /tmp/testdir \ + --source /etc \ + --rsync-opts exclude=sshd_conf + +# Use rsync with multiple options --exclude --dry-run +__rsync /tmp/testing \ + --source /home/tester \ + --rsync-opts exclude=id_rsa \ + --rsync-opts dry-run + -------------------------------------------------------------------------------- SEE ALSO -------- - cdist-type(7) +- rsync(1) COPYING diff --git a/cdist/conf/type/__rsync/manifest b/cdist/conf/type/__rsync/manifest index d25df45b..0e4cc1f4 100644 --- a/cdist/conf/type/__rsync/manifest +++ b/cdist/conf/type/__rsync/manifest @@ -1 +1,21 @@ +#!/bin/sh +# +# 2015 Dominique Roux (dominique.roux4 at gmail.com) +# +# 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 . +# + __package rsync diff --git a/cdist/conf/type/__rsync/parameter/optional_multiple b/cdist/conf/type/__rsync/parameter/optional_multiple new file mode 100644 index 00000000..fdb7cd88 --- /dev/null +++ b/cdist/conf/type/__rsync/parameter/optional_multiple @@ -0,0 +1 @@ +rsync-opts