diff options
| author | PS <p@0x53.net> | 2026-02-01 12:10:12 +0100 |
|---|---|---|
| committer | PS <p@0x53.net> | 2026-02-01 12:10:12 +0100 |
| commit | 049d80ae0e2b5f6370411207ed27fe423f5ff451 (patch) | |
| tree | 4cdb7da70fff54ef52bd1d0a496d112b9ab19b2c /configure | |
| download | mdevd-conf-049d80ae0e2b5f6370411207ed27fe423f5ff451.tar.gz mdevd-conf-049d80ae0e2b5f6370411207ed27fe423f5ff451.tar.bz2 mdevd-conf-049d80ae0e2b5f6370411207ed27fe423f5ff451.zip | |
version 0.1.0.0
Diffstat (limited to 'configure')
| -rwxr-xr-x | configure | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 0000000..5facfc0 --- /dev/null +++ b/configure @@ -0,0 +1,196 @@ +#!/bin/sh + +cd `dirname "$0"` +. package/info + +usage () { +cat <<EOF +Usage: $0 [OPTION]... [TARGET] + +Defaults for the options are specified in brackets. + +Installation directories: + --prefix=PREFIX main installation prefix [/] + --exec-prefix=EPREFIX installation prefix for executable files [PREFIX] + +Fine tuning of the installation directories: + --libdir=DIR service and source directories [PREFIX/lib/$package] + --bindir=BINDIR user executables [EPREFIX/bin] + +Binaries + --shebangdir=SHEBANGDIR dir used to find interpreters for scripts [PREFIX/bin] + +Logging + --syslogdir=LOGDIR system logdir [PREFIX/var/log/goetia] + --usrlogdir=LOGDIR user logdir appended to \${HOME} [.local/state/log] + + --logconfig=LOGCONFIG directives for autogenerated s6-log scripts [n3 T] + --loguser=LOGUSER user running all system s6-log processes [logger] + --logdep=LOGDEP dependencies for autogenerated system s6-log processes [mount] + +Other + --sysconfdir=CONFIGDIR systemtree configdir [PREFIX/etc/goetia/system] + --usrconfdir=CONFIGDIR usertree configdir appended to \${HOME} [.config/goetia] + + --tmpfsdir=TMPFSDIR tmpfs dir used for supervision trees [/run] + --sysrundir=SYSRUNDIR systemtree runtime dir appended to TMPFSDIR [system] + --usrrundir=USRRUNDIR usertree runtime dir appended to TMPFSDIR [user] + + --timeout=TIMEOUT Timeout in ms for s6-rc invocations in init and shutdown scripts [60000] + +Optional features: + --enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled] + +EOF +exit 0 +} + +# Helper functions + +# If your system does not have printf, you can comment this, but it is +# generally not a good idea to use echo. +# See http://www.etalabs.net/sh_tricks.html +echo () { + printf %s\\n "$*" +} + +quote () { + tr '\n' ' ' <<EOF | grep '^[-[:alnum:]_=,./:]* $' >/dev/null 2>&1 && { echo "$1" ; return 0 ; } +$1 +EOF + echo "$1" | sed -e "s/'/'\\\\''/g" -e "1s/^/'/" -e "\$s/\$/'/" -e "s#^'\([-[:alnum:]_,./:]*\)=\(.*\)\$#\1='\2#" -e "s|\*/|* /|g" +} + +fail () { + echo "$*" + exit 1 +} + +fnmatch () { + eval "case \"\$2\" in $1) return 0 ;; *) return 1 ;; esac" +} + +stripdir () { + while eval "fnmatch '*/' \"\${$1}\"" ; do + eval "$1=\${$1%/}" + done +} + +escapeslash () { + echo "$1" | sed -e 's/\//\\\//g' +} + +# Actual script + +prefix= +exec_prefix='$prefix' +bindir='$exec_prefix/bin' +libdir='$prefix/lib/$package' + +shebangdir='$prefix/bin' + +syslogdir='$prefix/var/log/goetia' +usrlogdir='.local/state/log' + +logconfig='n3 T' +loguser='logger' +logdep='mount' + +sysconfdir='$prefix/etc/goetia/system' +usrconfdir='.config/goetia' + +tmpfsdir='$prefix/run' +sysrundir='system' +usrrundir='user' + +timeout=60000 + +slashpackage=false +sproot= +home= +exthome= +build= + +for arg ; do + case "$arg" in + --help) usage ;; + --prefix=*) prefix=${arg#*=} ;; + --exec-prefix=*) exec_prefix=${arg#*=} ;; + --bindir=*) bindir=${arg#*=} ;; + --libdir=*) libdir=${arg#*=} ;; + --shebangdir=*) shebangdir=${arg#*=} ;; + --syslogdir=*) syslogdir=${arg#*=} ;; + --usrlogdir=*) usrlogdir=${arg#*=} ;; + --logconfig=*) logconfig=${arg#*=} ;; + --loguser=*) loguser=${arg#*=} ;; + --logdep=*) logdep=${arg#*=} ;; + --sysconfdir=*) sysconfdir=${arg#*=} ;; + --usrconfdir=*) usrconfdir=${arg#*=} ;; + --tmpfsdir=*) tmpfsdir=${arg#*=} ;; + --sysrundir=*) sysrundir=${arg#*=} ;; + --usrrundir=*) usrrundir=${arg#*=} ;; + --timeout=*) timeout=${arg#*=} ;; + --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;; + --enable-slashpackage) sproot= ; slashpackage=true ;; + --disable-slashpackage) sproot= ; installtype=fhs ;; + --enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;; + -* ) echo "$0: unknown option $arg" ;; + *=*) eval "${arg%%=*}=\${arg#*=}" ;; + *) target=$arg ;; + esac +done + +# Expand installation directories +stripdir prefix +for i in exec_prefix bindir libdir shebangdir syslogdir usrlogdir sysconfdir usrconfdir tmpfsdir sysrundir usrrundir sproot ; do + eval tmp=\${$i} + eval $i=$tmp + stripdir $i +done + +# Set slashpackage values +if $slashpackage ; then + home=${sproot}/package/${category}/${package}-${version} + exthome=${sproot}/package/${category}/${package} + extbinprefix=${exthome}/command + bindir=${home}/command + libdir=${home} +fi + +echo "Creating config.mak..." +cmdline=$(quote "$0") +for i ; do cmdline="$cmdline $(quote "$i")" ; done +exec 3>&1 1>config.mak +cat << EOF +# This file was generated by: +# $cmdline +# Any changes made here will be lost if configure is re-run. + +IT ::= all + +package ::= $package +prefix ::= $prefix +exec_prefix ::= $exec_prefix +bindir ::= $bindir +libdir ::= $libdir +shebangdir ::= $(escapeslash "$shebangdir") +syslogdir ::= $(escapeslash "$syslogdir") +usrlogdir ::= $(escapeslash "$usrlogdir") +logconfig ::= $(escapeslash "$logconfig") +loguser ::= $(escapeslash "$loguser") +logdep ::= $(escapeslash "$logdep") +sysconfdir ::= $(escapeslash "$sysconfdir") +usrconfdir ::= $(escapeslash "$usrconfdir") +tmpfsdir ::= $(escapeslash "$tmpfsdir") +sysrundir ::= $(escapeslash "$sysrundir") +usrrundir ::= $(escapeslash "$usrrundir") +timeout ::= $timeout +slashpackage ::= $slashpackage +sproot ::= $sproot +version ::= $version +home ::= $home +exthome ::= $exthome +EOF + +exec 1>&3 3>&- +echo " ... done." |
