-
Notifications
You must be signed in to change notification settings - Fork 1
/
code.html
54 lines (50 loc) · 1.88 KB
/
code.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
<!doctype html>
<html lang=en>
<meta charset=utf-8>
<title>HamBSD: Source Code</title>
<meta name="description" content="HamBSD Source Code">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://hambsd.org/code.html">
<h2 id="HamBSD">
<a href="index.html">
<b>Ham</b><i>BSD</i></a>
Source Code
</h2>
<hr>
<p>
HamBSD's source code is maintained in a <a
href="https://github.com/HamBSD/src.git">git repository</a>. The HamBSD changes
are regularly rebased on top of the OpenBSD GitHub mirror.
<h3>Getting Source Code</h3>
<p>
You will need to install <tt>devel/git</tt> and <tt>devel/got</tt> from <a
href="https://www.openbsd.org/faq/faq15.html">ports</a> in order to obtain and
work with the source code.
<p>
Start by checking out the latest source code from GitHub. It is recommended to
do this somewhere under <tt>/home</tt> as, at the time of writing, the clone
is roughly 2.1GB:
<pre>$ cd /home/user
$ git clone --bare https://github.com/HamBSD/src.git</pre>
<p>
If you do not require the entire history, you can perform a shallow clone
instead to only retreive the latest commit:
<pre>$ cd /home/user
$ git clone <b>--depth 1</b> --bare https://github.com/HamBSD/src.git</pre>
<p>
Then checkout a work tree using <a
href="https://gameoftrees.org/got.1.html">got(1)</a>:
<pre>$ cd /usr
$ got checkout /home/user/src.git /usr/src</pre>
<p>
To update the tree later:
<pre>TODO</pre>
<h3>Source History</h3>
<p>
As the <tt>src.git</tt> repository is regularly rebased, there is no history
kept of changes to the HamBSD-specific changes over time. In order to provide
this, <a
href="https://git-scm.com/docs/git-format-patch">git-format-patch(1)</a> is used
to serialise the HamBSD commits as patches which are then version controlled
in the <a href="https://github.com/irl/hambsd.git">patches repository</a>.