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