+ case $ENVIRONMENT in
+ SDK|FREMANTLE)
+ if test -e $DISTBIN; then
+ cp -af $DISTBIN /bin/busybox
+ if test -e /bin/busybox; then
+ rm $DISTBIN; fi
+ elif test "$ENVIRONMENT" == "SDK"; then
+ # There was no /bin/busybox to begin with..
+ rm /bin/busybox
+ fi
+
+ /usr/sbin/dpkg-divert --remove /bin/busybox
+ ;;
+ HARMATTAN)
+ if ! test -e $DISTBIN; then return; fi
+
+ TMPHASHBAK=`$EXECPWR mktemp`
+ TMPBINBAK=`$EXECPWR mktemp`
+ ORIGINCHECK=`GETORIGINCHECK_STATUS`
+ DEVICEMODE=`GETDEVICEMODE`
+
+ # Useful information for Harmattan-based devices
+ ECHO_VERBOSE "refhashlist backup: $TMPHASHBAK"
+ ECHO_VERBOSE "busybox backup: $TMPBINBAK"
+ ECHO_VERBOSE "instbinary: $INSTBINARY_SHA1"
+ ECHO_VERBOSE "origbinary: $ORIGBINARY_SHA1"
+ ECHO_VERBOSE "device mode: $DEVICEMODE"
+ ECHO_VERBOSE "origincheck: $ORIGINCHECK"
+
+ if test $ORIGINCHECK -eq 1; then
+ /usr/sbin/aegisctl -s > /dev/null || exit 1; fi
+
+ $EXECPWR cp -a /bin/busybox $TMPBINBAK || exit 1
+ $EXECPWR cp -a /var/lib/aegis/refhashlist $TMPHASHBAK || exit 1
+ $EXECPWR cp -af $DISTBIN /bin/busybox || ROLLBACK_HARMATTAN
+ $EXECPWR sed -i "s/$INSTBINARY_SHA1/$ORIGBINARY_SHA1/" /var/lib/aegis/refhashlist || ROLLBACK_HARMATTAN
+ /usr/bin/accli -c tcb-sign -F /var/lib/aegis/refhashlist < /var/lib/aegis/refhashlist || ROLLBACK_HARMATTAN
+ /usr/sbin/validator-init
+
+ # We can't determine whether aegis is neutered in Open Mode or not, so
+ # simply don't re-enable any security options except for in Closed Mode
+ if test $DEVICEMODE != "open" -a $ORIGINCHECK -eq 1; then
+ /usr/sbin/aegisctl +s > /dev/null; fi
+
+ rm $TMPBINBAK
+ rm $TMPHASHBAK
+ rm $DISTBIN
+ ;;
+ esac