1 <?xml version=
"1.0" encoding=
"ISO-8859-1"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/'
>
4 <title>Petter Reinholdtsen - Entries from October
2014</title>
5 <description>Entries from October
2014</description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
10 <title>listadmin, the quick way to moderate mailman lists - nice free software
</title>
11 <link>http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
</guid>
13 <pubDate>Wed,
22 Oct
2014 20:
00:
00 +
0200</pubDate>
14 <description><p
>If you ever had to moderate a mailman list, like the ones on
15 alioth.debian.org, you know the web interface is fairly slow to
16 operate. First you visit one web page, enter the moderation password
17 and get a new page shown with a list of all the messages to moderate
18 and various options for each email address. This take a while for
19 every list you moderate, and you need to do it regularly to do a good
20 job as a list moderator. But there is a quick alternative,
21 <a href=
"http://heim.ifi.uio.no/kjetilho/hacks/#listadmin
">the
22 listadmin program
</a
>. It allow you to check lists for new messages
23 to moderate in a fraction of a second. Here is a test run on two
24 lists I recently took over:
</p
>
26 <p
><blockquote
><pre
>
28 fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
29 fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
35 </pre
></blockquote
></p
>
37 <p
>In
1.7 seconds I had checked two mailing lists and confirmed that
38 there are no message in the moderation queue. Every morning I
39 currently moderate
68 mailman lists, and it normally take around two
40 minutes. When I took over the two pkg-xiph lists above a few days
41 ago, there were
400 emails waiting in the moderator queue. It took me
42 less than
15 minutes to process them all using the listadmin
45 <p
>If you install
46 <a href=
"https://tracker.debian.org/pkg/listadmin
">the listadmin
47 package
</a
> from Debian and create a file
<tt
>~/.listadmin.ini
</tt
>
48 with content like this, the moderation task is a breeze:
</p
>
50 <p
><blockquote
><pre
>
54 discard_if_reason
"Posting restricted to members only. Remove us from your mail list.
"
57 adminurl https://{domain}/mailman/admindb/{list}
58 mailman-list@lists.example.com
61 other-list@otherserver.example.org
62 </pre
></blockquote
></p
>
64 <p
>There are other options to set as well. Check the manual page to
65 learn the details.
</p
>
67 <p
>If you are forced to moderate lists on a mailman installation where
68 the SSL certificate is self signed or not properly signed by a
69 generally accepted signing authority, you can set a environment
70 variable when calling listadmin to disable SSL verification:
</p
>
72 <p
><blockquote
><pre
>
73 PERL_LWP_SSL_VERIFY_HOSTNAME=
0 listadmin
74 </pre
></blockquote
></p
>
76 <p
>If you want to moderate a subset of the lists you take care of, you
77 can provide an argument to the listadmin script like I do in the
78 initial screen dump (the xiph argument). Using an argument, only
79 lists matching the argument string will be processed. This make it
80 quick to accept messages if you notice the moderation request in your
83 <p
>Without the listadmin program, I would never be the moderator of
68
84 mailing lists, as I simply do not have time to spend on that if the
85 process was any slower. The listadmin program have saved me hours of
86 time I could spend elsewhere over the years. It truly is nice free
89 <p
>As usual, if you use Bitcoin and want to show your support of my
90 activities, please send Bitcoin donations to my address
91 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
96 <title>Debian Jessie, PXE and automatic firmware installation
</title>
97 <link>http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
</link>
98 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
</guid>
99 <pubDate>Fri,
17 Oct
2014 14:
10:
00 +
0200</pubDate>
100 <description><p
>When PXE installing laptops with Debian, I often run into the
101 problem that the WiFi card require some firmware to work properly.
102 And it has been a pain to fix this using preseeding in Debian.
103 Normally something more is needed. But thanks to
104 <a href=
"https://packages.qa.debian.org/i/isenkram.html
">my isenkram
105 package
</a
> and its recent tasksel extension, it has now become easy
106 to do this using simple preseeding.
</p
>
108 <p
>The isenkram-cli package provide tasksel tasks which will install
109 firmware for the hardware found in the machine (actually, requested by
110 the kernel modules for the hardware). (It can also install user space
111 programs supporting the hardware detected, but that is not the focus
112 of this story.)
</p
>
114 <p
>To get this working in the default installation, two preeseding
115 values are needed. First, the isenkram-cli package must be installed
116 into the target chroot (aka the hard drive) before tasksel is executed
117 in the pkgsel step of the debian-installer system. This is done by
118 preseeding the base-installer/includes debconf value to include the
119 isenkram-cli package. The package name is next passed to debootstrap
120 for installation. With the isenkram-cli package in place, tasksel
121 will automatically use the isenkram tasks to detect hardware specific
122 packages for the machine being installed and install them, because
123 isenkram-cli contain tasksel tasks.
</p
>
125 <p
>Second, one need to enable the non-free APT repository, because
126 most firmware unfortunately is non-free. This is done by preseeding
127 the apt-mirror-setup step. This is unfortunate, but for a lot of
128 hardware it is the only option in Debian.
</p
>
130 <p
>The end result is two lines needed in your preseeding file to get
131 firmware installed automatically by the installer:
</p
>
133 <p
><blockquote
><pre
>
134 base-installer base-installer/includes string isenkram-cli
135 apt-mirror-setup apt-setup/non-free boolean true
136 </pre
></blockquote
></p
>
138 <p
>The current version of isenkram-cli in testing/jessie will install
139 both firmware and user space packages when using this method. It also
140 do not work well, so use version
0.15 or later. Installing both
141 firmware and user space packages might give you a bit more than you
142 want, so I decided to split the tasksel task in two, one for firmware
143 and one for user space programs. The firmware task is enabled by
144 default, while the one for user space programs is not. This split is
145 implemented in the package currently in unstable.
</p
>
147 <p
>If you decide to give this a go, please let me know (via email) how
148 this recipe work for you. :)
</p
>
150 <p
>So, I bet you are wondering, how can this work. First and
151 foremost, it work because tasksel is modular, and driven by whatever
152 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
153 isenkram-cli package place two files for tasksel to find. First there
154 is the task description file (/usr/share/tasksel/descs/isenkram.desc):
</p
>
156 <p
><blockquote
><pre
>
157 Task: isenkram-packages
159 Description: Hardware specific packages (autodetected by isenkram)
160 Based on the detected hardware various hardware specific packages are
162 Test-new-install: show show
164 Packages: for-current-hardware
166 Task: isenkram-firmware
168 Description: Hardware specific firmware packages (autodetected by isenkram)
169 Based on the detected hardware various hardware specific firmware
170 packages are proposed.
171 Test-new-install: mark show
173 Packages: for-current-hardware-firmware
174 </pre
></blockquote
></p
>
176 <p
>The key parts are Test-new-install which indicate how the task
177 should be handled and the Packages line referencing to a script in
178 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
179 list of packages to install. The for-current-hardware-firmware script
180 look like this to list relevant firmware for the machine:
182 <p
><blockquote
><pre
>
187 isenkram-autoinstall-firmware -l
188 </pre
></blockquote
></p
>
190 <p
>With those two pieces in place, the firmware is installed by
191 tasksel during the normal d-i run. :)
</p
>
193 <p
>If you want to test what tasksel will install when isenkram-cli is
194 installed, run
<tt
>DEBIAN_PRIORITY=critical tasksel --test
195 --new-install
</tt
> to get the list of packages that tasksel would
198 <p
><a href=
"https://wiki.debian.org/DebianEdu/
">Debian Edu
</a
> will be
199 pilots in testing this feature, as isenkram is used there now to
200 install firmware, replacing the earlier scripts.
</p
>
205 <title>Ubuntu used to show the bread prizes at ICA Storo
</title>
206 <link>http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
</link>
207 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
</guid>
208 <pubDate>Sat,
4 Oct
2014 15:
20:
00 +
0200</pubDate>
209 <description><p
>Today I came across an unexpected Ubuntu boot screen. Above the
210 bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
211 with Linux kernel
3.2.0-
23 (ie probably version
12.04 LTS) was stuck
212 on a screen normally showing the bread types and prizes:
</p
>
214 <p align=
"center
"><img width=
"70%
" src=
"http://people.skolelinux.org/pere/blog/images/
2014-
10-
04-ubuntu-ica-storo-crop.jpeg
"></p
>
216 <p
>If it had booted as it was supposed to, I would never had known
217 about this hidden Linux installation. It is interesting what
218 <a href=
"http://revealingerrors.com/
">errors can reveal
</a
>.
</p
>
223 <title>New lsdvd release version
0.17 is ready
</title>
224 <link>http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
</link>
225 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
</guid>
226 <pubDate>Sat,
4 Oct
2014 08:
40:
00 +
0200</pubDate>
227 <description><p
>The
<a href=
"https://sourceforge.net/p/lsdvd/
">lsdvd project
</a
>
228 got a new set of developers a few weeks ago, after the original
229 developer decided to step down and pass the project to fresh blood.
230 This project is now maintained by Petter Reinholdtsen and Steve
233 <p
>I just wrapped up
234 <a href=
"https://sourceforge.net/p/lsdvd/mailman/message/
32896061/
">a
235 new lsdvd release
</a
>, available in git or from
236 <a href=
"https://sourceforge.net/projects/lsdvd/files/lsdvd/
">the
237 download page
</a
>. This is the changelog dated
2014-
10-
03 for version
242 <li
>Ignore
'phantom
' audio, subtitle tracks
</li
>
243 <li
>Check for garbage in the program chains, which indicate that a track is
244 non-existant, to work around additional copy protection
</li
>
245 <li
>Fix displaying content type for audio tracks, subtitles
</li
>
246 <li
>Fix pallete display of first entry
</li
>
247 <li
>Fix include orders
</li
>
248 <li
>Ignore read errors in titles that would not be displayed anyway
</li
>
249 <li
>Fix the chapter count
</li
>
250 <li
>Make sure the array size and the array limit used when initialising
251 the palette size is the same.
</li
>
252 <li
>Fix array printing.
</li
>
253 <li
>Correct subsecond calculations.
</li
>
254 <li
>Add sector information to the output format.
</li
>
255 <li
>Clean up code to be closer to ANSI C and compile without warnings
256 with more GCC compiler warnings.
</li
>
260 <p
>This change bring together patches for lsdvd in use in various
261 Linux and Unix distributions, as well as patches submitted to the
262 project the last nine years. Please check it out. :)
</p
>