aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-03-01 10:40:25 +0000
committerng0 <ng0@n0.is>2019-03-01 10:40:25 +0000
commit9f2d18a77c491ffbab698bd39a440d8dd257b5cc (patch)
tree6b19c072fd4bdf6863c68afa4854b0c8c435542e
parent37ffa4ca9079e528f73f084aea151a2090813966 (diff)
downloadwww-9f2d18a77c491ffbab698bd39a440d8dd257b5cc.tar.gz
www-9f2d18a77c491ffbab698bd39a440d8dd257b5cc.zip
Add initial NetBSD tutorial
-rw-r--r--template/tutorial-netbsd.html.j2241
-rw-r--r--template/tutorial.html.j21
2 files changed, 242 insertions, 0 deletions
diff --git a/template/tutorial-netbsd.html.j2 b/template/tutorial-netbsd.html.j2
new file mode 100644
index 00000000..69fde194
--- /dev/null
+++ b/template/tutorial-netbsd.html.j2
@@ -0,0 +1,241 @@
1{% extends "common/base.j2" %}
2{% block body_content %}
3<div class="container">
4
5 <h2>{{ _("Tutorial: GNUnet on NetBSD 8.0 CURRENT") }}</h2>
6
7 <p>
8 Welcome to the GNUnet tutorial for NetBSD!
9 </p>
10 <p>
11 It provides
12 concrete instructions on how to install a current
13 version of GNUnet. The goal is to support newcomers, either end users or
14 developers, who want to get in touch with GNUnet for the first time.
15 </p>
16
17 <h3>{{ _("Requirements") }}</h3>
18
19 <p>
20 As a bare minimum, we recommend you install <a href="http://pkgsrc.org">pkgsrc</a>. This tutorial assumes you have the CURRENT version checked out. Additionally you might want to install <code>devel/git-base</code> and git clone <a href="http://pkgsrc.org/wip/">pkgsrc-wip</a> into a <code>wip</code> folder in your pkgsrc folder.
21 </p>
22
23 <h3>{{ _("Installation") }}</h3>
24 <p>
25 Note: $ stands for commands run as unprivileged user, # for commands run as root user.
26 </p>
27 <p>
28 GNUnet is not yet in the pkgsrc tree, it's still in the pkgsrc-wip repository. So if you checked out pkgsrc-wip into <code>/usr/pksrc/wip</code>:
29 </p>
30
31 <p>
32 <code>
33 $ cd /usr/pkgsrc/wip/gnunet
34 </code>
35 </p>
36 <p>
37 Before you start building, you might want to review your <code>/etc/mk.conf</code>. I suggest to consider:
38 </p>
39 <ul>
40 <li>WRKOBJDIR=/usr/work
41 <li>DISTDIR=/usr/distfiles
42 <li>DEPENDS_TARGET=package
43 <li>UPDATE_TARGET=bin-install
44 <li>ACCEPTABLE_LICENSES+= gnu-agpl-v3
45 <li>MKREPRO=yes
46 </ul>
47 <p>
48 The build process can involve manual installation interruptions for
49 dependencies!
50 </p>
51 <p>
52 Then start building:
53 <p>
54 <code>
55 $ make package
56 </code>
57 </p>
58 <p>
59 Once you are done, type as root:
60 </p>
61 <p>
62 <code>
63 # make install
64 </code>
65 </p>
66 <p>
67 or alternatively:
68 <p>
69 <p>
70 <code>
71 # pkg_add /usr/pkgsrc/packages/All/gnunet-0.11.0.tgz
72 </code>
73 </p>
74 <p>
75 And you're done!.<br>
76 GNUnet has a number of services and features.
77 Please check <a href="https://docs.gnunet.org">our documentation</a>
78 to learn how to use them. If you find anything odd or bugs, please
79 <a href="https://bugs.gnunet.org">let us know</a>.
80 </p>
81 <p>
82 Note that the rc.d file which is installed is not yet functional.
83 </p>
84
85 <h3>{{_("First steps")}}</h3>
86 <p>
87 Congratulations! GNUnet is now installed! Before starting it you
88 may create a configuration file. By default GNUnet looks in
89 our home directory for the file `~/.gnunet/gnunet.conf`.
90 Creating the configuation file is optional. For now just create an empty
91 file which will remind you of the location later if needed:
92 </p>
93 <p>
94 <code>
95 $ touch ~/.config/gnunet.conf
96 </code>
97 </p>
98
99 <p>
100 GNUnet and its services are managed using the command line tool `gnunet-arm`
101 (Automatic Restart Manager).
102 <br/>
103 To start GNUnet with its default services execute:
104 </p>
105 <p>
106 <code>
107 $ gnunet-arm -s
108 </code>
109 </p>
110
111 <p>
112 To list the running services use:
113 </p>
114 <p>
115 <code>
116 $ gnunet-arm -I<br>
117 Running services:<br>
118 ats (gnunet-service-ats)<br>
119 revocation (gnunet-service-revocation)<br>
120 set (gnunet-service-set)<br>
121 nat (gnunet-service-nat)<br>
122 transport (gnunet-service-transport)<br>
123 peerstore (gnunet-service-peerstore)<br>
124 hostlist (gnunet-daemon-hostlist)<br>
125 identity (gnunet-service-identity)<br>
126 namecache (gnunet-service-namecache)<br>
127 peerinfo (gnunet-service-peerinfo)<br>
128 datastore (gnunet-service-datastore)<br>
129 zonemaster (gnunet-service-zonemaster)<br>
130 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
131 nse (gnunet-service-nse)<br>
132 cadet (gnunet-service-cadet)<br>
133 dht (gnunet-service-dht)<br>
134 core (gnunet-service-core)<br>
135 gns (gnunet-service-gns)<br>
136 statistics (gnunet-service-statistics)<br>
137 topology (gnunet-daemon-topology)<br>
138 fs (gnunet-service-fs)<br>
139 namestore (gnunet-service-namestore)<br>
140 vpn (gnunet-service-vpn)
141 </code>
142 </p>
143 <p>
144 To stop all services, use the `-e` option.
145 </p>
146 <p>
147 <code>
148 $ gnunet-arm -e
149 </code>
150 </p>
151
152 <h3>{{ _("Alternative: Installation from source") }}</h3>
153
154 <p>
155 The following instructions are only really interesting for developers
156 or if you need special build switches.
157 First, install the dependencies from pkgsrc. You can use binary built
158 packages, but since we are using CURRENT of pkgsrc, this is more direct.
159 For the binary built version, use pkg_add or pkgin (and read into pkgsrc
160 CURRENT with pkgin or pkg_add).
161 </p>
162 <p>
163 <ul>
164 <li>audio/libopus
165 <li>databases/sqlite3
166 <li>devel/gettext-lib (maybe?)
167 <li>devel/gmp
168 <li>devel/nss
169 <li>devel/zlib
170 <li>devel/libgsf
171 <li>devel/libltdl
172 <li>devel/git-base
173 <li>devel/autoconf
174 <li>devel/automake
175 <li>devel/libtool
176 <li>devel/pkgconf (required for some of the dependencies, not GNUnet)
177 <li>devel/py-future (for the testsuite, py37 version required)
178 <li>devel/libffi
179 <li>devel/libidn2
180 <li>devel/libextractor
181 <li>lang/python37 (for the testsuite)
182 <li>math/glpk (only for experimental features)
183 <li>multimedia/gstreamer1
184 <li>multimedia/gst-plugins1-base
185 <li>multimedia/libogg
186 <li>textproc/jansson
187 <li>textproc/libunistring
188 <li>security/libgcrypt
189 <li>security/gnutls
190 <li>www/gnurl
191 <li>www/libmicrohttpd
192 </ul>
193 </p>
194
195 <h4>{{ _("Get the source code") }}</h4>
196 <p>
197 <code>
198 $ cd ~<br>
199 $ git clone https://gnunet.org/git/gnunet.git ~/src/gnunet/gnunet
200 </code>
201 </p>
202
203 <h4>{{ _("Compile and Install") }}</h4>
204 <p>
205 You have a choice between two options:
206 build the *production version* or *development version*. If
207 you want to start writing GNUnet applications or join the GNUnet development
208 choose the development version (it will print more debug output and contains
209 debug symbols that can be displayed with a debugger). Otherwise choose the
210 production version.
211 </p>
212
213 <h5>{{ _("Option 1: GNUnet for production / usage") }}</h5>
214
215 <p>
216 <code>
217 $ cd ~/src/gnunet/gnunet<br>
218 $ sh ./bootstrap<br>
219 $ ./configure --prefix=~/gnunet
220 </code>
221 </p>
222 <p>
223 After configure passes, you need to add a 'gnunetdns' group to your system.
224 Further, you need to add a user 'gnunet' which is part of the group 'gnunet'.
225 Then:
226 </p>
227 <p>
228 <code>
229 $ make<br>
230 # make install
231 </code>
232 </p>
233
234 <h5>{{ _("Option 2: GNUnet experimental") }}</h5>
235
236 <p>
237 Perform the same steps as for Option 1, but add the configure switch '--enable-experimental'
238 </p>
239
240</div>
241{% endblock body_content %}
diff --git a/template/tutorial.html.j2 b/template/tutorial.html.j2
index 8dd25667..61ed74d6 100644
--- a/template/tutorial.html.j2
+++ b/template/tutorial.html.j2
@@ -18,6 +18,7 @@
18 <li><a href="tutorial-archpi.html">Arch-Pi</a></li> 18 <li><a href="tutorial-archpi.html">Arch-Pi</a></li>
19 <li><a href="tutorial-debian9.html">Debian 9</a></li> 19 <li><a href="tutorial-debian9.html">Debian 9</a></li>
20 <li><a href="tutorial-macos.html">macOS</a></li> 20 <li><a href="tutorial-macos.html">macOS</a></li>
21 <li><a href="tutorial-netbsd.html">NetBSD</a></li>
21 </ul> 22 </ul>
22 {% endtrans %} 23 {% endtrans %}
23 </p> 24 </p>