#!/bin/bash # # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then set -x fi set -eu set -o pipefail DIB_DEBIAN_ALT_INIT_PACKAGE=${DIB_DEBIAN_ALT_INIT_PACKAGE:-sysvinit} adduser --gecos Debian-cloud-init-user --disabled-password --quiet debian install -d -m 0755 -o root -g root /etc/sudoers.d echo 'debian ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/debian-cloud-init chmod 0440 /etc/sudoers.d/debian-cloud-init if [ "$DIB_DEBIAN_ALT_INIT_PACKAGE" != "sysvinit" ]; then # To avoid a conflict against an essential package, we need to remove sysvinit first dpkg --purge --force remove-essential sysvinit apt-get install -y $apt_get_bp_extra_opts $DIB_DEBIAN_ALT_INIT_PACKAGE printf \"Package: sysvinit\nPin: origin ""\nPin-Priority: -1\n\" > \ /etc/apt/preferences.d/sysvinit > /etc/apt/preferences.d/sysvinit fi # Since Jessie, when either 'hostname' or 'fqdn' are in a config file, it # considers them as authoritative and would only use cloud meta data as a # fallback. if [ "$DIB_RELEASE" = 'wheezy' ]; then # specify a hostname so that cloud-init does not default to (None) echo 'hostname: debian' > /etc/cloud/cloud.cfg.d/01_hostname.cfg fi