#!/bin/sh
# ***** BEGIN LICENSE BLOCK *****
# * Copyright (C) 2007  Alexey Gladkov <legion@altlinux.org>
# *
# * This program is free software; you can redistribute it and/or modify
# * it under the terms of the GNU General Public License as published by
# * the Free Software Foundation; either version 2 of the License, or
# * (at your option) any later version.
# *
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# * GNU General Public License for more details.
# *
# * You should have received a copy of the GNU General Public License
# * along with this program; if not, write to the Free Software
# * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
# ***** END LICENSE BLOCK *****

. /usr/share/alterator/build/backend3.sh
. install2-sh-functions


PROG="basesystem"
manifest="/tmp/metadata/basesystem.manifest"

use_swap() {
	[ -f "/tmp/fstab" ] &&
		[ ! -f "/etc/fstab.swap" ] &&
		touch "/etc/fstab.swap" &&
		grep '\<swap\>' /tmp/fstab >> /etc/fstab ||
		return 0
	swapon -a
}

on_message() {
        case "$in_action" in
		write)
			if [ ! -s "$manifest" ]; then
				printf '(error "Manifest for basesystem empty or not found")\n'
				return 0
			fi
			use_swap
			if [ -z "$AUTOINSTALL" ]; then
				/usr/sbin/install2-manifest "$manifest" &
			else
				/usr/sbin/install2-manifest "$manifest"
			fi
			echo '()'
			;;
		unmount)
			cut -d' ' -f2 /proc/mounts |
				fgrep "$destdir" |
				sort -ur |
			while read d; do
				umount -fl "$d"
				printf %s\\n "$PROG: umount $d" >&2
			done
			echo '()'
			;;
		*)
			echo '#f'
			;;
        esac
}

message_loop
