#!/bin/sh

# Emit a useful diagnostic if something fails:
bb_exit_handler() {
    ret=$?
    case $ret in
    0)  ;;
    *)  case $BASH_VERSION in
        "") echo "WARNING: exit code $ret from a shell command.";;
        *)  echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret from '$BASH_COMMAND'";;
        esac
        exit $ret
    esac
}
trap 'bb_exit_handler' 0
set -e
export AR="x86_64-poky-linux-ar"
export AS="x86_64-poky-linux-as  "
export BUILD_AR="ar"
export BUILD_AS="as "
export BUILD_CC="gcc "
export BUILD_CCLD="gcc "
export BUILD_CFLAGS="-isystem/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/include -O2 -pipe"
export BUILD_CPP="gcc  -E"
export BUILD_CPPFLAGS="-isystem/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/include"
export BUILD_CXX="g++ "
export BUILD_CXXFLAGS="-isystem/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/include -O2 -pipe"
export BUILD_FC="gfortran "
export BUILD_LD="ld "
export BUILD_LDFLAGS="-L/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/lib -L/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/lib -Wl,-rpath,/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/data/oblac-provisioner/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2"
export BUILD_NM="nm"
export BUILD_RANLIB="ranlib"
export BUILD_STRIP="strip"
export CC="x86_64-poky-linux-gcc  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot"
export CCACHE_DIR="/home/ubuntu/.ccache"
export CCLD="x86_64-poky-linux-gcc  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot"
export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0=/usr/src/debug/systemd/1_237-r0 -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot= -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native= "
export CPP="x86_64-poky-linux-gcc -E --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2"
export CPPFLAGS=""
export CXX="x86_64-poky-linux-g++  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot"
export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0=/usr/src/debug/systemd/1_237-r0 -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot= -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden"
unset DISTRO
export FC="x86_64-poky-linux-gfortran  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot"
export GETTEXTDATADIRS=":/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/share/gettext"
export HOME="/home/ubuntu"
export LC_ALL="en_US.UTF-8"
export LD="x86_64-poky-linux-ld --sysroot=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot  "
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export LOGNAME="ubuntu"
unset MACHINE
export MAKE="make"
export NM="x86_64-poky-linux-nm"
export OBJCOPY="x86_64-poky-linux-objcopy"
export OBJDUMP="x86_64-poky-linux-objdump"
export PATH="/data/oblac-provisioner/tmp/sysroots-uninative/x86_64-linux/usr/bin:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/bin/python3-native:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/bin/perl-native:/home/ubuntu/oblac-box-OS/workspace/poky/scripts:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/bin/crossscripts:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/sbin:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/bin:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/sbin:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/bin:/home/ubuntu/oblac-box-OS/workspace/poky/bitbake/bin:/data/oblac-provisioner/tmp/hosttools"
export PKG_CONFIG_DIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/lib/pkgconfig"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
export PKG_CONFIG_LIBDIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/lib/pkgconfig"
export PKG_CONFIG_PATH="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/lib/pkgconfig:/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/share/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot"
export PKG_CONFIG_SYSTEM_INCLUDE_PATH="/usr/include"
export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/lib:/usr/lib"
export PSEUDO_DISABLED="0"
export PSEUDO_LOCALSTATEDIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/pseudo/"
export PSEUDO_NOSYMLINKEXP="1"
export PSEUDO_PASSWD="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot:/data/oblac-provisioner/tmp/sysroots-components/x86_64/pseudo-native"
export PSEUDO_PREFIX="/data/oblac-provisioner/tmp/sysroots-components/x86_64/pseudo-native/usr"
export PYTHON="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native/usr/bin/python3-native/python3"
export PYTHONNOUSERSITE="1"
export RANLIB="x86_64-poky-linux-ranlib"
export READELF="x86_64-poky-linux-readelf"
unset SHELL
export STAGING_INCDIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/include"
export STAGING_LIBDIR="/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot/usr/lib"
export STRINGS="x86_64-poky-linux-strings"
export STRIP="x86_64-poky-linux-strip"
unset TARGET_ARCH
export TARGET_CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0=/usr/src/debug/systemd/1_237-r0 -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot= -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native= "
export TARGET_CPPFLAGS=""
export TARGET_CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0=/usr/src/debug/systemd/1_237-r0 -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot= -fdebug-prefix-map=/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/recipe-sysroot-native= "
export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export TERM="xterm-256color"
export TZ="UTC"
export USER="ubuntu"
export base_bindir="/bin"
export base_libdir="/lib"
export base_prefix=""
export base_sbindir="/sbin"
export bindir="/usr/bin"
export datadir="/usr/share"
export docdir="/usr/share/doc"
export exec_prefix="/usr"
export includedir="/usr/include"
export infodir="/usr/share/info"
export libdir="/usr/lib"
export libexecdir="/usr/libexec"
export localstatedir="/var"
export mandir="/usr/share/man"
export nonarch_base_libdir="/lib"
export nonarch_libdir="/usr/lib"
export oldincludedir="/usr/include"
export prefix="/usr"
export sbindir="/usr/sbin"
export servicedir="/srv"
export sharedstatedir="/com"
export sysconfdir="/etc"
export systemd_system_unitdir="/lib/systemd/system"
export systemd_unitdir="/lib/systemd"
export systemd_user_unitdir="/usr/lib/systemd/user"

