-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
162 lines (154 loc) · 8.3 KB
/
index.html
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
<!DOCTYPE HTML>
<html>
<head>
<title>Heirloom New Generation</title>
<meta charset="UTF-8">
<link type="text/css"
rel="stylesheet"
href="./assets/style.css">
<script type="text/javascript"
src="./assets/scripts/fetch_gh_api.js">
</script>
</head>
<body onload="getLatestTag(); getContributors(); getIssues();">
<div id='side-bar'>
<li><a href="#what">What is it?</a></li>
<li><a href="#differences">Differences from the old Heirloom Toolchest</a></li>
<li><a href="#source-code">Download the source code</a></li>
<li><a href="./manual">Documentation</a></li>
<li><a href="#users">Users</a></li>
<li><a href="#chip-in">Chip in!</a></li>
<li><a href="#contributors">Contributors</a></li>
<li><a href="#licence">Licence</a></li>
</div>
<div id=main>
<h1>Heirloom Toolchest<br>
<span id="new">NEW</span>
<span id="generation">GENERATION</span></h1>
<h2 id="what">What is it?</h2>
<p>Heirloom NG is a collection of standard UNIX® utilities that is
intended to provide maximum compatibility with traditional UNIX® while
incorporating additional features necessary today.<br/>
It's mostly written from scratch, along with some tools that were
released under open source licences by <a
href="http://www.lemis.com/grog/UNIX/">Caldera International Inc.</a>
and <a
href="https://web.archive.org/web/20091212202000/http://hub.opensolaris.org/bin/view/Main/">
Sun Microsystems</a>.<br/>
It <b>provides many UNIX® utilities</b>, with some having variants for
compatibility with various specifications — to be specific,
SVID3/SVR4, SVID4/SVR4.2MP, POSIX.2-1992/SUSV2, POSIX.1-2001/SUSV3,
and BSD (a.k.a. SVR4's <tt>/usr/ucb</tt>).</p>
<h2 id="differences">What are the differences from the last release of
Heirloom Toolchest?</h2>
<p>The last release of the original Heirloom Toolchest project was made
in July 15th of 2007. Since then, many things have changed, such as
UNIX®-compatible systems ABIs having dropped legacy functions and data
structures that were inherited from workarounds/bad practices present
in older systems.<br/>Although trying to maintain compatibility with
environments that the pre-fork releases already supported, <b>Heirloom
NG also ported the code to work with newer systems and standard C
libraries</b>.<br/>
Another change was the finality: while the old Heirloom Toolchest was
aimed just to "caters to people who like to operate their computers
using a traditional Unix command line interface", <b>Heirloom NG arose
from the need of a complete alternative to existent toolsets</b>, along
with the idea of also having a traditional and stone-cold environment,
so <b>new tools, such as <a href="./manual/man8/chroot.8.html">
<tt>chroot</tt>(8)</a> and <a href="./manual/man1/readlink.1.html">
<tt>readlink</tt>(1)</a> were implemented</b>.<br/>
In sum, Heirloom NG is the original Heirloom Toolchest, but
<b>maintained and enhanced</b> with the idea of supplying a full
UNIX®-compatible toolset.<br/>
Although this fork started out just as a set of poorly made fixes
with the sole intent to make it work as <a
href="http://copacabana.pindorama.dob.jp">Copacabana</a>'s userspace back
in October 4th, 2021, it gained independence in 2022 and better
portability fixes than before, becoming a new project that is not as
"Copacabana-centric" as before.</p>
<h2 id="source-code">Download the source code</h2>
<p>The latest release is <span id="latest-tag"></span>.<br/>
You can use the command below retrieve a release copy from one of
<a href="http://pindorama.dob.jp">Pindorama</a> project servers:
<pre>
$ curl -SO# http://pindorama.dob.jp/pub/heirloom-ng/YYMMDD.tar.gz
</pre>
<p>Or, if you prefer, you can also retrieve a copy both from the
current development tree or a release directly from the git
repository:</p>
<pre>
$ git clone -b [master|YYMMDD] https://github.com/Projeto-Pindorama/heirloom-ng.git
</pre>
<p><i>Just want to read the code?</i> <b><a
href="https://github.com/Projeto-Pindorama/heirloom-ng">Browse the git
repository</a></b> at Microsoft GitHub — <span
style="color: red; font-weight: bold;">and now</span> also available as
<a href="https://sourceforge.net/projects/heirloom-ng/">
a mirror at SourceForge.net</a>!</p>
<p><i>Got the <a
href="https://sourceforge.net/projects/heirloom/files/heirloom/070715/">
old tarball</a> from sourceforge.net?</i>
<b>No trouble, we've got you covered.</b><br />
If, for some reason, you only have access to the old '07 tarball from
the original Heirloom Project and want to use Heirloom NG's fixes and
features, you can get a giga-patch from the Microsoft GitHub repository
and apply it:</p>
<pre>
$ curl -So gigapatch.diff https://github.com/Projeto-Pindorama/heirloom-ng/compare/070715...[master|YYMMDD].diff
$ cd heirloom-070715; patch -Np1 < ../gigapatch.diff
</pre>
<h2 id="users">Users</h2>
<p>This is a list of projects currently and/or planning to utilize
Heirloom NG as an alternative or the as the default UNIX®-compatible
tool set.<p>
<li><a href="http://copacabana.pindorama.dob.jp">
Copacabana Linux®</a> has Heirloom NG as an integral part of its
userspace;</li>
<li><a href="https://github.com/dslm4515/CMLFS">Clang Musl-LFS</a>
already has a placeholder for instructions regarding building
Heirloom NG as an alternative to other toolsets;</li>
<li><a href="https://github.com/ryanwoodsmall/crosware">crosware</a>,
which is a set of tools and "recipes" for building software on ChromeOS,
includes Heirloom NG in the list of "recipes to consider".</li>
<h2 id="chip-in">Chip in!</h2>
<p>We can't make this happen all alone. There are many ways <u>you</u>
can chip in. Testing for compatibility or bugs? Implementing the latest
POSIX standard at the default variants of commands? Implementing lacking
commands? There you go.<br/>
Read more about the details at <a
href="https://github.com/Projeto-Pindorama/heirloom-ng#chip-in">the
"README"</a>.</p>
<h3><i>Help me if you can, I'm feeling down...</i></h3>
<p>Here is a list of all the <span id="asusual">issues</span> open at
the GitHub repository, which is a way to discuss problems or even
features and, of course, to make new contributors aware of what is
currently in need of <span id="help">help</span> to get
implemented.</p>
<span id="issues-list"></span>
<p><i>Won't you please, please help me?</i></p>
<h2 id="contributors">Contributors</h2>
<span id="contributor-list"></span>
<h2 id="licence">Licence</h2>
<p>The vast majority of the files — 199 of the 508 (39%),
including manual pages and source code written in different languages
— are licenced under the <a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/LICENCE">
ZLib licence</a>, which is also the default and required licence for new
contributions.<br/>Other licences include <a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/DOCUMENTATION.old/LICENCE/LICENSE#L50-L80">
Caldera</a> (138 files, 27%), <a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/DOCUMENTATION.old/LICENCE/LICENSE#L97-L126">
BSD 4-Clause</a> (35 files, 6%), <a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/DOCUMENTATION.old/LICENCE/OPENSOLARIS.LICENSE">
CDDL-1.0</a> (109 files, 21%) and
<a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/DOCUMENTATION.old/LICENCE/COPYING.LGPL">
LGPL v2.1</a>/<a
href="https://github.com/Projeto-Pindorama/heirloom-ng/blob/master/DOCUMENTATION.old/LICENCE/COPYING">
GPL v2.0</a> (27 files, 5%).<br/>
If you need to know about which files use which licences, you can easily
check for the "<tt>SPDX-Licence-Identifier</tt>" header on each of the
files.</p>
</div>
</body>
</html>