summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-05-19 12:39:14 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-05-19 12:39:14 +0000
commit486b06b4125c00dd6ffce079432022a11930ce01 (patch)
treec8db5f303c1b6b3bc160d2eee25b2a62e0e517ab
parent80e1bb78abff39447d6312d837dd0d8155e63c8a (diff)
downloadexecline-486b06b4125c00dd6ffce079432022a11930ce01.tar.xz
Add execline-startup and execline-shell to examples/ again
-rw-r--r--doc/execline-shell.html7
-rw-r--r--doc/execline-startup.html5
-rw-r--r--examples/etc/env-startup/EDITOR1
-rw-r--r--examples/etc/env-startup/GZIP1
-rw-r--r--examples/etc/env-startup/LC_CTYPE1
-rw-r--r--examples/etc/env-startup/LESS1
-rw-r--r--examples/etc/env-startup/LESSCHARSET1
-rw-r--r--examples/etc/env-startup/MAIL0
-rw-r--r--examples/etc/env-startup/PAGER1
-rw-r--r--examples/etc/env-startup/PATH1
-rw-r--r--examples/etc/env-startup/SHELL1
-rw-r--r--examples/etc/env-startup/VISUAL1
-rwxr-xr-xexamples/etc/execline-shell18
-rwxr-xr-xexamples/etc/execline-startup15
14 files changed, 49 insertions, 5 deletions
diff --git a/doc/execline-shell.html b/doc/execline-shell.html
index b14c48d..02449c7 100644
--- a/doc/execline-shell.html
+++ b/doc/execline-shell.html
@@ -20,7 +20,8 @@
<p>
<tt>execline-shell</tt> executes <tt>$HOME/.execline-shell</tt>
-with the arguments it is given.
+if available (or <tt>/bin/sh</tt> otherwise) with the arguments
+it is given.
</p>
<h2> Interface </h2>
@@ -34,7 +35,7 @@ with the arguments it is given.
<tt>${HOME}/.execline-shell $@</tt>. </li>
<li><tt>${HOME}/.execline-shell</tt> must be readable and
executable by the user. It must exec into an interactive
-shell with <tt>$@</tt> as its argument.</li>
+shell with <tt>$@</tt> as its argument. </li>
</ul>
<h2> Notes </h2>
@@ -46,7 +47,7 @@ shell configuration in any language, since the <tt>${HOME}/.execline-shell</tt>
file can be any executable program. <tt>${HOME}/.execline-shell</tt> can be seen
as a portable <tt>.<em>whatever</em>rc</tt> file. </li>
<li> As an administrator-modifiable configuration file, <tt>execline-shell</tt>
-provided in execline's <tt>etc/</tt> subdirectory, and should be copied by
+provided in execline's <tt>examples/etc/</tt> subdirectory, and should be copied by
the administrator to <tt>/etc</tt>. </li>
</ul>
diff --git a/doc/execline-startup.html b/doc/execline-startup.html
index ccbdb56..69b3797 100644
--- a/doc/execline-startup.html
+++ b/doc/execline-startup.html
@@ -33,7 +33,8 @@ login initialization, then executes <tt>${HOME}/.execline-loginshell</tt>.
<li> <tt>execline-startup</tt> sets the <tt>SHELL</tt>
environment variable to <tt>/etc/execline-shell</tt>.
It then performs some system-specific initialization, and
-transforms itself into <tt>${HOME}/.execline-loginshell $@</tt>. </li>
+transforms itself into <tt>${HOME}/.execline-loginshell $@</tt>
+if available (and <tt>/etc/execline-shell</tt> otherwise). </li>
<li><tt>${HOME}/.execline-loginshell</tt> must be readable and
executable by the user. It must exec into <tt>$SHELL $@</tt>. </li>
</ul>
@@ -46,7 +47,7 @@ executable by the user. It must exec into <tt>$SHELL $@</tt>. </li>
and modifiable. It is meant to be modified by the system administrator
to perform system-specific login-time initialization. </li>
<li> As a modifiable configuration file, execline-startup is provided in execline's
-<tt>etc/</tt> subdirectory, and should be copied by the administrator
+<tt>examples/etc/</tt> subdirectory, and should be copied by the administrator
to <tt>/etc</tt>. </li>
<li> <tt>execline-startup</tt> is meant to be used as a login shell.
System administrators should manually add <tt>/etc/execline-startup</tt>
diff --git a/examples/etc/env-startup/EDITOR b/examples/etc/env-startup/EDITOR
new file mode 100644
index 0000000..7c74f87
--- /dev/null
+++ b/examples/etc/env-startup/EDITOR
@@ -0,0 +1 @@
+vi
diff --git a/examples/etc/env-startup/GZIP b/examples/etc/env-startup/GZIP
new file mode 100644
index 0000000..6514c51
--- /dev/null
+++ b/examples/etc/env-startup/GZIP
@@ -0,0 +1 @@
+-r9
diff --git a/examples/etc/env-startup/LC_CTYPE b/examples/etc/env-startup/LC_CTYPE
new file mode 100644
index 0000000..927508f
--- /dev/null
+++ b/examples/etc/env-startup/LC_CTYPE
@@ -0,0 +1 @@
+en_US.UTF-8
diff --git a/examples/etc/env-startup/LESS b/examples/etc/env-startup/LESS
new file mode 100644
index 0000000..d963b9c
--- /dev/null
+++ b/examples/etc/env-startup/LESS
@@ -0,0 +1 @@
+-fMqrIX -b16 -z-2
diff --git a/examples/etc/env-startup/LESSCHARSET b/examples/etc/env-startup/LESSCHARSET
new file mode 100644
index 0000000..5546241
--- /dev/null
+++ b/examples/etc/env-startup/LESSCHARSET
@@ -0,0 +1 @@
+utf8
diff --git a/examples/etc/env-startup/MAIL b/examples/etc/env-startup/MAIL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/etc/env-startup/MAIL
diff --git a/examples/etc/env-startup/PAGER b/examples/etc/env-startup/PAGER
new file mode 100644
index 0000000..c96a5ab
--- /dev/null
+++ b/examples/etc/env-startup/PAGER
@@ -0,0 +1 @@
+less
diff --git a/examples/etc/env-startup/PATH b/examples/etc/env-startup/PATH
new file mode 100644
index 0000000..cbd04b7
--- /dev/null
+++ b/examples/etc/env-startup/PATH
@@ -0,0 +1 @@
+/usr/local/bin:/usr/bin:/bin
diff --git a/examples/etc/env-startup/SHELL b/examples/etc/env-startup/SHELL
new file mode 100644
index 0000000..0a59cfa
--- /dev/null
+++ b/examples/etc/env-startup/SHELL
@@ -0,0 +1 @@
+/etc/execline-shell
diff --git a/examples/etc/env-startup/VISUAL b/examples/etc/env-startup/VISUAL
new file mode 100644
index 0000000..7c74f87
--- /dev/null
+++ b/examples/etc/env-startup/VISUAL
@@ -0,0 +1 @@
+vi
diff --git a/examples/etc/execline-shell b/examples/etc/execline-shell
new file mode 100755
index 0000000..ac8c141
--- /dev/null
+++ b/examples/etc/execline-shell
@@ -0,0 +1,18 @@
+#!/bin/execlineb -S0
+
+backtick -n defaulthome
+{
+ if -nt
+ {
+ backtick -n defaultuser { id -un }
+ importas -u defaultuser defaultuser
+ importas -D $defaultuser USER USER
+ redirfd -w 2 /dev/null
+ homeof ${USER}
+ }
+ s6-echo /
+}
+importas -u defaulthome defaulthome
+importas -D $defaulthome HOME HOME
+tryexec { ${HOME}/.execline-shell $@ }
+/bin/sh $@
diff --git a/examples/etc/execline-startup b/examples/etc/execline-startup
new file mode 100755
index 0000000..4afc557
--- /dev/null
+++ b/examples/etc/execline-startup
@@ -0,0 +1,15 @@
+#!/bin/execlineb -S0
+
+/bin/multisubstitute
+{
+ importas -i HOME HOME
+ importas -i LOGNAME LOGNAME
+}
+/bin/export USER ${LOGNAME}
+/bin/s6-envdir /etc/env-startup
+/bin/fdblock 0
+/bin/fdblock 1
+/bin/fdblock 2
+
+/bin/tryexec { ${HOME}/.execline-loginshell $@ }
+/etc/execline-shell $@