diff --git a/cdist/conf/explorer/os b/cdist/conf/explorer/os
index b9f3512b..de1d29c3 100755
--- a/cdist/conf/explorer/os
+++ b/cdist/conf/explorer/os
@@ -49,6 +49,11 @@ if [ -f /etc/debian_version ]; then
echo debian
exit 0
fi
+
+if [ -f /etc/devuan_version ]; then
+ echo devuan
+ exit 0
+fi
###
if [ -f /etc/gentoo-release ]; then
diff --git a/cdist/conf/explorer/os_version b/cdist/conf/explorer/os_version
index 8f092827..6c7becdc 100755
--- a/cdist/conf/explorer/os_version
+++ b/cdist/conf/explorer/os_version
@@ -33,6 +33,9 @@ case "$($__explorer/os)" in
debian)
cat /etc/debian_version
;;
+ devuan)
+ cat /etc/devuan_version
+ ;;
fedora)
cat /etc/fedora-release
;;
diff --git a/cdist/conf/type/__apt_norecommends/manifest b/cdist/conf/type/__apt_norecommends/manifest
index 6fdc2d93..9e633308 100755
--- a/cdist/conf/type/__apt_norecommends/manifest
+++ b/cdist/conf/type/__apt_norecommends/manifest
@@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
- ubuntu|debian)
+ ubuntu|debian|devuan)
# No stinking recommends thank you very much.
# If I want something installed I will do so myself.
__file /etc/apt/apt.conf.d/99-no-recommends \
diff --git a/cdist/conf/type/__hostname/gencode-remote b/cdist/conf/type/__hostname/gencode-remote
index 576f80bf..9fac7bf4 100755
--- a/cdist/conf/type/__hostname/gencode-remote
+++ b/cdist/conf/type/__hostname/gencode-remote
@@ -35,7 +35,7 @@ has_hostnamectl=$(cat "$__object/explorer/has_hostnamectl")
# If everything is ok -> exit
#
case "$os" in
- archlinux|debian|suse|ubuntu)
+ archlinux|debian|suse|ubuntu|devuan)
if [ "$name_config" = "$name_should" -a "$name_running" = "$name_should" ]; then
exit 0
fi
@@ -60,7 +60,7 @@ if [ "$has_hostnamectl" ]; then
echo "hostnamectl set-hostname '$name_should'"
else
case "$os" in
- archlinux|debian|ubuntu)
+ archlinux|debian|ubuntu|devuan)
echo "hostname '$name_should'"
echo "printf '%s\n' '$name_should' > /etc/hostname"
;;
diff --git a/cdist/conf/type/__hostname/manifest b/cdist/conf/type/__hostname/manifest
index 448e56da..76f962e0 100755
--- a/cdist/conf/type/__hostname/manifest
+++ b/cdist/conf/type/__hostname/manifest
@@ -34,7 +34,7 @@ not_supported() {
}
case "$os" in
- archlinux|debian|suse|ubuntu)
+ archlinux|debian|suse|ubuntu|devuan)
# handled in gencode-remote
:
;;
diff --git a/cdist/conf/type/__locale/manifest b/cdist/conf/type/__locale/manifest
index 0e279630..c1837ae3 100644
--- a/cdist/conf/type/__locale/manifest
+++ b/cdist/conf/type/__locale/manifest
@@ -26,7 +26,7 @@ os=$(cat "$__global/explorer/os")
case "$os" in
- debian)
+ debian|devuan)
# Debian needs a seperate package
__package locales --state present
;;
diff --git a/cdist/conf/type/__motd/gencode-remote b/cdist/conf/type/__motd/gencode-remote
index bfd13b5e..41fe3482 100755
--- a/cdist/conf/type/__motd/gencode-remote
+++ b/cdist/conf/type/__motd/gencode-remote
@@ -22,8 +22,8 @@
os=$(cat "$__global/explorer/os")
case "$os" in
- debian|ubuntu)
-
+ debian|ubuntu|devuan)
+
# Debian and Ubuntu need to be updated,
# as seen in /etc/init.d/bootlogs
echo "uname -snrvm > /var/run/motd"
diff --git a/cdist/conf/type/__motd/manifest b/cdist/conf/type/__motd/manifest
index 286d1ff3..4848a4c3 100755
--- a/cdist/conf/type/__motd/manifest
+++ b/cdist/conf/type/__motd/manifest
@@ -30,7 +30,7 @@ os=$(cat "$__global/explorer/os")
case "$os" in
- debian|ubuntu)
+ debian|ubuntu|devuan)
destination=/etc/motd.tail
;;
*)
diff --git a/cdist/conf/type/__mount/manifest b/cdist/conf/type/__mount/manifest
index 8a1fa234..472b6e2e 100755
--- a/cdist/conf/type/__mount/manifest
+++ b/cdist/conf/type/__mount/manifest
@@ -26,9 +26,9 @@ if [ ! -f "$__object/parameter/nofstab" ]; then
(
printf "%s" "$(cat "$__object/parameter/device")"
printf " %s" "$path"
-type="$(cat "$__object/parameter/type" 2>/dev/null || echo "auto")"
+type="$(cat "$__object/parameter/type")"
printf " %s" "$type"
-options="$(cat "$__object/parameter/options" 2>/dev/null || echo "defaults")"
+options="$(cat "$__object/parameter/options")"
printf " %s" "$options"
printf " %s" "$(cat "$__object/parameter/dump")"
printf " %s\n" "$(cat "$__object/parameter/pass")"
diff --git a/cdist/conf/type/__mount/parameter/default/options b/cdist/conf/type/__mount/parameter/default/options
new file mode 100644
index 00000000..e94f8140
--- /dev/null
+++ b/cdist/conf/type/__mount/parameter/default/options
@@ -0,0 +1 @@
+defaults
diff --git a/cdist/conf/type/__mount/parameter/default/type b/cdist/conf/type/__mount/parameter/default/type
new file mode 100644
index 00000000..865faf10
--- /dev/null
+++ b/cdist/conf/type/__mount/parameter/default/type
@@ -0,0 +1 @@
+auto
diff --git a/cdist/conf/type/__package/manifest b/cdist/conf/type/__package/manifest
index 25e43b30..6b0daa98 100755
--- a/cdist/conf/type/__package/manifest
+++ b/cdist/conf/type/__package/manifest
@@ -32,7 +32,7 @@ else
case "$os" in
amazon|centos|fedora|redhat) type="yum" ;;
archlinux) type="pacman" ;;
- debian|ubuntu) type="apt" ;;
+ debian|ubuntu|devuan) type="apt" ;;
freebsd)
if [ -n "$(cat "$__object/explorer/pkgng_exists")" ]; then
type="pkgng_freebsd"
diff --git a/cdist/conf/type/__package_pip/gencode-remote b/cdist/conf/type/__package_pip/gencode-remote
index ba44927a..ccfdb92b 100644
--- a/cdist/conf/type/__package_pip/gencode-remote
+++ b/cdist/conf/type/__package_pip/gencode-remote
@@ -1,6 +1,7 @@
#!/bin/sh
#
# 2012 Nico Schottelius (nico-cdist at schottelius.org)
+# 2016 Darko Poljak (darko.poljak at gmail.com)
#
# This file is part of cdist.
#
@@ -40,12 +41,30 @@ else
pip="pip"
fi
+runasparam="$__object/parameter/runas"
+if [ -f "$runasparam" ]
+then
+ runas=$(cat "$runasparam")
+else
+ runas=""
+fi
+
case "$state_should" in
present)
- echo $pip install -q "$name"
+ if [ "$runas" ]
+ then
+ echo "su -c \"$pip install -q $name\" $runas"
+ else
+ echo $pip install -q "$name"
+ fi
;;
absent)
- echo $pip uninstall -q -y "$name"
+ if [ "$runas" ]
+ then
+ echo "su -c \"$pip uninstall -q -y $name\" $runas"
+ else
+ echo $pip uninstall -q -y "$name"
+ fi
;;
*)
echo "Unknown state: $state_should" >&2
diff --git a/cdist/conf/type/__package_pip/man.text b/cdist/conf/type/__package_pip/man.text
index 5f619871..5b67e62f 100644
--- a/cdist/conf/type/__package_pip/man.text
+++ b/cdist/conf/type/__package_pip/man.text
@@ -30,6 +30,9 @@ pip::
state::
Either "present" or "absent", defaults to "present"
+runas::
+ Run pip as specified user. By default it runs as root.
+
EXAMPLES
--------
@@ -40,6 +43,9 @@ __package_pip pyro --state present
# Use pip in a virtualenv located at /root/shinken_virtualenv
__package_pip pyro --state present --pip /root/shinken_virtualenv/bin/pip
+
+# Use pip in a virtualenv located at /foo/shinken_virtualenv as user foo
+__package_pip pyro --state present --pip /foo/shinken_virtualenv/bin/pip --runas foo
--------------------------------------------------------------------------------
diff --git a/cdist/conf/type/__package_pip/parameter/optional b/cdist/conf/type/__package_pip/parameter/optional
index f32876f7..d909e790 100644
--- a/cdist/conf/type/__package_pip/parameter/optional
+++ b/cdist/conf/type/__package_pip/parameter/optional
@@ -1,2 +1,4 @@
+name
pip
state
+runas
diff --git a/cdist/conf/type/__package_update_index/gencode-remote b/cdist/conf/type/__package_update_index/gencode-remote
index 8ee837eb..589e7202 100755
--- a/cdist/conf/type/__package_update_index/gencode-remote
+++ b/cdist/conf/type/__package_update_index/gencode-remote
@@ -30,7 +30,7 @@ else
os="$(cat "$__global/explorer/os")"
case "$os" in
amazon|centos|fedora|redhat) type="yum" ;;
- debian|ubuntu) type="apt" ;;
+ debian|ubuntu|devuan) type="apt" ;;
archlinux) type="pacman" ;;
*)
echo "Don't know how to manage packages on: $os" >&2
diff --git a/cdist/conf/type/__package_upgrade_all/gencode-remote b/cdist/conf/type/__package_upgrade_all/gencode-remote
index 57676a57..4d034816 100755
--- a/cdist/conf/type/__package_upgrade_all/gencode-remote
+++ b/cdist/conf/type/__package_upgrade_all/gencode-remote
@@ -31,7 +31,7 @@ else
os="$(cat "$__global/explorer/os")"
case "$os" in
amazon|centos|fedora|redhat) type="yum" ;;
- debian|ubuntu) type="apt" ;;
+ debian|ubuntu|devuan) type="apt" ;;
archlinux) type="pacman" ;;
*)
echo "Don't know how to manage packages on: $os" >&2
diff --git a/cdist/conf/type/__postfix/manifest b/cdist/conf/type/__postfix/manifest
index 5a184910..43443e1e 100755
--- a/cdist/conf/type/__postfix/manifest
+++ b/cdist/conf/type/__postfix/manifest
@@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
- ubuntu|debian|archlinux|suse|centos)
+ ubuntu|debian|archlinux|suse|centos|devuan)
__package postfix --state present
;;
*)
diff --git a/cdist/conf/type/__postfix_master/manifest b/cdist/conf/type/__postfix_master/manifest
index 7777892b..3d82c526 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|centos)
+ ubuntu|debian|archlinux|centos|devuan)
:
;;
*)
diff --git a/cdist/conf/type/__postfix_postconf/explorer/value b/cdist/conf/type/__postfix_postconf/explorer/value
index 3f319eda..d451bce6 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
- ubuntu|debian|archlinux|suse|centos)
+ ubuntu|debian|archlinux|suse|centos|devuan)
:
;;
*)
diff --git a/cdist/conf/type/__postfix_postconf/gencode-remote b/cdist/conf/type/__postfix_postconf/gencode-remote
index 4b4096a5..b3557640 100755
--- a/cdist/conf/type/__postfix_postconf/gencode-remote
+++ b/cdist/conf/type/__postfix_postconf/gencode-remote
@@ -21,7 +21,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
- ubuntu|debian|archlinux|suse|centos)
+ ubuntu|debian|archlinux|suse|centos|devuan)
:
;;
*)
diff --git a/cdist/conf/type/__postfix_reload/gencode-remote b/cdist/conf/type/__postfix_reload/gencode-remote
index 8311568a..7323606c 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|centos)
+ ubuntu|debian|archlinux|centos|devuan)
echo "postfix reload"
;;
*)
diff --git a/cdist/conf/type/__pyvenv/explorer/group b/cdist/conf/type/__pyvenv/explorer/group
new file mode 100755
index 00000000..ff072c5e
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/explorer/group
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+destination="/$__object_id"
+
+stat --print "%G" ${destination} 2>/dev/null || exit 0
diff --git a/cdist/conf/type/__pyvenv/explorer/owner b/cdist/conf/type/__pyvenv/explorer/owner
new file mode 100755
index 00000000..b77e3c6e
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/explorer/owner
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+destination="/$__object_id"
+
+stat --print "%U" ${destination} 2>/dev/null || exit 0
diff --git a/cdist/conf/type/__pyvenv/explorer/state b/cdist/conf/type/__pyvenv/explorer/state
new file mode 100755
index 00000000..ffe3cbbd
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/explorer/state
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+destination="/$__object_id"
+
+if [ -d "$destination" ]; then
+ echo present
+else
+ echo absent
+fi
diff --git a/cdist/conf/type/__pyvenv/gencode-remote b/cdist/conf/type/__pyvenv/gencode-remote
new file mode 100755
index 00000000..907e0ff6
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/gencode-remote
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# 2016 Darko Poljak (darko.poljak 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 .
+#
+#
+
+state_is="$(cat "$__object/explorer/state")"
+owner_is="$(cat "$__object/explorer/owner")"
+group_is="$(cat "$__object/explorer/group")"
+
+state_should="$(cat "$__object/parameter/state")"
+
+owner="$(cat "$__object/parameter/owner")"
+group="$(cat "$__object/parameter/group")"
+mode="$(cat "$__object/parameter/mode")"
+
+[ "$state_should" = "$state_is" -a \
+ "$owner" = "$owner_is" -a \
+ "$group" = "$group_is" -a \
+ -n "$mode" ] && exit 0
+
+destination="/$__object_id"
+venvparams="$(cat "$__object/parameter/venvparams")"
+pyvenvparam="$__object/parameter/pyvenv"
+if [ -f "$pyvenvparam" ]
+then
+ pyvenv=$(cat "$pyvenvparam")
+else
+ pyvenv="pyvenv"
+fi
+
+case $state_should in
+ present)
+ if [ "$state_should" != "$state_is" ]; then
+ echo $pyvenv $venvparams "$destination"
+ fi
+ if [ \( -n "$owner" -a "$owner_is" != "$owner" \) -o \
+ \( -n "$group" -a "$group_is" != "$group" \) ]; then
+ echo chown -R "${owner}:${group}" "$destination"
+ fi
+ if [ -n "$mode" ]; then
+ echo chmod -R "$mode" "$destination"
+ fi
+ ;;
+ absent)
+ ;;
+
+ *)
+ echo "Unknown state: $state_should" >&2
+ exit 1
+ ;;
+esac
diff --git a/cdist/conf/type/__pyvenv/man.text b/cdist/conf/type/__pyvenv/man.text
new file mode 100755
index 00000000..71d30ed5
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/man.text
@@ -0,0 +1,80 @@
+cdist-type__pyvenv(7)
+=====================
+Darko Poljak
+
+
+NAME
+----
+cdist-type__pyvenv - Create or remove python virtual environment
+
+
+DESCRIPTION
+-----------
+This cdist type allows you to create or remove python virtual
+environment using pyvenv.
+It assumes pyvenv is already installed. Concrete package depends
+on concrete OS and/or OS version/distribution.
+Ensure this for e.g. in your init manifest as in the following example:
+--------------------------------------------------------------------------------
+case "$__target_host" in
+ localhost)
+ __package python3-venv --state present
+ require="__package/python3-venv" __pyvenv /home/darko/testenv --pyvenv "pyvenv-3.4" --owner darko --group darko --mode 740 --state present
+ require="__pyvenv/home/darko/testenv" __package_pip docopt --pip /home/darko/testenv/bin/pip --runas darko --state present
+ ;;
+esac
+--------------------------------------------------------------------------------
+
+
+REQUIRED PARAMETERS
+-------------------
+None
+
+OPTIONAL PARAMETERS
+-------------------
+state::
+ Either "present" or "absent", defaults to "present"
+
+group::
+ Group to chgrp to
+
+mode::
+ Unix permissions, suitable for chmod
+
+owner::
+ User to chown to
+
+pyvenv::
+ Use this specific pyvenv
+
+venvparams::
+ Specific parameters to pass to pyvenv invocation
+
+
+EXAMPLES
+--------
+
+--------------------------------------------------------------------------------
+__pyvenv /home/services/djangoenv
+
+# Use specific pyvenv
+__pyvenv /home/foo/fooenv --pyvenv /usr/local/bin/pyvenv-3.4
+
+# Create python virtualenv for user foo.
+__pyvenv /home/foo/fooenv --group foo --user foo
+
+# Create python virtualenv with specific parameters.
+__pyvenv /home/services/djangoenv --venvparams "--copies --system-site-packages"
+--------------------------------------------------------------------------------
+
+
+SEE ALSO
+--------
+- cdist-type(7)
+
+
+COPYING
+-------
+Copyright \(C) 2016 Darko Poljak. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
+
diff --git a/cdist/conf/type/__pyvenv/manifest b/cdist/conf/type/__pyvenv/manifest
new file mode 100755
index 00000000..3e41ad04
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/manifest
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# 2016 Darko Poljak (darko.poljak 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 .
+#
+
+# It assumes pyvenv is already installed. Concrete packages
+# or installation procedures depend on concrete OS and/or OS
+# version/distribution.
+
+state_should="$(cat "$__object/parameter/state")"
+owner="$(cat "$__object/parameter/owner")"
+group="$(cat "$__object/parameter/group")"
+mode="$(cat "$__object/parameter/mode")"
+
+case "$state_should" in
+ present)
+ :
+ ;;
+
+ absent)
+ __directory "$__object_id" --state absent \
+ --owner "$owner" \
+ --group "$group" \
+ --mode "$mode"
+ ;;
+
+ *)
+ echo "Unknown state: $state_should" >&2
+ exit 1
+ ;;
+esac
diff --git a/cdist/conf/type/__pyvenv/parameter/default/group b/cdist/conf/type/__pyvenv/parameter/default/group
new file mode 100755
index 00000000..8b137891
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/default/group
@@ -0,0 +1 @@
+
diff --git a/cdist/conf/type/__pyvenv/parameter/default/mode b/cdist/conf/type/__pyvenv/parameter/default/mode
new file mode 100755
index 00000000..8b137891
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/default/mode
@@ -0,0 +1 @@
+
diff --git a/cdist/conf/type/__pyvenv/parameter/default/owner b/cdist/conf/type/__pyvenv/parameter/default/owner
new file mode 100755
index 00000000..8b137891
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/default/owner
@@ -0,0 +1 @@
+
diff --git a/cdist/conf/type/__pyvenv/parameter/default/state b/cdist/conf/type/__pyvenv/parameter/default/state
new file mode 100755
index 00000000..e7f6134f
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/default/state
@@ -0,0 +1 @@
+present
diff --git a/cdist/conf/type/__pyvenv/parameter/default/venvparams b/cdist/conf/type/__pyvenv/parameter/default/venvparams
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/default/venvparams
@@ -0,0 +1 @@
+
diff --git a/cdist/conf/type/__pyvenv/parameter/optional b/cdist/conf/type/__pyvenv/parameter/optional
new file mode 100755
index 00000000..ed2218b1
--- /dev/null
+++ b/cdist/conf/type/__pyvenv/parameter/optional
@@ -0,0 +1,6 @@
+state
+group
+owner
+mode
+venvparams
+pyvenv
diff --git a/cdist/conf/type/__start_on_boot/explorer/state b/cdist/conf/type/__start_on_boot/explorer/state
index 2f94a521..ca0f3a51 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)
+ debian|openwrt|devuan)
state="present"
[ -f "/etc/rc$runlevel.d/S"??"$name" ] || state="absent"
;;
diff --git a/cdist/conf/type/__start_on_boot/gencode-remote b/cdist/conf/type/__start_on_boot/gencode-remote
index 8d3678d3..057f9f48 100644
--- a/cdist/conf/type/__start_on_boot/gencode-remote
+++ b/cdist/conf/type/__start_on_boot/gencode-remote
@@ -61,8 +61,6 @@ case "$state_should" in
amazon|centos|fedora|owl|redhat|suse)
echo chkconfig \"$name\" on
- echo "Unsupported version $os_version of $os" >&2
- exit 1
;;
openwrt)
diff --git a/cdist/conf/type/__timezone/gencode-remote b/cdist/conf/type/__timezone/gencode-remote
index b4782d4b..c07a61cb 100755
--- a/cdist/conf/type/__timezone/gencode-remote
+++ b/cdist/conf/type/__timezone/gencode-remote
@@ -24,7 +24,7 @@ timezone="$__object_id"
os=$(cat "$__global/explorer/os")
case "$os" in
- ubuntu|debian)
+ ubuntu|debian|devuan)
echo "echo \"$timezone\" > /etc/timezone"
;;
esac
diff --git a/cdist/conf/type/__timezone/manifest b/cdist/conf/type/__timezone/manifest
index 9b0cce73..8ddfd122 100755
--- a/cdist/conf/type/__timezone/manifest
+++ b/cdist/conf/type/__timezone/manifest
@@ -26,7 +26,7 @@ timezone="$__object_id"
os=$(cat "$__global/explorer/os")
case "$os" in
- archlinux|debian|ubuntu)
+ archlinux|debian|ubuntu|devuan)
__package tzdata
export require="__package/tzdata"
;;
diff --git a/docs/changelog b/docs/changelog
index 8584eb95..dd9c7fab 100644
--- a/docs/changelog
+++ b/docs/changelog
@@ -3,6 +3,8 @@ Changelog
next:
* Core: Fix bug with parallel hosts operation when output path is specifed (Darko Poljak)
+ * Type __package_pip: Add support for running as specified user (useful for pip in venv) (Darko Poljak)
+ * New type: __pyvenv: Manage python virtualenv (Darko Poljak)
* Core: Add CDIST_REMOTE_COPY/EXEC env variables and multiplexing options for default scp/ssh (Darko Poljak)
* Types: Remove bashisms in scripts (Darko Poljak)
* Core: Fix bug in remote command with environment (Darko Poljak)
diff --git a/other/archived_types/__autofs/manifest b/other/archived_types/__autofs/manifest
index 4a726c0a..ed6e87ee 100755
--- a/other/archived_types/__autofs/manifest
+++ b/other/archived_types/__autofs/manifest
@@ -23,7 +23,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
- ubuntu|debian|archlinux)
+ ubuntu|debian|archlinux|devuan)
__package autofs --state present
__start_on_boot autofs --state present
;;
diff --git a/other/archived_types/__autofs_reload/gencode-remote b/other/archived_types/__autofs_reload/gencode-remote
index 883602e2..913d3f24 100755
--- a/other/archived_types/__autofs_reload/gencode-remote
+++ b/other/archived_types/__autofs_reload/gencode-remote
@@ -28,7 +28,7 @@ not_supported() {
}
case "$os" in
- ubuntu|debian|archlinux)
+ ubuntu|debian|archlinux|devuan)
echo "pkill -HUP automount"
;;
*)