#!/bin/bash
set -e
# set -x
HOST=${HOST:-/host}
mkdir -p "$HOST/var/log/sssd/uninstall"
mv /var/log /var/log-aside && ln -s "$HOST/var/log/sssd/uninstall" /var/log
export _SYSTEMCTL_LITE_LOGFILE="$HOST/var/log/sssd/uninstall/systemctl.log"
touch $_SYSTEMCTL_LITE_LOGFILE
echo "Initializing configuration context from host ..."
( cd "$HOST" && while read f ; do
if [ -e "$f" ] ; then
cp --parents -rp -t / "$f"
fi
done ) < /etc/host-data-list
mkdir -p /etc/sssd/systemctl-lite-enabled
rm -rf /etc/systemctl-lite-enabled
ln -s /etc/sssd/systemctl-lite-enabled /etc/systemctl-lite-enabled
if [ -n "$1" ] ; then
if [ "$1" == 'realm' -o "$1" == "/sbin/realm" -o "$1" == "/usr/sbin/realm" ] ; then
COMMAND="$1 $2"
shift ; shift
params=("--install=/")
systemctl start dbus.service
elif [ "${1#-}" == "$1" ] ; then
COMMAND="$1"
shift
fi
fi
if [ -z "$COMMAND" ] ; then
if [ -f "$HOST/etc/$NAME/realm-join-options" ] ; then
COMMAND='realm leave'
params=("--install=/")
else
COMMAND='ipa-client-install -U --uninstall'
fi
fi
$COMMAND "${params[@]}"
rm -rf /var/lib/sss/{mc,pipes}/*
echo "Copying new configuration to host ..."
while read f ; do
( cd "$HOST" && find "$f" ) | while read g ; do
if ! [ -e "/$g" ] ; then
echo "Removing /$g"
rm -rf "$HOST/$g"
fi
done
if [ -e "$f" ] ; then
cp --parents -rp -t "$HOST" "$f"
fi
done < /etc/host-data-list