summaryrefslogtreecommitdiff
path: root/doc/index.html
blob: 157400a398ed5f45bdda49aa7f645f0767e2466a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<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>s6-portable-utils - skarnet.org's tiny general Unix utilities</title>
    <meta name="Description" content="s6-portable-utils - skarnet.org's tiny general Unix utilities" />
    <meta name="Keywords" content="s6 unix administration root skarnet portable utilities tiny coreutils" />
    <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
  </head>
<body>

<p>
<a href="//skarnet.org/software/">Software</a><br />
<a href="//skarnet.org/">skarnet.org</a>
</p>

<h1> s6-portable-utils </h1>

<h2> What is it&nbsp;? </h2>

<p>
 s6-portable-utils is a set of tiny general Unix utilities, often
performing well-known tasks such as <em>cut</em> and <em>grep</em>,
but optimized for simplicity and small size. They were designed
for embedded systems and other constrained environments, but they
work everywhere.
</p>

<p>
 Other set of small utilities are usually system-specific; for
instance, the (otherwise good)
<a href="http://busybox.net/">BusyBox</a> project only works on Linux.
</p>

<p>
 Some of s6-portable-utils' programs are a conformant implementation
of a POSIX utility as determined by the
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html">Single
Unix Specification, version 4</a>; the relevant documentation pages mentions
this.
However, none of the s6-portable-utils programs supports internationalization.
</p>

<p>
It is now an explicit non-goal of s6-portable-utils to duplicate the work of
existing projects that aim to provide a lightweight implementation of
standard commands. 
 No more rewriting of standard commands will occur in s6-portable-utils;
the package is now used to host specific utilities such as
<a href="s6-uniquename.html"><tt>s6-uniquename</tt></a>.
</p>

<hr />

<h2> Installation </h2>

<h3> Requirements </h3>

<ul>
 <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.2.1 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>

<h3> Licensing </h3>

<p>
 s6-portable-utils is free software. It is available under the
<a href="http://opensource.org/licenses/ISC">ISC license</a>.
</p>

<h3> Download </h3>

<ul>
 <li> The current released version of s6-portable-utils is
<a href="s6-portable-utils-2.2.2.5.tar.gz">2.2.2.5</a>. </li>
 <li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-portable-utils/">s6-portable-utils
git repository</a>:
<pre> git clone git://git.skarnet.org/s6-portable-utils </pre> </li>
 <li> There's also a
<a href="https://github.com/skarnet/s6-portable-utils">GitHub mirror</a>
of the s6-portable-utils git repository. </li>
</ul>

<h3> Compilation </h3>

<ul>
 <li> See the enclosed INSTALL file for installation details. </li>
</ul>

<h3> Upgrade notes </h3>

<ul>
 <li> <a href="upgrade.html">This page</a> lists the differences to be aware of between
the previous versions of s6-portable-utils and the current one. </li>
</ul>

<hr />

<h2> Reference </h2>

<h3> Commands </h3>

<p>
 All these commands exit 111 if they encounter a temporary error, and
100 if they encounter a permanent error - such as a misuse. They exit
127 if they're trying to execute into a program and cannot find it, and
126 if they fail to execute into a program for another reason.
</p>

<ul>
 <li> The <a href="s6-basename.html"><tt>s6-basename</tt></a> program </li>
 <li> The <a href="s6-cat.html"><tt>s6-cat</tt></a> program </li>
 <li> The <a href="s6-chmod.html"><tt>s6-chmod</tt></a> program </li>
 <li> The <a href="s6-chown.html"><tt>s6-chown</tt></a> program </li>
 <li> The <a href="s6-clock.html"><tt>s6-clock</tt></a> program </li>
 <li> The <a href="s6-cut.html"><tt>s6-cut</tt></a> program </li>
 <li> The <a href="s6-dirname.html"><tt>s6-dirname</tt></a> program </li>
 <li> The <a href="s6-dumpenv.html"><tt>s6-dumpenv</tt></a> program </li>
 <li> The <a href="s6-echo.html"><tt>s6-echo</tt></a> program </li>
 <li> The <a href="s6-env.html"><tt>s6-env</tt></a> program </li>
 <li> The <a href="s6-expr.html"><tt>s6-expr</tt></a> program </li>
 <li> The <a href="s6-false.html"><tt>s6-false</tt></a> program </li>
 <li> The <a href="s6-format-filter.html"><tt>s6-format-filter</tt></a> program </li>
 <li> The <a href="s6-grep.html"><tt>s6-grep</tt></a> program </li>
 <li> The <a href="s6-head.html"><tt>s6-head</tt></a> program </li>
 <li> The <a href="s6-hiercopy.html"><tt>s6-hiercopy</tt></a> program </li>
 <li> The <a href="s6-linkname.html"><tt>s6-linkname</tt></a> program </li>
 <li> The <a href="s6-ln.html"><tt>s6-ln</tt></a> program </li>
 <li> The <a href="s6-ls.html"><tt>s6-ls</tt></a> program </li>
 <li> The <a href="s6-maximumtime.html"><tt>s6-maximumtime</tt></a> program </li>
 <li> The <a href="s6-mkdir.html"><tt>s6-mkdir</tt></a> program </li>
 <li> The <a href="s6-mkfifo.html"><tt>s6-mkfifo</tt></a> program </li>
 <li> The <a href="s6-nice.html"><tt>s6-nice</tt></a> program </li>
 <li> The <a href="s6-nuke.html"><tt>s6-nuke</tt></a> program </li>
 <li> The <a href="s6-pause.html"><tt>s6-pause</tt></a> program </li>
 <li> The <a href="s6-printenv.html"><tt>s6-printenv</tt></a> program </li>
 <li> The <a href="s6-quote-filter.html"><tt>s6-quote-filter</tt></a> program </li>
 <li> The <a href="s6-quote.html"><tt>s6-quote</tt></a> program </li>
 <li> The <a href="s6-rename.html"><tt>s6-rename</tt></a> program </li>
 <li> The <a href="s6-rmrf.html"><tt>s6-rmrf</tt></a> program </li>
 <li> The <a href="s6-seq.html"><tt>s6-seq</tt></a> program </li>
 <li> The <a href="s6-sleep.html"><tt>s6-sleep</tt></a> program </li>
 <li> The <a href="s6-sort.html"><tt>s6-sort</tt></a> program </li>
 <li> The <a href="s6-sync.html"><tt>s6-sync</tt></a> program </li>
 <li> The <a href="s6-tail.html"><tt>s6-tail</tt></a> program </li>
 <li> The <a href="s6-test.html"><tt>s6-test</tt></a> program </li>
 <li> The <a href="s6-touch.html"><tt>s6-touch</tt></a> program </li>
 <li> The <a href="s6-true.html"><tt>s6-true</tt></a> program </li>
 <li> The <a href="s6-uniquename.html"><tt>s6-uniquename</tt></a> program </li>
 <li> The <a href="s6-unquote-filter.html"><tt>s6-unquote-filter</tt></a> program </li>
 <li> The <a href="s6-unquote.html"><tt>s6-unquote</tt></a> program </li>
 <li> The <a href="s6-update-symlinks.html"><tt>s6-update-symlinks</tt></a> program </li>
 <li> The <a href="seekablepipe.html"><tt>seekablepipe</tt></a> program </li>
</ul>

<h2> Related resources </h2>

<ul>
 <li> <tt>s6-portable-utils</tt> is discussed on the
<a href="//skarnet.org/lists.html#skaware">skaware</a> mailing-list. </li>
</ul>

</body>
</html>