dot

packages and services management
Log | Files | Refs | README

commit ca62f17f8dc1a97d8384b47023e077e5d4021b45
parent dc4ce1048de0c5fb6b399f89a0e4afc529a5f42f
Author: Josuah <mail@josuah.net>
Date:   Fri,  9 Feb 2018 03:40:00 +0100

updated man page and some recipes

Diffstat:
MREADME | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
DREADME.7 | 25-------------------------
Mconfigure | 2++
Mdot/profile | 4++--
Aman/configure.7 | 150+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpack/ngircd/build | 9+++++++--
Mpack/openssh/build | 6+++++-
Mpack/tcpdump/build | 6++++--
Mpack/tinc/build | 12++++++------
Mpack/xinetd/build | 9++++-----
10 files changed, 250 insertions(+), 47 deletions(-)

diff --git a/README b/README @@ -1,12 +1,78 @@ -CONFIG(7) Miscellaneous Information Manual CONFIG(7) +./CONFIGURE(7) Miscellaneous Information Manual ./CONFIGURE(7) NAME - configuration what comes after writing software + ./configure setup symlinks for portable configuration SYNOPSIS + ./configure + . ~/.profile DESCRIPTION - Configuration files to build and setup selected software on multiple - machines. + ./configure symlinks files from this directory into the $ETC directory as + defined in ./dot/profile and symlinks everything in dot into the home + directory. + +ENVIRONMENT + Path used across the configuration are setup by the following environment + variables: + + VAR Sets the directory containing all generated data, including irc, + mail, tox, qemu images... Usually /var, set to ~/.cache. + + RUN Sets the directory containig information and pipes conserning + currently running programs. Usually /var/run or /run, set to + ${VAR}/run. + + LOG Set the directory containing logs for each program. Usually + /var/log, set to ${VAR}/log. + + ETC Local configuration directory, where software are configured to + search their configuration file. Usually /etc, set to ~/.config. + + SYS Alternate system root in which software are downloaded, build, + and installed (via symlinks). Usually /usr or /usr/local, set to + ~/.local. + + LIB Directory where original data are stored. Usually ~, set to + ~/lib. + +FILES + ./pack/ + Contains one directory per package with all information to build + it. + + ./daemon/ + Contains one scripts per daemon, which start it while invoked, + optionnally with arguments. + + ./bin/ Contains scripts collection to maintain the configuration and + more. + + ./man/ Contains manual pages for utilities developed inside of ./bin/. + + ./dot/ Contains files to be symlinked into the home directory. + + ./skel/ + Contains files to be manually copied in-place and then edited. + +SEE ALSO + pack(1) + A package manager permits to fetch and install missing software + and libraries according to rules in subdirectories of ./pack. + + daemon(1) + A daemon management script which calls the scirpts in ./daemon to + manage different software in an uniform manner. + + xdg-open(1) + A general-purpose piping utility which chooses the apropriate + program to open the file passed as argument. + +STANDARDS + This set of configurations and scripts try to comply with IEEE Std 1003.1 + (POSIX.1) and to keep the amount of external dependencies low. + +AUTHORS + Josuah Demangeon <mail@josuah.net> OpenBSD 6.2 February 9, 2018 OpenBSD 6.2 diff --git a/README.7 b/README.7 @@ -1,25 +0,0 @@ -.Dd $Mdocdate: February 09 2018$ -.Dt CONFIG 7 -.Os -. -. -.Sh NAME -. -.Nm configuration -.Nd what comes after writing software -. -. -.Sh SYNOPSIS -. -.Bd -literal -\&./configure -\&. ~/.profile -.Ed -. -. -.Sh DESCRIPTION -. -Configuration files to build and setup selected software on multiple -machines. -. -.Pp diff --git a/configure b/configure @@ -8,6 +8,8 @@ find * -type d -exec mkdir -p "${ETC}/{}" \; find * ! -type d -exec ln -fs "${PWD}/{}" "${ETC}/{}" \; cd dot + find * -type d -exec mkdir -p "${HOME}/.{}" \; find * ! -type d -exec ln -fs "${PWD}/{}" "${HOME}/.{}" \; + find -L "${HOME}" -maxdepth 2 -type l -exec rm {} + diff --git a/dot/profile b/dot/profile @@ -16,8 +16,8 @@ export LC_NUMERIC='en_US.UTF-8' export LC_TIME='en_US.UTF-8' export VAR="${HOME}/.cache" -export RUN="${HOME}/.cache/run" -export LOG="${HOME}/.cache/log" +export RUN="${VAR}/run" +export LOG="${VAR}/log" export ETC="${HOME}/.config" export SYS="${HOME}/.local" export LIB="${HOME}/lib" diff --git a/man/configure.7 b/man/configure.7 @@ -0,0 +1,150 @@ +.Dd $Mdocdate: February 09 2018$ +.Dt ./CONFIGURE 7 +.Os +. +. +.Sh NAME +. +.Nm ./configure +.Nd setup symlinks for portable configuration +. +. +.Sh SYNOPSIS +. +.Bd -literal +\&./configure +\&. ~/.profile +.Ed +. +. +.Sh DESCRIPTION +. +.Nm +symlinks files from this directory into the +.Pa $ETC +directory as defined in +.Pa ./dot/profile +and symlinks everything in +.Pa dot +into the home directory. +. +. +.Sh ENVIRONMENT +. +Path used across the configuration are setup by the following environment +variables: +. +.Bl -tag -width 6n +. +.It Ev VAR +Sets the directory containing all generated data, including irc, mail, tox, +qemu images... +Usually +.Pa /var , +set to +.Pa ~/.cache . +. +.It Ev RUN +Sets the directory containig information and pipes conserning currently +running programs. +Usually +.Pa /var/run +or +.Pa /run , +set to +.Pa ${VAR}/run . +. +.It Ev LOG +Set the directory containing logs for each program. +Usually +.Pa /var/log , +set to +.Pa ${VAR}/log . +. +.It Ev ETC +Local configuration directory, where software are configured to search +their configuration file. +Usually +.Pa /etc , +set to +.Pa ~/.config . +. +.It Ev SYS +Alternate system root in which software are downloaded, build, and installed +.Pq via symlinks . +Usually +.Pa /usr +or +.Pa /usr/local , +set to +.Pa ~/.local . +. +.It Ev LIB +Directory where original data are stored. +Usually +.Pa ~ , +set to +.Pa ~/lib . +. +.El +. +. +.Sh FILES +. +.Bl -tag -width 6n +. +.It Pa ./pack/ +Contains one directory per package with all information to build it. +. +.It Pa ./daemon/ +Contains one scripts per daemon, which start it while invoked, optionnally with +arguments. +. +.It Pa ./bin/ +Contains scripts collection to maintain the configuration and more. +. +.It Pa ./man/ +Contains manual pages for utilities developed inside of +.Pa ./bin/ . +. +.It Pa ./dot/ +Contains files to be symlinked into the home directory. +. +.It Pa ./skel/ +Contains files to be manually copied in-place and then edited. +. +.El +. +. +.Sh SEE ALSO +. +.Bl -tag -width 6n +. +.It Xr pack 1 +A package manager permits to fetch and install missing software and libraries +according to rules in subdirectories of +.Pa ./pack . +. +.It Xr daemon 1 +A daemon management script which calls the scirpts in +.Pa ./daemon +to manage different software in an uniform manner. +. +.It Xr xdg-open 1 +A general-purpose piping utility which chooses the apropriate program to open +the file passed as argument. +. +.El +. +. +.Sh STANDARDS +. +This set of configurations and scripts try to comply with +.St -p1003.1 +and to keep the amount of external dependencies low. +. +. +.Sh AUTHORS +. +.An Josuah Demangeon +.Aq Mt mail@josuah.net diff --git a/pack/ngircd/build b/pack/ngircd/build @@ -1,4 +1,9 @@ -./configure CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" --with-openssl \ - --prefix="$OPT" --sbindir="$OPT/bin" --sysconfdir="/etc/ngircd" +#!/bin/sh -e + +./configure \ + --prefix="${OPT}" \ + --sysconfdir="${ETC}" \ + --sbindir="${OPT}/bin" + --with-openssl make install diff --git a/pack/openssh/build b/pack/openssh/build @@ -1,4 +1,8 @@ -./configure --prefix="$OPT" --sbindir="$OPT/bin" +#!/bin/sh -e + +./configure \ + --prefix="${OPT}" \ + --sbindir="${OPT}/bin" make install diff --git a/pack/tcpdump/build b/pack/tcpdump/build @@ -1,5 +1,7 @@ #!/bin/sh -./configure --prefix="$OPT" +./configure \ + --prefix="${OPT}" \ + --sbindir="${OPT}/bin" + make install -mv "$OPT/sbin" "$OPT/bin" diff --git a/pack/tinc/build b/pack/tinc/build @@ -2,13 +2,13 @@ case "$(uname)" in (*BSD) make=gmake ;; (*) make=make ;; esac -./configure --prefix="$OPT" \ +./configure \ + --prefix="${OPT}" \ + --sbindir="${OPT}/bin" \ + --sysconfdir="${HOME}/.config" \ + --localstatedir="${HOME}/.cache" \ --disable-lzo \ --disable-readline \ - --disable-curses \ - --sysconfdir="${HOME}/.config" \ - --localstatedir="${HOME}/.cache" + --disable-curses $make install - -mv "${OPT}/sbin"/* "${OPT}/bin" diff --git a/pack/xinetd/build b/pack/xinetd/build @@ -1,9 +1,8 @@ #!/bin/sh -e -./configure --prefix="$OPT" +./configure \ + --prefix="${OPT}" \ + --sbindir="${OPT}/bin" \ + --mandir="${OPT}/share/man" make install - -mkdir -p "$OPT/share" -mv "$OPT/sbin" "$OPT/bin" -mv "$OPT/man" "$OPT/share"