do_install() {
	meson_do_install
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image//sbin
	if true; then
		# Provided by a separate recipe
		rm /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/serial-getty* -f
	fi

	# Provide support for initramfs
	[ ! -e /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/init ] && ln -s /lib/systemd/systemd /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/init
	[ ! -e /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image//sbin/udevd ] && ln -s /lib/systemd/systemd-udevd /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image//sbin/udevd

	# Create machine-id
	# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
	touch /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/machine-id

	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/udev/rules.d/
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/tmpfiles.d
	install -m 0644 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/*.rules /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/udev/rules.d/
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/pkgconfig
	install -m 0644 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/build/src/udev/udev.pc /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/pkgconfig/

	install -m 0644 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/00-create-volatile.conf /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/tmpfiles.d/

	if false; then
		install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/init.d
		install -m 0755 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/init /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/init.d/systemd-udevd
		sed -i s%@UDEVD@%/lib/systemd/systemd-udevd% /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/init.d/systemd-udevd
	fi

	chown root:systemd-journal /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image//var/log/journal

	# Delete journal README, as log can be symlinked inside volatile.
	rm -f /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image//var/log/README

	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/graphical.target.wants
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/multi-user.target.wants
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/poweroff.target.wants
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/reboot.target.wants
	install -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/rescue.target.wants

	# Create symlinks for systemd-update-utmp-runlevel.service
	if true; then
		ln -sf ../systemd-update-utmp-runlevel.service /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/graphical.target.wants/systemd-update-utmp-runlevel.service
		ln -sf ../systemd-update-utmp-runlevel.service /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
		ln -sf ../systemd-update-utmp-runlevel.service /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
		ln -sf ../systemd-update-utmp-runlevel.service /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/reboot.target.wants/systemd-update-utmp-runlevel.service
		ln -sf ../systemd-update-utmp-runlevel.service /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/system/rescue.target.wants/systemd-update-utmp-runlevel.service
	fi

	# Enable journal to forward message to syslog daemon
	sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/systemd/journald.conf
	# Set the maximium size of runtime journal to 64M as default
	sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/systemd/journald.conf

	# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
	# for existence else it fails
	if [ -s /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/tmpfiles.d/systemd.conf ]; then
		:
	fi
	if ! true; then
		echo 'L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/tmpfiles.d/etc.conf
		echo 'd /run/systemd/resolve 0755 root root -' >>/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/tmpfiles.d/systemd.conf
		echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/tmpfiles.d/systemd.conf
		ln -s ../run/systemd/resolve/resolv.conf /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/resolv-conf.systemd
	else
		sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/lib/tmpfiles.d/etc.conf
		ln -s ../run/systemd/resolve/resolv.conf /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/etc/resolv-conf.systemd
	fi
	install -Dm 0755 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/git/src/systemctl/systemd-sysv-install.SKELETON /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/lib/systemd/systemd-sysv-install

	# If polkit is setup fixup permissions and ownership
	if true; then
		if [ -d /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/share/polkit-1/rules.d ]; then
			chmod 700 /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/share/polkit-1/rules.d
			chown polkitd:root /data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image/usr/share/polkit-1/rules.d
		fi
	fi
}

meson_do_install() {
    DESTDIR='/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/image' ninja -j 64 install
}

cd '/data/oblac-provisioner/tmp/work/corei7-64-poky-linux/systemd/1_237-r0/build'
do_install

# cleanup
ret=$?
trap '' 0
exit $ret
