#!/bin/sh fail() { echo "FAILED:" "$@" 1>&2; exit 1; } PYTHON="${PYTHON:-python3}" if [ ! $(which ${PYTHON}) ]; then echo "Please install python first." exit 1 fi py_prefix=$(${PYTHON} -c 'import sys; print("py%d%d" % (sys.version_info.major, sys.version_info.minor))') # Check dependencies: depschecked=/tmp/c-i.dependencieschecked pkgs=" bash dmidecode ${py_prefix}-configobj ${py_prefix}-jinja2 ${py_prefix}-oauthlib ${py_prefix}-requests ${py_prefix}-setuptools ${py_prefix}-netifaces ${py_prefix}-yaml ${py_prefix}-jsonschema sudo " [ -f "$depschecked" ] || pkg_add ${pkgs} || fail "install packages" touch $depschecked # Build the code and install in /usr/pkg/: ${PYTHON} setup.py build ${PYTHON} setup.py install -O1 --distro netbsd --skip-build --init-system sysvinit_netbsd mv -v /usr/local/etc/rc.d/cloud* /etc/rc.d # Enable cloud-init in /etc/rc.conf: sed -i.bak -e "/^cloud.*=.*/d" /etc/rc.conf echo ' # You can safely remove the following lines starting with "cloud" cloudinitlocal="YES" cloudinit="YES" cloudconfig="YES" cloudfinal="YES"' >> /etc/rc.conf echo "Installation completed."