summaryrefslogtreecommitdiff
blob: 172f049f78c3d0e022da4c28e013d963053bb63d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/sbin/runscript
# Copyright 1999-2003 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/files/dotnet.init,v 1.3 2005/03/11 03:14:01 latexer Exp $

start() {
	ebegin "Registering .NET IL binaries with ${CLR}"

	if [ ! -d /proc/sys/fs/binfmt_misc ]; then
		eerror "You need support for \"misc binaries\" in your kernel!"
		exit 1
	fi

	mount | grep -q binfmt_misc
	if [ $? != 0 ]; then
		mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
		if [ $? != 0 ]; then
			eend 1
			exit 1
		fi
	fi

	case "${CLR}" in
	
	mono )	echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
		eend 0
		;;
	ilrun )	echo ':CLR:M::MZ::/usr/bin/ilrun:' > /proc/sys/fs/binfmt_misc/register
		eend 0
		;;
	* )	eerror 'Please enter a valid option in /etc/conf.d/dotnet'
		eend 1
		;;
	esac
}

stop() {
	ebegin "Unregistering .NET IL binaries"

	if [ -f /proc/sys/fs/binfmt_misc/CLR ]; then
		echo '-1' > /proc/sys/fs/binfmt_misc/CLR
	fi
	eend $?
}