cdist/cdist/conf/type/__install_config/gencode-local

59 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
#
# 2011-2016 Steven Armstrong (steven-cdist at armstrong.cc)
#
# 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 <http://www.gnu.org/licenses/>.
#
chroot="$(cat "$__object/parameter/chroot")"
remote_exec="$__type/files/remote/exec"
remote_copy="$__type/files/remote/copy"
cdist_args="-v"
[ "$__debug" = "yes" ] && cdist_args="$cdist_args -d"
cat << DONE
$__remote_exec $__target_host << EOSSH
if [ ! -f "${chroot}/etc/resolv.conf" ]; then
touch "${chroot}/etc/resolv.conf"
fi
mount --bind -o ro /etc/resolv.conf "${chroot}/etc/resolv.conf"
EOSSH
DONE
cat << DONE
cdist $cdist_args \
config \
--remote-exec="$remote_exec $chroot" \
--remote-copy="$remote_copy $chroot" \
$__target_host
DONE
cat << DONE
$__remote_exec $__target_host << EOSSH
if mountpoint -q "${chroot}/etc/resolv.conf"; then
umount "${chroot}/etc/resolv.conf"
fi
if [ -f "${chroot}/etc/resolv.conf" -a ! -s "${chroot}/etc/resolv.conf" ]; then
# file exists but is empty which means we created it or it's useless anyway
rm "${chroot}/etc/resolv.conf"
fi
EOSSH
DONE