1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from February
2016</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"02.rss" type=
"application/rss+xml" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from February
2016.
</h3>
26 <a href=
"http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html">Creating, updating and checking debian/copyright semi-automatically
</a>
32 <p>Making packages for Debian requires quite a lot of attention to
33 details. And one of the details is the content of the
34 debian/copyright file, which should list all relevant licenses used by
35 the code in the package in question, preferably in
36 <a href=
"https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/">machine
37 readable DEP5 format
</a>.
</p>
39 <p>For large packages with lots of contributors it is hard to write
40 and update this file manually, and if you get some detail wrong, the
41 package is normally rejected by the ftpmasters. So getting it right
42 the first time around get the package into Debian faster, and save
43 both you and the ftpmasters some work.. Today, while trying to figure
44 out what was wrong with
45 <a href=
"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447">the
46 zfsonlinux copyright file
</a>, I decided to spend some time on
47 figuring out the options for doing this job automatically, or at least
48 semi-automatically.
</p>
50 <p>Lucikly, there are at least two tools available for generating the
51 file based on the code in the source package,
52 <tt><a href=
"https://tracker.debian.org/pkg/debmake">debmake
</a></tt>
53 and
<tt><a href=
"https://tracker.debian.org/pkg/cme">cme
</a></tt>. I'm
54 not sure which one of them came first, but both seem to be able to
55 create a sensible draft file. As far as I can tell, none of them can
56 be trusted to get the result just right, so the content need to be
57 polished a bit before the file is OK to upload. I found the debmake
59 <a href=
"http://goofying-with-debian.blogspot.com/2014/07/debmake-checking-source-against-dep-5.html">a
60 blog posts from
2014</a>.
62 <p>To generate using debmake, use the -cc option:
65 debmake -cc
> debian/copyright
68 <p>Note there are some problems with python and non-ASCII names, so
69 this might not be the best option.
</p>
71 <p>The cme option is based on a config parsing library, and I found
73 <a href=
"https://ddumont.wordpress.com/2015/04/05/improving-creation-of-debian-copyright-file/">a
74 blog post from
2015</a>. To generate using cme, use the 'update
75 dpkg-copyright' option:
78 cme update dpkg-copyright
81 <p>This will create or update debian/copyright. The cme tool seem to
82 handle UTF-
8 names better than debmake.
</p>
84 <p>When the copyright file is created, I would also like some help to
85 check if the file is correct. For this I found two good options,
86 <tt>debmake -k
</tt> and
<tt>license-reconcile
</tt>. The former seem
87 to focus on license types and file matching, and is able to detect
88 ineffective blocks in the copyright file. The latter reports missing
89 copyright holders and years, but was confused by inconsistent license
90 names (like CDDL vs. CDDL-
1.0). I suspect it is good to use both and
91 fix all issues reported by them before uploading. But I do not know
92 if the tools and the ftpmasters agree on what is important to fix in a
93 copyright file, so the package might still be rejected.
</p>
95 <p>The devscripts tool
<tt>licensecheck
</tt> deserve mentioning. It
96 will read through the source and try to find all copyright statements.
97 It is not comparing the result to the content of debian/copyright, but
98 can be useful when verifying the content of the copyright file.
</p>
100 <p>Are you aware of better tools in Debian to create and update
101 debian/copyright file. Please let me know, or blog about it on
102 planet.debian.org.
</p>
104 <p>As usual, if you use Bitcoin and want to show your support of my
105 activities, please send Bitcoin donations to my address
106 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
108 <p><strong>Update
2016-
02-
20</strong>: I got a tip from Mike Gabriel
109 on how to use licensecheck and cdbs to create a draft copyright file
112 licensecheck --copyright -r `find * -type f` | \
113 /usr/lib/cdbs/licensecheck2dep5
> debian/copyright.auto
116 <p>He mentioned that he normally check the generated file into the
117 version control system to make it easier to discover license and
118 copyright changes in the upstream source. I will try to do the same
119 with my packages in the future.
</p>
121 <p><strong>Update
2016-
02-
21</strong>: The cme author recommended
122 against using -quiet for new users, so I removed it from the proposed
129 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
134 <div class=
"padding"></div>
138 <a href=
"http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html">Using appstream in Debian to locate packages with firmware and mime type support
</a>
144 <p>The
<a href=
"https://wiki.debian.org/DEP-11">appstream system
</a>
145 is taking shape in Debian, and one provided feature is a very
146 convenient way to tell you which package to install to make a given
147 firmware file available when the kernel is looking for it. This can
148 be done using apt-file too, but that is for someone else to blog
151 <p>Here is a small recipe to find the package with a given firmware
152 file, in this example I am looking for ctfw-
3.2.3.0.bin, randomly
153 picked from the set of firmware announced using appstream in Debian
154 unstable. In general you would be looking for the firmware requested
155 by the kernel during kernel module loading. To find the package
156 providing the example file, do like this:
</p>
159 % apt install appstream
163 % appstreamcli what-provides firmware:runtime ctfw-
3.2.3.0.bin | \
164 awk '/Package:/ {print $
2}'
169 <p>See
<a href=
"https://wiki.debian.org/AppStream/Guidelines">the
170 appstream wiki
</a> page to learn how to embed the package metadata in
171 a way appstream can use.
</p>
173 <p>This same approach can be used to find any package supporting a
174 given MIME type. This is very useful when you get a file you do not
175 know how to handle. First find the mime type using
<tt>file
176 --mime-type
</tt>, and next look up the package providing support for
177 it. Lets say you got an SVG file. Its MIME type is image/svg+xml,
178 and you can find all packages handling this type like this:
</p>
181 % apt install appstream
185 % appstreamcli what-provides mimetype image/svg+xml | \
186 awk '/Package:/ {print $
2}'
210 <p>I believe the MIME types are fetched from the desktop file for
211 packages providing appstream metadata.
</p>
217 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
222 <div class=
"padding"></div>
224 <p style=
"text-align: right;"><a href=
"02.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
235 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
237 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
239 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
246 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
248 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
250 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
252 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
254 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
256 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
258 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
260 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
262 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
264 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
266 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
273 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
275 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
277 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
279 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
281 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
283 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
285 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
287 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
289 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
291 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
293 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
300 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
302 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
304 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
306 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
308 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
310 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
312 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
314 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
316 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
318 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
320 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
322 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
329 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
331 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
333 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
335 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
337 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
339 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
341 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
343 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
345 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
347 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
349 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
351 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
358 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
360 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
362 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
364 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
366 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
368 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
370 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
372 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
374 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
376 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
378 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
380 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
387 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
389 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
391 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
393 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
395 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
397 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
399 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
401 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
403 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
405 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
407 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
409 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
416 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
418 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
420 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
422 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
424 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
426 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
428 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
430 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
432 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
434 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
436 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
438 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
445 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
447 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
449 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
451 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
453 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
455 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
457 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
459 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
461 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
463 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
465 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
467 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
474 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
476 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
478 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
480 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
482 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
484 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
486 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
488 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
490 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
492 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
494 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
496 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
503 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
505 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
507 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
509 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
511 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
513 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
515 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
517 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
519 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
521 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
523 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
525 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
532 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
534 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
549 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
551 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
553 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
557 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
559 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
561 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
563 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
167)
</a></li>
565 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
567 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
569 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
571 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
573 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
25)
</a></li>
575 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
400)
</a></li>
579 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
581 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
33)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
587 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
589 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
591 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
593 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
595 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
20)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
599 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
601 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
603 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
605 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
607 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
609 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
611 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
613 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
615 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
12)
</a></li>
617 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
305)
</a></li>
619 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
194)
</a></li>
621 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
36)
</a></li>
623 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
625 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
73)
</a></li>
627 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
108)
</a></li>
629 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
631 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
633 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
635 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
637 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
11)
</a></li>
639 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
641 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
643 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
645 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
55)
</a></li>
647 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
649 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
651 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
61)
</a></li>
653 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
655 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
657 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
55)
</a></li>
659 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
661 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
663 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
665 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
15)
</a></li>
667 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
669 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
671 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
677 <p style=
"text-align: right">
678 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>