sortix-mirror/tix/tix-iso-liveconfig

104 lines
2.6 KiB
Bash
Executable File

#!/bin/sh
# Copyright (c) 2017, 2022 Jonas 'Sortie' Termansen.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# tix-iso-liveconfig
# Generate configuration files for customizing the live environment.
set -e
daemons=
directory=
hostname=
kblayout=
operand=1
videomode=
dashdash=
previous_option=
for argument do
if test -n "$previous_option"; then
eval $previous_option=\$argument
previous_option=
continue
fi
case $argument in
*=?*) parameter=$(expr "X$argument" : '[^=]*=\(.*\)' || true) ;;
*=) parameter= ;;
*) parameter=yes ;;
esac
case $dashdash$argument in
--) dashdash=yes ;;
--daemons=*) daemons=$parameter ;;
--daemons) previous_option=daemons ;;
--hostname=*) hostname=$parameter ;;
--hostname) previous_option=hostname ;;
--kblayout=*) kblayout=$parameter ;;
--kblayout) previous_option=kblayout ;;
--videomode=*) videomode=$parameter ;;
--videomode) previous_option=videomode ;;
-*) echo "$0: unrecognized option $argument" >&2
exit 1 ;;
*)
if [ $operand = 1 ]; then
directory="$argument"
operand=2
else
echo "$0: unexpected extra operand $argument" >&2
exit 1
fi
;;
esac
done
if test -n "$previous_option"; then
echo "$0: option '$argument' requires an argument" >&2
exit 1
fi
if test -z "$directory"; then
echo "$0: No directory was specified" >&2
exit 1
fi
mkdir -p "$directory"
if [ -n "$daemons" ]; then
mkdir -p -- "$directory/etc/init"
true > "$directory/etc/init/local"
for daemon in $daemons; do
printf "require %s optional\n" "$daemon" >> "$directory/etc/init/local"
done
fi
if [ -n "$hostname" ]; then
mkdir -p -- "$directory/etc"
printf "%s\n" "$hostname" > "$directory/etc/hostname"
else
hostname=sortix
fi
if [ -n "$kblayout" ]; then
mkdir -p -- "$directory/etc"
printf "%s\n" "$kblayout" > "$directory/etc/kblayout"
fi
if [ -n "$videomode" ]; then
mkdir -p -- "$directory/etc"
printf "%s\n" "$videomode" > "$directory/etc/videomode"
fi