]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2013/11/index.html
Generated.
[homepage.git] / blog / archive / 2013 / 11 / index.html
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">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from November 2013</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="11.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from November 2013.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html">Debian init.d boot script example for rsyslog</a>
27 </div>
28 <div class="date">
29 2nd November 2013
30 </div>
31 <div class="body">
32 <p>If one of the points of switching to a new init system in Debian is
33 <a href="http://thomas.goirand.fr/blog/?p=147">to get rid of huge
34 init.d scripts</a>, I doubt we need to switch away from sysvinit and
35 init.d scripts at all. Here is an example init.d script, ie a rewrite
36 of /etc/init.d/rsyslog:</p>
37
38 <p><pre>
39 #!/lib/init/init-d-script
40 ### BEGIN INIT INFO
41 # Provides: rsyslog
42 # Required-Start: $remote_fs $time
43 # Required-Stop: umountnfs $time
44 # X-Stop-After: sendsigs
45 # Default-Start: 2 3 4 5
46 # Default-Stop: 0 1 6
47 # Short-Description: enhanced syslogd
48 # Description: Rsyslog is an enhanced multi-threaded syslogd.
49 # It is quite compatible to stock sysklogd and can be
50 # used as a drop-in replacement.
51 ### END INIT INFO
52 DESC="enhanced syslogd"
53 DAEMON=/usr/sbin/rsyslogd
54 </pre></p>
55
56 <p>Pretty minimalistic to me... For the record, the original sysv-rc
57 script was 137 lines, and the above is just 15 lines, most of the meta
58 info/comments.</p>
59
60 <p>How to do this, you ask? Well, one create a new script
61 /lib/init/init-d-script looking something like this:
62
63 <p><pre>
64 #!/bin/sh
65
66 # Define LSB log_* functions.
67 # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
68 # and status_of_proc is working.
69 . /lib/lsb/init-functions
70
71 #
72 # Function that starts the daemon/service
73
74 #
75 do_start()
76 {
77 # Return
78 # 0 if daemon has been started
79 # 1 if daemon was already running
80 # 2 if daemon could not be started
81 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
82 || return 1
83 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
84 $DAEMON_ARGS \
85 || return 2
86 # Add code here, if necessary, that waits for the process to be ready
87 # to handle requests from services started subsequently which depend
88 # on this one. As a last resort, sleep for some time.
89 }
90
91 #
92 # Function that stops the daemon/service
93 #
94 do_stop()
95 {
96 # Return
97 # 0 if daemon has been stopped
98 # 1 if daemon was already stopped
99 # 2 if daemon could not be stopped
100 # other if a failure occurred
101 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
102 RETVAL="$?"
103 [ "$RETVAL" = 2 ] && return 2
104 # Wait for children to finish too if this is a daemon that forks
105 # and if the daemon is only ever run from this initscript.
106 # If the above conditions are not satisfied then add some other code
107 # that waits for the process to drop all resources that could be
108 # needed by services started subsequently. A last resort is to
109 # sleep for some time.
110 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
111 [ "$?" = 2 ] && return 2
112 # Many daemons don't delete their pidfiles when they exit.
113 rm -f $PIDFILE
114 return "$RETVAL"
115 }
116
117 #
118 # Function that sends a SIGHUP to the daemon/service
119 #
120 do_reload() {
121 #
122 # If the daemon can reload its configuration without
123 # restarting (for example, when it is sent a SIGHUP),
124 # then implement that here.
125 #
126 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
127 return 0
128 }
129
130 SCRIPTNAME=$1
131 scriptbasename="$(basename $1)"
132 echo "SN: $scriptbasename"
133 if [ "$scriptbasename" != "init-d-library" ] ; then
134 script="$1"
135 shift
136 . $script
137 else
138 exit 0
139 fi
140
141 NAME=$(basename $DAEMON)
142 PIDFILE=/var/run/$NAME.pid
143
144 # Exit if the package is not installed
145 #[ -x "$DAEMON" ] || exit 0
146
147 # Read configuration variable file if it is present
148 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
149
150 # Load the VERBOSE setting and other rcS variables
151 . /lib/init/vars.sh
152
153 case "$1" in
154 start)
155 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
156 do_start
157 case "$?" in
158 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
159 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
160 esac
161 ;;
162 stop)
163 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
164 do_stop
165 case "$?" in
166 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
167 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
168 esac
169 ;;
170 status)
171 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
172 ;;
173 #reload|force-reload)
174 #
175 # If do_reload() is not implemented then leave this commented out
176 # and leave 'force-reload' as an alias for 'restart'.
177 #
178 #log_daemon_msg "Reloading $DESC" "$NAME"
179 #do_reload
180 #log_end_msg $?
181 #;;
182 restart|force-reload)
183 #
184 # If the "reload" option is implemented then remove the
185 # 'force-reload' alias
186 #
187 log_daemon_msg "Restarting $DESC" "$NAME"
188 do_stop
189 case "$?" in
190 0|1)
191 do_start
192 case "$?" in
193 0) log_end_msg 0 ;;
194 1) log_end_msg 1 ;; # Old process is still running
195 *) log_end_msg 1 ;; # Failed to start
196 esac
197 ;;
198 *)
199 # Failed to stop
200 log_end_msg 1
201 ;;
202 esac
203 ;;
204 *)
205 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
206 exit 3
207 ;;
208 esac
209
210 :
211 </pre></p>
212
213 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
214 lot. I did not really polish the approach, so it might not always
215 work out of the box, but you get the idea. I did not try very hard to
216 optimize it nor make it more robust either.</p>
217
218 <p>A better argument for switching init system in Debian than reducing
219 the size of init scripts (which is a good thing to do anyway), is to
220 get boot system that is able to handle the kernel events sensibly and
221 robustly, and do not depend on the boot to run sequentially. The boot
222 and the kernel have not behaved sequentially in year.</p>
223
224 </div>
225 <div class="tags">
226
227
228 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
229
230
231 </div>
232 </div>
233 <div class="padding"></div>
234
235 <div class="entry">
236 <div class="title">
237 <a href="http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html">Browser plugin for SPICE (spice-xpi) uploaded to Debian</a>
238 </div>
239 <div class="date">
240 1st November 2013
241 </div>
242 <div class="body">
243 <p><a href="http://www.spice-space.org/">The SPICE protocol</a> for
244 remote display access is the preferred solution with oVirt and RedHat
245 Enterprise Virtualization, and I was sad to discover the other day
246 that the browser plugin needed to use these systems seamlessly was
247 missing in Debian. The <a href="http://bugs.debian.org/668284">request
248 for a package</a> was from 2012-04-10 with no progress since
249 2013-04-01, so I decided to wrap up a package based on the great work
250 from Cajus Pollmeier and put it in a collab-maint maintained git
251 repository to get a package I could use. I would very much like
252 others to help me maintain the package (or just take over, I do not
253 mind), but as no-one had volunteered so far, I just uploaded it to
254 NEW. I hope it will be available in Debian in a few days.</p>
255
256 <p>The source is now available from
257 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary">http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary</a>.</p>
258
259 </div>
260 <div class="tags">
261
262
263 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>.
264
265
266 </div>
267 </div>
268 <div class="padding"></div>
269
270 <p style="text-align: right;"><a href="11.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
271 <div id="sidebar">
272
273
274
275 <h2>Archive</h2>
276 <ul>
277
278 <li>2013
279 <ul>
280
281 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
282
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
284
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
286
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
288
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
290
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
292
293 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
294
295 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
296
297 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
298
299 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
300
301 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (2)</a></li>
302
303 </ul></li>
304
305 <li>2012
306 <ul>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
319
320 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
321
322 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
323
324 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
325
326 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
327
328 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
329
330 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
331
332 </ul></li>
333
334 <li>2011
335 <ul>
336
337 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
338
339 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
340
341 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
342
343 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
344
345 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
346
347 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
348
349 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
350
351 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
352
353 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
354
355 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
356
357 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
358
359 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
360
361 </ul></li>
362
363 <li>2010
364 <ul>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
385
386 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
387
388 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
389
390 </ul></li>
391
392 <li>2009
393 <ul>
394
395 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
396
397 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
398
399 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
400
401 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
402
403 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
404
405 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
406
407 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
408
409 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
410
411 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
412
413 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
414
415 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
416
417 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
418
419 </ul></li>
420
421 <li>2008
422 <ul>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
427
428 </ul></li>
429
430 </ul>
431
432
433
434 <h2>Tags</h2>
435 <ul>
436
437 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
438
439 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
440
441 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
442
443 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
444
445 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
446
447 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (13)</a></li>
448
449 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
450
451 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (90)</a></li>
452
453 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (142)</a></li>
454
455 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
456
457 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (10)</a></li>
458
459 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
460
461 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (225)</a></li>
462
463 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
464
465 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
466
467 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
468
469 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (5)</a></li>
470
471 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
472
473 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (37)</a></li>
474
475 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
476
477 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
478
479 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
480
481 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
482
483 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
484
485 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (3)</a></li>
486
487 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
488
489 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (236)</a></li>
490
491 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (156)</a></li>
492
493 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
494
495 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
496
497 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (45)</a></li>
498
499 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (67)</a></li>
500
501 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
502
503 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
504
505 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
506
507 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (8)</a></li>
508
509 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
510
511 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
512
513 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (32)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (43)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
524
525 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
526
527 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (20)</a></li>
528
529 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
530
531 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
532
533 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (39)</a></li>
534
535 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
536
537 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (28)</a></li>
538
539 </ul>
540
541
542 </div>
543 <p style="text-align: right">
544 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
545 </p>
546
547 </body>
548 </html>