summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-10-09 17:24:15 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-10-09 17:24:15 +0000
commit31694907dde18fc70d7b3e3813e5183d35f0e5db (patch)
tree8a00ba5d8e40180a0c0ac81c26d97506aa8fdde4 /doc
parent719337e34b0e3030acab2786c3035bbd3fcceb93 (diff)
downloadexecline-31694907dde18fc70d7b3e3813e5183d35f0e5db.tar.xz
Add --enable-pedantic-posix, posix-cd, prepare for 2.5.3.0
Also make wait posix-compliant and update doc.
Diffstat (limited to 'doc')
-rw-r--r--doc/cd.html12
-rw-r--r--doc/index.html5
-rw-r--r--doc/posix-cd.html62
-rw-r--r--doc/upgrade.html10
-rw-r--r--doc/wait.html10
5 files changed, 93 insertions, 6 deletions
diff --git a/doc/cd.html b/doc/cd.html
index c412e5e..fe64c19 100644
--- a/doc/cd.html
+++ b/doc/cd.html
@@ -37,10 +37,14 @@ system call on <em>dir</em>, then execs into <em>prog...</em>.
<h2> Notes </h2>
-<p>
-<tt>cd</tt> is a standard shell builtin. Be careful if you want to
-use the <tt>cd</tt> command outside of an <tt>execline</tt> script.
-</p>
+<ul>
+ <li> <tt>cd</tt> is a standard shell builtin. Be careful if you want to
+use the <tt>cd</tt> command outside of an <tt>execline</tt> script </li>
+ <li> When execline has been configured with the <tt>--enable-pedantic-posix</tt>
+option, the <tt>cd</tt> binary is actually a symbolic link to the
+<a href="posix-cd.html">posix-cd</a> binary. </li>
+</ul>
+
</body>
</html>
diff --git a/doc/index.html b/doc/index.html
index 193f476..0a3643c 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -51,7 +51,7 @@ shell's syntax, and has no security issues.
<li> A POSIX-compliant system with a standard C development environment </li>
<li> GNU make, version 3.81 or later. </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version
-2.9.0.0 or later. It's a build-time requirement. It's also a run-time
+2.9.1.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs
library. </li>
</ul>
@@ -66,7 +66,7 @@ library. </li>
<h3> Download </h3>
<ul>
- <li> The current released version of execline is <a href="execline-2.5.2.0.tar.gz">2.5.2.0</a>. </li>
+ <li> The current released version of execline is <a href="execline-2.5.3.0.tar.gz">2.5.3.0</a>. </li>
<li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/execline/">execline
git repository</a>:
@@ -126,6 +126,7 @@ to your installation: the shebang lines for your system might be something like
</p>
<ul>
<li><a href="cd.html">The <tt>cd</tt> program</a></li>
+<li><a href="posix-cd.html">The <tt>posix-cd</tt> program</a></li>
<li><a href="umask.html">The <tt>umask</tt> program</a></li>
<li><a href="emptyenv.html">The <tt>emptyenv</tt> program</a></li>
<li><a href="envfile.html">The <tt>envfile</tt> program</a></li>
diff --git a/doc/posix-cd.html b/doc/posix-cd.html
new file mode 100644
index 0000000..3a24602
--- /dev/null
+++ b/doc/posix-cd.html
@@ -0,0 +1,62 @@
+<html>
+ <head>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>execline: the posix-cd command</title>
+ <meta name="Description" content="execline: the posix-cd command" />
+ <meta name="Keywords" content="execline command cd chdir posix posix-cd" />
+ <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
+</head>
+<body>
+
+<p>
+<a href="index.html">execline</a><br />
+<a href="//skarnet.org/software/">Software</a><br />
+<a href="//skarnet.org/">skarnet.org</a>
+</p>
+
+<h1> The <tt>posix-cd</tt> program </h1>
+
+<p>
+<tt>posix-cd</tt> changes the current working directory to a
+given directory, then executes a program.
+</p>
+
+<h2> Interface </h2>
+
+<pre>
+ posix-cd <em>dir</em> <em>prog...</em>
+</pre>
+
+<p>
+<tt>posix-cd</tt> changes the current working directory to <em>dir</em>
+according to the
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cd.html">POSIX
+specification for a <tt>cd</tt> external utility</a>. Then, if <em>prog...</em> is
+not empty, it execs into it.
+</p>
+
+<h2> Notes </h2>
+
+<ul>
+ <li> <tt>posix-cd</tt> is only available when execline has been configured
+with the <tt>--enable-pedantic-posix</tt> option, and in this case, the
+<a href="cd.html">cd</a> binary is a symbolic link to it. </li>
+ <li> <tt>posix-cd</tt> fully conforms to the
+<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/cd.html">POSIX
+specification</a>. When <em>prog...</em> is not empty, the behaviour of a
+<tt>cd</tt> utility is not specified by POSIX, so <tt>posix-cd</tt> extends
+the spec to be actually useful and usable in an execline program with the same
+interface as the regular execline <a href="cd.html">cd</a> command. </li>
+ <li> Nobody ever executes or needs the external version (i.e. not a shell
+builtin) of the POSIX <tt>cd</tt> command. Compared to the regular execline
+<a href="cd.html">cd</a>, <tt>posix-cd</tt> is uselessly bloated and slow.
+The only reason it exists is that some distributions refuse to package
+execline correctly unless it is strictly POSIX-compliant; the
+<tt>--enable-pedantic-posix</tt> configure option is there to appease them. </li>
+</ul>
+
+
+</body>
+</html>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index 3191685..045803e 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -18,6 +18,16 @@
<h1> What has changed in execline </h1>
+<h2> in 2.5.3.0 </h2>
+
+<ul>
+ <li> <a href="//skarnet.org/software/skalibs/"></a>skalibs</a>
+dependency bumped to 2.9.1.0. </li>
+ <li> <tt>--enable-pedantic-posix</tt> configure option added. </li>
+ <li> <a href="posix-cd.html">posix-cd</a> binary added. </li>
+ <li> <a href="wait.html">wait</a> binary made POSIX-compliant. </li>
+</ul>
+
<h2> in 2.5.2.0 </h2>
<ul>
diff --git a/doc/wait.html b/doc/wait.html
index a57d28c..a092859 100644
--- a/doc/wait.html
+++ b/doc/wait.html
@@ -60,5 +60,15 @@ exec into <em>prog...</em>. This is the default. </li>
will print an error message and exit 1. </li>
</ul>
+<h2> Notes </h2>
+
+<ul>
+ <li> For <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/wait.html">POSIX
+compatibility</a>, <tt>wait</tt> also works when it cannot find a block.
+In that case, all its command line is interpreted as <em>pids...</em>
+arguments and it does not execute into a program. Instead, it exits
+with a conforming exit code. </li>
+</ul>
+
</body>
</html>