aboutsummaryrefslogtreecommitdiff
path: root/template/install-on-netbsd.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'template/install-on-netbsd.html.j2')
-rw-r--r--template/install-on-netbsd.html.j2281
1 files changed, 281 insertions, 0 deletions
diff --git a/template/install-on-netbsd.html.j2 b/template/install-on-netbsd.html.j2
new file mode 100644
index 00000000..2d582989
--- /dev/null
+++ b/template/install-on-netbsd.html.j2
@@ -0,0 +1,281 @@
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 the <code>wip</code> folder in your pkgsrc folder:
21 </p>
22 <p>
23 <code>
24 $ cd /usr/pkgsrc<br>
25 $ git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip
26 </code>
27 </p>
28 <h3>{{ _("Installation") }}</h3>
29 <p>
30 Note: $ stands for commands run as unprivileged user, # for commands run as root user.
31 </p>
32 <p>
33 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>:
34 </p>
35 <p>
36 <code>
37 $ cd /usr/pkgsrc/wip/gnunet
38 </code>
39 </p>
40 <p>
41 Before you start building, you might want to review your <code>/etc/mk.conf</code>. I suggest to consider:
42 </p>
43 <ul>
44 <li>WRKOBJDIR=/usr/work
45 <li>DISTDIR=/usr/distfiles
46 <li>DEPENDS_TARGET=package
47 <li>UPDATE_TARGET=bin-install
48 <li>ACCEPTABLE_LICENSES+= gnu-agpl-v3
49 <li>MKREPRO=yes
50 </ul>
51 <p>
52 As we rely on ImageMagick somewhere down our dependency chain
53 (it is one of libextractor's dependencies), you need to set
54 the following (as of 2019-03-06) as well:
55 </p>
56 <ul>
57 <li>IGNORE_URL+=https://nvd.nist.gov/vuln/detail/CVE-2018-15607
58 </ul>
59 <p>
60 You could however just <code>env ALLOW_VULNERABLE_PACKAGES=1</code>
61 </p>
62 <p>
63 The build process can involve manual installation interruptions for
64 dependencies!
65 </p>
66 <p>
67 Then start building:
68 <p>
69 <code>
70 $ make package
71 </code>
72 </p>
73 <p>
74 Once you are done, type as root:
75 </p>
76 <p>
77 <code>
78 # make install
79 </code>
80 </p>
81 <p>
82 or alternatively:
83 <p>
84 <p>
85 <code>
86 # pkg_add /usr/pkgsrc/packages/All/gnunet-0.11.0.tgz
87 </code>
88 </p>
89 <p>
90 And you're done!.<br>
91 GNUnet has a number of services and features.
92 Please check <a href="https://docs.gnunet.org">our documentation</a>
93 to learn how to use them. If you find anything odd or bugs, please
94 <a href="https://bugs.gnunet.org">let us know</a>.
95 </p>
96 <p>
97 Note that the rc.d file which is installed is not yet functional.
98 </p>
99
100 <h3>{{_("First steps")}}</h3>
101 <p>
102 Congratulations! GNUnet is now installed! Before starting it you
103 may create a configuration file. By default GNUnet looks in
104 our home directory for the file `~/.config/gnunet.conf`.
105 Creating the configuation file is optional. For now just create an empty
106 file which will remind you of the location later if needed:
107 </p>
108 <p>
109 <code>
110 $ touch ~/.config/gnunet.conf
111 </code>
112 </p>
113 <br />
114 <p>
115 It's reccomended that you increase your bandwidth restrictions
116 from the acutely low defaults. The example below sets the WAN
117 and LAN limits to the value "unlimited".
118 </p>
119 <br />
120 <code>
121 $ gnunet-config -s ats -o WAN_QUOTA_IN -V unlimited<br />
122 $ gnunet-config -s ats -o WAN_QUOTA_OUT -V unlimited<br />
123 $ gnunet-config -s ats -o LAN_QUOTA_IN -V unlimited<br />
124 $ gnunet-config -s ats -o LAN_QUOTA_OUT -V unlimited<br />
125 </code>
126 <br />
127 <p>
128 GNUnet and its services are managed using the command line tool `gnunet-arm`
129 (Automatic Restart Manager).
130 <br/>
131 To start GNUnet with its default services execute:
132 </p>
133 <p>
134 <code>
135 $ gnunet-arm -s
136 </code>
137 </p>
138
139 <p>
140 To list the running services use:
141 </p>
142 <p>
143 <code>
144 $ gnunet-arm -I<br>
145 Running services:<br>
146 ats (gnunet-service-ats)<br>
147 revocation (gnunet-service-revocation)<br>
148 set (gnunet-service-set)<br>
149 nat (gnunet-service-nat)<br>
150 transport (gnunet-service-transport)<br>
151 peerstore (gnunet-service-peerstore)<br>
152 hostlist (gnunet-daemon-hostlist)<br>
153 identity (gnunet-service-identity)<br>
154 namecache (gnunet-service-namecache)<br>
155 peerinfo (gnunet-service-peerinfo)<br>
156 datastore (gnunet-service-datastore)<br>
157 zonemaster (gnunet-service-zonemaster)<br>
158 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
159 nse (gnunet-service-nse)<br>
160 cadet (gnunet-service-cadet)<br>
161 dht (gnunet-service-dht)<br>
162 core (gnunet-service-core)<br>
163 gns (gnunet-service-gns)<br>
164 statistics (gnunet-service-statistics)<br>
165 topology (gnunet-daemon-topology)<br>
166 fs (gnunet-service-fs)<br>
167 namestore (gnunet-service-namestore)<br>
168 vpn (gnunet-service-vpn)
169 </code>
170 </p>
171 <p>
172 To stop all services, use the `-e` option.
173 </p>
174 <p>
175 <code>
176 $ gnunet-arm -e
177 </code>
178 </p>
179
180 <h3>{{ _("Alternative: Installation from source") }}</h3>
181
182 <p>
183 The following instructions are only really interesting for developers
184 or if you need special build switches.
185 First, install the dependencies from pkgsrc. You can use binary built
186 packages, but since we are using CURRENT of pkgsrc, this is more direct.
187 For the binary built version, use pkg_add or pkgin (and read into pkgsrc
188 CURRENT with pkgin or pkg_add).
189 </p>
190 <p>
191 <ul>
192 <li>audio/libopus
193 <li>databases/sqlite3
194 <li>devel/gettext-lib (maybe?)
195 <li>devel/gmp
196 <li>devel/nss
197 <li>devel/zlib
198 <li>devel/libgsf
199 <li>devel/libltdl
200 <li>devel/git-base
201 <li>devel/autoconf
202 <li>devel/automake
203 <li>devel/libtool
204 <li>devel/pkgconf (required for some of the dependencies, not GNUnet)
205 <li>devel/libffi
206 <li>devel/libidn2
207 <li>devel/libextractor
208 <li>lang/python37 (for the testsuite)
209 <li>math/glpk (only for experimental features)
210 <li>multimedia/gstreamer1
211 <li>multimedia/gst-plugins1-base
212 <li>multimedia/libogg
213 <li>textproc/jansson
214 <li>textproc/libunistring
215 <li>security/libgcrypt
216 <li>security/gnutls
217 <li>www/gnurl
218 <li>www/libmicrohttpd
219 </ul>
220 </p>
221
222 <h4>{{ _("Get the source code") }}</h4>
223 <p>
224 <code>
225 $ cd ~<br>
226 $ git clone https://gnunet.org/git/gnunet.git ~/src/gnunet/gnunet
227 </code>
228 </p>
229
230 <h4>{{ _("Compile and Install") }}</h4>
231 <p>
232 You have a choice between two options:
233 build the *production version* or *development version*. If
234 you want to start writing GNUnet applications or join the GNUnet development
235 choose the development version (it will print more debug output and contains
236 debug symbols that can be displayed with a debugger). Otherwise choose the
237 production version.
238 </p>
239
240 <h5>{{ _("Option 1: GNUnet for production / usage") }}</h5>
241 <p>
242 We are assuming a shell and environment which exports $HOME.
243 If $HOME is not exported, do so or replace $HOME accordingly
244 in the instructions given below.
245 </p>
246 <p>
247 <code>
248 $ cd ~/src/gnunet/gnunet<br>
249 $ sh ./bootstrap<br>
250 $ LDFLAGS=-L/usr/pkg/lib ./configure --prefix=$HOME/gnunet
251 </code>
252 </p>
253 <p>
254 After configure passes, you need to add a 'gnunetdns' group to your system.
255 Further, you need to add a user 'gnunet' which is part of the group 'gnunet'.
256 Then:
257 </p>
258 <p>
259 <code>
260 $ make<br>
261 # make install
262 </code>
263 </p>
264
265 <h5>{{ _("Option 2: GNUnet experimental") }}</h5>
266
267 <p>
268 Perform the same steps as for Option 1, but add the configure switch
269 <code>--enable-experimental</code>. For even more verbosity you could
270 configure gnunet like this:
271 </p>
272 <p>
273 <code>
274 $ LDFLAGS=-L/usr/pkg/lib CFLAGS="-g -O0" ./configure --prefix=$HOME/gnunet --enable-logging=verbose
275 </code>
276 </p>
277 <p>
278 This allows you to get more verbose logs when you export GNUNET_FORCE_LOG=";;;;DEBUG" before you run tests.
279 </p>
280</div>
281{% endblock body_content %}