diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/meson_final.sh | 13 | ||||
-rwxr-xr-x | tools/meson_runlevels.sh | 94 |
2 files changed, 107 insertions, 0 deletions
diff --git a/tools/meson_final.sh b/tools/meson_final.sh new file mode 100755 index 00000000..4941c8da --- /dev/null +++ b/tools/meson_final.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e +set -u + +rc_libexecdir="$1" +os="$2" + +if [ ${os} != Linux ]; then + install -d "${DESTDIR}/${rc_libexecdir}"/init.d +fi +install -d "${DESTDIR}/${rc_libexecdir}"/tmp +install "${MESON_BUILD_ROOT}/src/version/version" "${DESTDIR}/${rc_libexecdir}" diff --git a/tools/meson_runlevels.sh b/tools/meson_runlevels.sh new file mode 100755 index 00000000..7cf068a9 --- /dev/null +++ b/tools/meson_runlevels.sh @@ -0,0 +1,94 @@ +#!/bin/sh + +set -e +set -u + +os="$1" +net="$2" +rc_libexecdir="$3" +sysconfdir="$4" + +init_d_dir="${sysconfdir}/init.d" +leveldir="${sysconfdir}/runlevels" +sysinitdir="${leveldir}/sysinit" +bootdir="${leveldir}/boot" +defaultdir="${leveldir}/default" +nonetworkdir="${leveldir}/nonetwork" +shutdowndir="${leveldir}/shutdown" + +sysinit= +case "${os}" in + Linux) + sysinit="${sysinit} cgroups devfs dmesg sysfs" + ;; +esac + +boot="bootmisc fsck hostname localmount loopback root swap sysctl urandom" +if [ "${net}" = yes ]; then + boot="${boot} network staticroute" +fi +boot_BSD="hostid newsyslog savecore syslogd" + +case "${os}" in + DragonFly) + boot="${boot} ${boot_BSD}" + ;; + FreeBSD|GNU-kFreeBSD) + boot="${boot} ${boot_BSD} adjkerntz dumpon modules syscons" + ;; + Linux) + boot="${boot} binfmt hwclock keymaps modules mtab procfs + save-keymaps save-termencoding termencoding" + ;; + NetBSD) + boot="${boot} ${boot_BSD} devdb swap-blk tys wscons" + ;; +esac + +default="local netmount" + +nonetwork="local" + +shutdown="savecache" +case "${os}" in + Linux) + shutdown="${shutdown} killprocs mount-ro" + ;; +esac + +if ! test -d "${DESTDIR}${sysinitdir}"; then + install -d "${DESTDIR}${sysinitdir}" + for x in ${sysinit}; do + ln -snf "${init_d_dir}/$x" "${DESTDIR}${sysinitdir}/$x" + done +fi + +if ! test -d "${DESTDIR}${bootdir}"; then + install -d "${DESTDIR}${bootdir}" + for x in ${boot}; do + ln -snf "${init_d_dir}/$x" "${DESTDIR}${bootdir}/$x" + done +fi + +if ! test -d "${DESTDIR}${defaultdir}"; then + install -d "${DESTDIR}${defaultdir}" + for x in ${default}; do + ln -snf "${init_d_dir}/$x" "${DESTDIR}${defaultdir}/$x" + done +fi + +if ! test -d "${DESTDIR}${nonetworkdir}"; then + install -d "${DESTDIR}${nonetworkdir}" + for x in ${nonetwork}; do + ln -snf "${init_d_dir}/$x" "${DESTDIR}${nonetworkdir}/$x" + done +fi + +if ! test -d "${DESTDIR}${shutdowndir}"; then + install -d "${DESTDIR}${shutdowndir}" + for x in ${shutdown}; do + ln -snf "${init_d_dir}/$x" "${DESTDIR}${shutdowndir}/$x" + done +fi + +ln -snf "${rc_libexecdir}"/sh/functions.sh "${DESTDIR}/${init_d_dir}" |