summaryrefslogtreecommitdiff
path: root/extra/openrc/sysctl.initd
blob: befdb91f00717d0f37dadb98b0b824785f045282 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/sbin/openrc-run

depend()
{
	after clock
	before bootmisc logger
	keyword -prefix -systemd-nspawn -vserver
}

start()
{
	local quiet retval=0 status
	ebegin "Configuring kernel parameters"

	yesno $rc_verbose || quiet=-q

	eindent

	for f in /lib/sysctl.d/*.conf \
		/usr/lib/sysctl.d/*.conf; do

		if  [ -f /etc/sysctl.d/"${f##*/}" ]; then
			veinfo "Ignoring $f due to /etc/sysctl.d/${f##*/}"
			continue
		fi

		if [ -f /run/sysctl.d/"${f##*/}" ]; then
			veinfo "Ignoring $f due to /run/sysctl.d/${f##*/}"
			continue
		fi
	
		if [ -f "$f" ]; then
			vebegin "applying $f"
			sysctl $quiet -p "$f"
			status=$?
			if [ $status -gt 0 ]; then
				# Don't change retval= since we expect some package/distro provided
				# sysctl configurations to break, so just warn when the user wants
				# verbose messages
				vewarn "Unable to configure kernel parameters from $f"
			fi
		fi
	done

	for f in /etc/sysctl.d/*.conf; do

		if [ -f /run/sysctl.d/"${f##*/}" ]; then
			veinfo "Ignoring $f due to /run/sysctl.d/${f##*/}"
			continue
		fi

		if [ -f "$f" ]; then
			vebegin "applying $f"
			sysctl $quiet -p "$f"
			status=$?
			if [ $status -gt 0 ]; then
				retval=$(( $retval + $status ))
				eerror "Unable to configure kernel parameters from $f"
			fi
		fi
	done

	if [ -f /etc/sysctl.conf ]; then
		vebegin "applying /etc/sysctl.conf"
		sysctl $quiet -p /etc/sysctl.conf
		status=$?
		if [ $status -gt 0 ]; then
			retval=$(( $retval + $status ))
			eerror "Unable to configure kernel parameters from /etc/sysctl.conf"
		fi
	fi

	for f in /run/sysctl.d/*.conf; do
		if [ -f "$f" ]; then
			vebegin "applying $f"
			sysctl $quiet -p "$f"
			status=$?
			if [ $status -gt 0 ]; then
				retval=$(( $retval + $status ))
				eerror "Unable to configure kernel parameters from $f"
			fi
		fi
	done
	eoutdent

	eend $retval
}