#!/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 case "${DIB_RELEASE}" in hamm|slink|potato|woody|sarge|etch|lenny|squeeze|wheezy) DIB_DEBIAN_ALT_INIT_PACKAGE=${DIB_DEBIAN_ALT_INIT_PACKAGE:-sysvinit} DIB_DEBIAN_CLOUD_INIT_HELPER=${DIB_DEBIAN_CLOUD_INIT_HELPER:-'true'} ;; *) DIB_DEBIAN_ALT_INIT_PACKAGE=${DIB_DEBIAN_ALT_INIT_PACKAGE:-systemd-sysv} ;; esac if [ -n "${DIB_DEBIAN_CLOUD_INIT_HELPER:-}" ]; then 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 fi 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 $DIB_DEBIAN_ALT_INIT_PACKAGE printf "Package: sysvinit\nPin: origin \"\"\nPin-Priority: -1\n" > \ /etc/apt/preferences.d/sysvinit fi case "${DIB_RELEASE}" in bookworm|stable|testing) apt-get install -y netplan.io ;; esac