summaryrefslogtreecommitdiff
path: root/recipes/sysconf/files/sysconfsetup
blob: 602442f4ff714408b7254d5b723da076addd684c (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
#!/bin/sh
# This script is run once when the system first boots.  Its sole
# purpose is to create /etc/default/sysconf (the overall system
# configuration file) and other files derived from this.
#
# The script runs immediately after S10checkroot.sh - this is the
# point at which the rootfs will be mounted rw even if the kernel
# booted with it ro.
#
# rm or mv the file (/etc/default/sysconf) to recreate it, run this
# script with the reload option to overwrite the system files.  The
# configuration files described in sysconf_reload (in
# /sbin/sysconf) will be overwritten on reload.
#
# start:  standard startup, do a complete (auto) restore if necessary
# reinit: always do a complete auto restore
# reload: just reload sysconf (no config files!)
#
# load_functions "source"
#  load the functions in '/sbin/source' - relies on /sbin/source being
#  a shell script and having support for this function.
load_functions(){
	test -n "$1" -a -x "/sbin/$1" && . "/sbin/$1" || {
		echo "$0: /sbin/$1: script not found" >&2
		return 1
	}
}

load_functions sysconf || exit 1

case "$1" in
start)	test -s /etc/default/sysconf || {
		if sysconf_read
		then
			if sysconf_valid
			then
				sysconf_restore auto
			else
				sysconf_reload
			fi
		else
			sysconf_default
			sysconf_reload
		fi
	};;

reload)	test -s /etc/default/sysconf || sysconf_read || sysconf_default
	sysconf_reload;;

reinit)	sysconf_restore auto;;

*)	;;
esac