Search Results: "ron"

6 September 2010

Joey Hess: freedombox for a solar powered house

I'm swinging on the front porch shade, with happy wifi bars lit up on my laptop. A good network makes for a happy home, isn't that how the saying goes? (Maybe not yet.) Typically that's easy to achieve -- here it wasn't. The house is solar powered, the only connection to the outside is a phone line. So I needed a computer that would work in that environment, using minimal (12 volt) power, and getting the most out of the limited bandwidth while providing those happy wifi bars. At DebConf we learned that the name for these little home servers we have been building for years is "FreeDomBox". All right then, here's my latest FreedomBox build.
A typical inexplicable tangle of computer bits.
Since the solar house is in the sticks, the result is a server I call "stick".

5 September 2010

Andrew McMillan: I guess I should have known better

Really, I should have known better than to buy myself a rather 'bleeding-edge' laptop. I suppose I've been lucky with my last couple of laptops and was thinking that pretty much everything works on Linux. Or maybe I'm being picky, because in fact pretty much everything does work on my new Dell Studio. I bought this laptop mainly because it has a 1920x1080 screen, without being a 17" monster. I had such a monster about four laptops ago (an enormous Sony Vaio weighing in at around 5kg and with a 1hr battery life) and it was an disaster: lots of weird proprietary stuff that never worked, like the external speakers in the docking station. But I loved that screen right up until the day Fraser threw a pair of scissors into it. With the advent of mass-market 1920x1080 screens I've been waiting for them to arrive in laptops at a reasonable price, and the availability of this screen in a few possible laptops seemed to me to be that point. It's a Dell Studio 15, and as well as the nice screen, it comes with a new Intel i7 Quad Core CPU, 6G RAM, 640G hard drive and a Blu-ray drive. While there are a few similar models around this one seemed to have the best mix of features-for-weight-and-price, so I bought my first Dell. I built a USB key with the latest Debian Installer from Squeeze and installed that and everything came up pretty well. I had to use the broadcom-sta driver for the wireless, since the BCM 43224 is not (yet) supported by the free b43 driver (though from looking the mailing list people seem to be working on it, and it looks like it might not be too far away). Everything seemed good. X came up on the (georgeous) screen. I don't care too much about 3D performance, but it was nice to note that the ATI 5000 series is expected to have full support as soon as it's integrated into the right places - it seems the code is written, and public, it just isn't incorporated into the 'radeon' driver quite yet. The fact that ATI is nowadays a free-software friendly company was one of the reasons for choosing this, in preference to an NVidia-based laptop. But it seems that it isn't all roses. The fan in the laptop seems permanently on, and not on, in a quiet-just-barely-audible way, but ON, in an 'IN UR LAPTOPZ KOOLIN UR P0RCESSAZ' kind of a way. Too damn noisy for me to concentrate in a quiet room. I've investigated what's going on, and it seems likely there are some ACPI misunderstandings happening. Some googling and some pecking around in /sys makes me wonder if the laptop expects some kind of configuration choice between favouring Active cooling and Passive cooling, and it's defaulted to the first one. Perhaps you get better benchmarks that way. Linux ACPI also seems to only half understand it, it has two thermal zones, and one of them always appears with 0 temperature. I can see set points for the fans, but have no control over them. In particular this got me out reading the ACPI 4.0 specification, and it explicitly mentions this choice of favouring 'Active' vs 'Passive' as being done by configuring the passive trip point setting to a higher value than the low & high active trip points. In the ACPI 4 spec (page 409) it says:
To implement a preference towards performance or energy conservation,
OSPM can request that the platform change the priority of active cooling
(performance) versus passive cooling (energy conservation/silence) by evaluating
the _SCP (Set Cooling Policy) object for the thermal zone or a corresponding
OS-specific interface to individual devices within a thermal zone.
This laptop is showing 'passive' at 95000 millidegrees celsius, and 'active' at 55000 / 75000 so right in line with the suggestion. However I don't see any way in Linux to change these trip point values, and in any case I'm not convinced the laptop is actually obeying them at all. It should be that if I do nothing on the laptop for a while the temperature would surely drop below 55 degrees celsius. Surely a modern laptop will sit at under 40 degrees when it's quiescent, and the temperature sensor that does show me something sits at around 30 degrees in this too, 26.8, to be overprecise. That one doesn't budge either. Looking in /sys/ I can't for the life of me find a way to set that cooling policy, and when I disassemble the DSDT it looks like a noop... Thinking that perhaps there was a newer BIOS, I looked at the Dell site and found there was one. Great! Investigating even further, it seems Dell hardware has some interesting capability via libsmbios and some utilities which will let me install my BIOS from a Linux system... even better! Linux is a second-class citizen though, and when I look for the Dell BIOS Hdr file I need there is no version of the file for this laptop - let alone the current BIOS version. And when I download the BIOS from Dell's website and unzip the first layer of packaging I find that both of the files inside will only run on Windows. I added a FreeDOS boot stanza to Grub 2 in order to discover this, also discovering in the process that this is not well explained, and I could not find how to do it on the FreeDOS or Grub2 websites, so in passing, here is what I added into /etc/grub/40_custom :
menuentry 'BIOS Flash 1558 A09' --class os  
        set root='(hd0,msdos1)'
        linux16 /boot/memdisk
        initrd16  /boot/1558_A09.img
 
Which certainly does boot FreeDOS from Grub2, into the image built from the 8M FreeDOS base image, and which I called '1558_A09.img' because that seems to be one of Dell's reference numbers for this model / BIOS version. So still no BIOS update for Andrew, it seems, and the laptop is probably going to continue to be noisy for some time. Possibly forever. Suspend/Resume works though. Kernel mode-setting for the ATI Radeon Mobility HD 5450 (or whatever it is) seems to work. Building kernels seems to work. The Blu-ray drive seems to work, at least as far as reading CDs - just because I got a laptop with a "Full HD" screen doesn't mean I watch movies on it: those pixels are for programming on! In any case, after reading the literature of pain about playing Blu-ray disks on Linux I'm convinced that we won't be shelling out to buy one any any time soon. After a bit more frustration I did manage to get the BIOS installed, using the hack I found here of running the Windows BIOS update under Wine and copying the BIOS file out of the temp directory while the error message is displayed. I could then download a random DOS-installable Phoenix BIOS to get copy of phlash16.exe and put those two files on the FreeDOS image I created earlier. Finally I was able to put that learning about how to boot FreeDOS from Grub2 to good use! Unfortunately, having jumped through all of those hoops (including the frustration of trying to build and use Dell's firmware-extract tools on a Debian system), the fan continues to grind away at annoying volume, with no way that I have been able to find to control it, and the temperature sensors also seem wrong, since one doesn't budge from 0 and the other doesn't budge from 26800. During boot I get a bunch of error messages, like:
[    1.049936] \_SB_.PCI0:_OSC invalid UUID
[    1.052202] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    1.052210] pci 0000:00:1c.0: PME# disabled
[    1.065228] pci 0000:07:00.2: PME# supported from D0 D1 D2 D3hot D3cold
[    1.065237] pci 0000:07:00.2: PME# disabled
[    1.079086] Unable to assume PCIe control: Disabling ASPM
[    1.086412] HEST: Table is not found!
[    1.249906] ACPI: Fan [FAN0] (off)
[    1.249959] ACPI: Fan [FAN1] (off)
[    1.250093] [Firmware Bug]: ACPI: ACPI brightness control misses _BQC function
[    1.259118] acpi device:02: registered as cooling_device2
[    1.262132] thermal LNXTHERM:01: registered as thermal_zone0
[    1.262139] ACPI: Thermal Zone [TZ00] (27 C)
[    1.262561] thermal LNXTHERM:02: registered as thermal_zone1
[    1.262571] ACPI: Thermal Zone [TZ01] (0 C)
[    1.262598] ERST: Table is not found!
[    2.769664] i801_smbus 0000:00:1f.3: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.769670] ACPI: resource 0000:00:1f.3 [io  0x1840-0x185f] conflicts with ACPI
                         region SMBI [bus 1840-184f pref window disabled]
[    2.769672] ACPI: If an ACPI driver is available for this device, you should use it
                         instead of the native driver
I don't yet know what this all means, so I guess I'll be signing up for the linux-acpi mailing list to see if there's anything I can do to get things working better. Any pointers will be gratefully received :-) Right about now I wonder if maybe I should have gone for the HP or the Asus, even if they were a little heavier and a bit more expensive and next time I get a new laptop I must remember not to spend more than $900 (USD$600) on it. [Updated: 2010-09-08... Noise Problems Solved

Julien Valroff: End of my vacation

My vacation is now over, and I think it is now time for me to summarise what I have done with regards to free software. First, I have sent my first real contributions to OpenStreetMap, in the area of my small town: http://osm.org/go/0DCaXeZ
I still have a lot of things to learn, but things are already better than they were!
I will also shortly write an article about how to use the GlobalSat DG-100 data logger on Debian GNU/Linux.
Working on OSM is real fun, as it can be done in family. I have also spent some time to test & improve the Debian packages for DSPAM (available from my repository). I have moved the SVN repository to a new GIT repository available at: http://git.debian.org/?p=pkg-dspam/dspam.git;a=summary. Matthijs M hlmann (matthijs) is currently reviewing the packages, and will upload them to the official archive if everything is ok. Matthijs also accepted to be my advocate for my New Maintainer application. Thanks a lot to him! I am now waiting to be assigned an Application Manager: http://qa.debian.org/developer.php?login=julien%40kirya.net As usual, I have also been quite active at reporting bugs on the Debian BTS. unfortunately, I haven t had the possibility to fix (RC) bugs.

3 September 2010

Julien Danjou: Emacs and OfflineIMAP

I recently decided to use OfflineIMAP to synchronize my mails on my laptop. It's a great piece of software, and allows me to read my mail while I'm offline. I use it with Gnus, of course. But I lacked a proper way to integrate OfflineIMAP with it, so I decided to write a little Emacs extension to run and monitor OfflineIMAP directly from Emacs. Here comes offlineimap.el, an Emacs extension to run OfflineIMAP directly within Emacs. It will display OfflineIMAP output in a buffer, and optionally shows the current OfflineIMAP operation in the mode line. By default the status is in the mode line only if you are in the Gnus group buffer. But that's customizable, of course, since this is Emacs! If you are using el-get, there's already a recipe to install it! Flattr this

2 September 2010

MJ Ray: KohaCon10

Russel Garlick writes on behalf of the KohaCon10 Organising Committee:
KohaCon10 starts on October 25th in Wellington, New Zealand. We have an exciting line up of speakers on a range of topics related to Koha and [Free and] Open Source and Open Standards in libraries. See our programme for details. KohaCon is an opportunity for the entire Koha community, librarians and developers alike, to come together, meet each other, swap ideas and learn something new. The conference is split into 2 parts. The community conference will be held over 3 days 25-27th of October. This is not just a developer s conference. There will be presentations from librarians and developers alike. The second part of the conference is the Hackfest for Koha developers that will be held from 29th-31st of October. For more information see our website KohaCon10 is a free conference (that is right it will cost nothing for you to attend), but you still need to register to reserve your place. Registrations from the international Koha community have been very strong. Over half of all available spaces are already taken. If you have been holding off on the premise that you will have plenty of time to do this later, then please register now. Please do not rely on there being free spaces on the day. Registration is quick and easy via the website. We look forward to seeing you in Wellington!
Our co-op will be represented there. Will you?

1 September 2010

Russ Allbery: git-pbuilder 1.16

Getting the git-pbuilder script included in git-buildpackage has significantly increased the usage, which means lots more people finding new features and facilities that they need. I love that part of free software work. Here's a new version with a few new facilities. Since the previous release announcement (for 1.13), this adds: You can get the latest version from my scripts distribution page.

Sylvain Le Gall: OCaml 3.12 with Debian Sid right now!

Some careful readers of Planet OCamlCore should wonder why the OCaml packages in Debian has not yet been upgraded to 3.12.0. For the Planet Debian readers, this is the latest version of the Objective Caml programming language. The answer is simple: Debian Squeeze froze on 6th August. This means that Debian folks focus on fixing release critical bugs and avoid doing big transitions in unstable (Sid). In particular, the Debian OCaml maintainers has decided to keep OCaml 3.11.2 for Squeeze, because the delay was really too short: OCaml 3.12 was out on 2nd August. A great work has already been done by S. Glondu and the rest of the Debian OCaml maintainers to spot possible problems. The result was a series of bugs submitted to the Debian BTS. This effort has started quite early and have been updated with various OCaml release candidates. S. Glondu has also built an unofficial Debian repository of OCaml 3.12.0 packages here. Let's use it to experiment with OCaml 3.12.0. schroot setup Following my last post about schroot and CentOS, we will use a schroot to isolate our installation of unofficial OCaml 3.12.0 packages. approx approx is a debian caching proxy server for Debian archive files. It is very effective and simple to setup. It is already on my server (Debian Lenny, approx v3.3.0). I just have to add a single line to create a proxy for ocaml 3.12 packages:
 $ echo "ocaml-312   http://ocaml.debian.net/debian/ocaml-3.12.0" >> /etc/approx/approx.conf
 $ invoke-rc.d approx restart
approx is written in OCaml, if you want to know how I come to it. debootstrap and schroot We create a chroot environment with Debian Sid:
# PROXY = host where approx is installed, debian/ points to official Debian repository of 
# your choice. 
$ debootstrap sid sid-amd64-ocaml312 http://PROXY:9999/debian
We create a section for sid-amd64-ocaml312 in /etc/schroot/schroot.conf (Debian Lenny):
[sid-amd64-ocaml312]
description=Debian sid/amd64 with OCaml 3.12.0
type=directory
location=/srv/chroot/sid-amd64-ocaml312
priority=3
users=XXX
root-groups=root
run-setup-scripts=true
run-exec-scripts=true
Replace XXX by your login. And we install additional softwares:
 $ schroot -c sid-amd64-ocaml312 apt-get update
 $ schroot -c sid-amd64-ocaml312 apt-get install vim-nox sudo
OCaml 3.12 packages Now we can start the setup to access OCaml 3.12.0 packages. The repository is signed by S. Glondu GPG key (see here). We need to get it and inject it into apt:
$ gpg --recv-key 49881AD3 
gpg: requ te de la cl  49881AD3 du serveur hkp keys.gnupg.net
gpg: cl  49881AD3:   St phane Glondu <steph@glondu.net>   n'a pas chang 
gpg:        Quantit  totale trait e: 1
gpg:                      inchang e: 1
$ gpg -a --export 49881AD3 > glondu.gpg
$ schroot -c sid-amd64-ocaml312 apt-key add glondu.gpg
The following part is done in the schroot:
$ schroot -c sid-amd64-ocaml312
# PROXY = host where approx is installed
(sid-amd64-ocaml312)$ echo "deb http://PROXY:9999/ocaml-312 sid main" >> /etc/apt/sources.list
(sid-amd64-ocaml312)$ cat <<EOF >> /etc/apt/preferences
Package: *
Pin: release l=ocaml
Pin-Priority: 1001
EOF
(sid-amd64-ocaml312)$ apt-get update 
...
(sid-amd64-ocaml312)$ apt-cache policy ocaml
  Install : (aucun)
  Candidat : 3.12.0-1~38
 Table de version :
     3.12.0-1~38 0
       1001 http://atto/ocaml-312/ sid/main amd64 Packages
     3.11.2-1 0
        500 http://atto/debian/ sid/main amd64 Packages
(sid-amd64-ocaml312)$ apt-get install ocaml-nox libtype-conv-camlp4-dev libounit-ocaml-dev...
That's it. The apt-policy command shows that OCaml 3.12 for the ocaml-312 repository has an higher priority for installation. Good luck playing with OCaml 3.12.0.

Rapha&#235;l Hertzog: Free and opensource software to Flattr

Flattr FOSS LogoSince I published How to make 110.28 EUR in one month with free software and Flattr , quite a few people joined the movement and I had less troubles finding projects to Flattr. That s great! :-) Without further ado, here are my recommendations for september:
  1. Smuxi is an IRC application that integrates from the start the need to be permanently connected. You can run the engine on a server and the graphical interface connects there. The engine has all the intelligence so it remembers what message you last saw in each channel (including highlights) and you won t miss anything. I recently switched to it and I like it. It s not perfect but it s improving quickly. The next version even supports Ubuntu s messaging indicator for better integration with the desktop.
  2. Geshi is a PHP class used by many other software to provide enhanced views of code on web pages by coloring the various parts based on the syntax of the respective programming language. It s used by Wikipedia, many blog plugins and lots of other web applications.
  3. Git-buildpackage is a set of tools developed by Guido G nther to make it easier to maintain Debian packages in Git repositories. I use it for several packages that I maintain.
  4. Mixare is an augmented reality browser. Take your Android phone and it will incrust information in the (camera) view of the environment. Impressive video on the website.
  5. Lightspark is is a modern flash player implementation targetting ActionScript 3.0 support (while Gnash only supports older versions). It s one of those few projects that are really needed to get rid of the non-free Adobe plugin that almost everybody installs because there s nothing else that work well enough.
This article is part of the Flattr FOSS project.
Flattr this Share/Bookmark 10 comments Support my work

31 August 2010

Jordi Mallach: De mar a mar, hiking across the Pyrenees

Two weeks ago, Maria and I completed one of our dreams when we arrived in Cap de Creus, where the Pyrenean range sinks in the Mediterranean. To get there, we walked hundreds of kilometres during a month, crossed dozens of steep valleys and enjoyed one of the richest experiences of our lives.

We managed to complete this challenge without facing major problems or pains, and after the first five our six days, our legs seemed to have gotten used to the daily effort and it started to be easier and easier. Our morale kept growing as days passed and we advanced east. When I started walking on a cold and rainy morning in Hondarribia, after barely no rest in the night bus to Ir n, I thought for myself that it was improbable that we'd manage to get anywhere near Catalunya, that one of us would get injuried way before, or we'd just give up and go for the easy beach vacation in the Basque Country.


Biad s refuge, under Posets But we didn't, and after a somewhat painful start, with our boots soaking wet during the stages that crossed the enchanting Selva de Irati which ended up with me getting the biggest blister I've ever seen, we started to walk farther every day, extending the stages when we felt strong after reaching their official end. When we crossed from Nafarroa to Aragonese territory, the mental wall that I had built over the toughest stages in our quest started to fall apart. Days later, we found ourselves climbing down to Pineta, leaving Ordesa behind and enjoying a feeling that our adventure could not go better. The weather had been perfect for over a week and our legs and back were strong to go all over the way to the sea.


Ca n de A isclo, on our way to Pineta When we finally saw that huge blue stain on the horizon, the day before getting to the last mark, we got really excited. We had made it, but as we walked towards the cape, happiness slowly got mixed with melancholy. An unforgettable adventure was about to end, and we didn't want to face our return to the city and our routines. It had been many days surrounded only by awesome landscapes, and living without watches, with only sunlight and weariness marking the time to get in our sleeping bags.


At the very last red and white mark of our journey We've had plenty of time to meet great people. Starting with the Navarrian brothers we met in the early stage, which provided us with a good pace to follow while our leg muscles were still building up; or Kike and Ana, who drove from Pamplona to visit us during the first Aragonese stages (thanks for the supplies!). Tom s and Roger, young hikers from Matar , surprised us with their maturity and experience as mountaineers; we had the pleasure to join forces during four days, walking a really cool variant through the Infiernos and Collado del Letrero which avoided going through the ghost city of Panticosa. Roger and Tom s, we really hope to meet you soon! Andreu, Manel, Ghandi and Ga la visited us at the Vall de N ria and were unlucky to suffer a frightening hail and thunder storm when they left our shelter on their way back to their car. Thanks! All of you have been a very special part of our experience!

This adventure through GR 11 has been incredibly positive for us for several reasons. We've learned a lot about ourselves and strengthened our relation, and now I know how powerful drive can be; to get somewhere, no matter how far, it's really easy if you just believe you can do it and desire to get there. Maria and I are proud of what we've done, and no wonder we're looking for new challenges. An obvious one would be repeating this experience, going through the French side of the Pyrenees, but for now, the Corsican GR 20 seems the most appealing. We'll see, next summer!

Joey Hess: swarmnation story

Swarmnation is a neat game, but I'm not sure if it's for the reasons its authors intended. It may be interesting mostly because of its bugs. Read on for spoilers and the story that developed from an apparently abstract time waster game. When I first saw the game, I saw a grid of squares moving around. I was obviously one: A (Blue) Square. There seemed to be no pattern to the movements. So, it seemed the game represented random passers-in-the-night on the net, unable to communicate except by dashing back and forth. Then after a few minutes, a geometric shape was highlighted in yellow from out of the mass of squares. Woah! I'd been missing something here. It turned out my display was too small, and I had not noticed that the gameboard scolled over to show a tetris-style "next shape" display. Which the other squares had been busily trying to make before time ran out. Now all their movements made sense. Now with a shared goal, we could communicate. Some of us were trolls and blocked shapes from forming. A few of us became leaders, boldly taking that center position in the hollow-square-with-spot-in-the-middle shape. Most of us herded into place as soon as a shape began to form, and stayed there, frantically hoping our neighbors would also conform and keep property values high. We were playing the game. We were accumulating scores. We split into two groups, both playing the game, and then some of us defected from one group to the other, which seemed to be doing better at making a particular shape, and there was no reason to go back to that first group, I felt strongly that I was part of the second, better, group. Then, as I was getting bored and feeling the neighbors all around stifling, I noticed my square highlighted yellow for a shape that I was not currently part of. Oh, this must be a bug I thought. I hacked around, and got it to happen again. I thought maybe it was just being a bit fuzzy in accepting shapes, but no, it turned out to be more interesting. The game didn't care if we stayed in the shape. Just being part of the shape for an instant was enough. With this realization, whole new ways to play the game opened up. Dash left and right, near a forming shape, and you'll probably, for an instant, be part of it. Hang back and have your fun, spot an instant to plug a hole, and then get out and let someone else also take part. Try to form the same shape in both groups. And so on. So a grid of squares hooked up to keyboards on the net has let me watch the invention of politics, rebel from conformity and hack the system, in an hour? That's what games are about!

30 August 2010

Mart&iacute;n Ferrari: Some LaTeX stuff

The last few weeks I have been using LaTex a lot, to write the final report for my master's course. During that period I found a couple of LaTeX goodies that might be interesting to share: the memoir class, gnuplot integration, and some stuff to help preparing cover pages. The memoir class is a kind of all-in-one package. It is meant to be used in place of the book and report classes, but it can also replace simpler environments, such as article. It provides many ready-to-use templates, and loads of commands to easily customize them. It seems to be specially tailored for dead-tree publication, dedicating an entire chapter in the manual to page layout. It also aims at removing the usual cruft you have to add into any medium sized project, it is macro-compatible with: abstract, appendix, array, booktabs, ccaption, chngcntr, chngpage, dcolumn, delarray, enumerate, epigraph, framed, ifmtarg, ifpdf, index, makeidx, moreverb, needspace, newfile, nextpage, parskip, patchcmd, setspace, shortvrb, showidx, tabularx, titleref , titling, tocbibind, tocloft, verbatim, and verse. Furthermore, it provides functionality equivalent to the following packages: crop, fancyhdr, geometry, sidecap, subfigure, titlesec. In the end, you have a project that only needs a couple of packages, and a few customisation commands, which is nice and also eases distribution. Other nice thing I have found is that there is not one, but many ways of merging gnuplot graphs into your text while having LaTeX typeset all the labels. There is some LaTeX packages aimed at this, but I have more success using a special gnuplot terminal. Again, there is more than one option: eepic, epslatex, latex, lua, mp, pslatex, pstex, pstricks, texdraw, and tpic. While I could not try them all, I tried a few and the easiest and prettiest was epslatex. This terminal creates two files: a EPS file, as would have been created with the usual postscript terminal, except that it does not contain any text; and a LaTeX snippet meant to be included with \input foo . Finally, I could generate graphs that match the rest of the document! To end this post, a couple of things about creating the dreaded cover page. First, a suggestion: don't fret too much about finding a ready-made template, once you understood the basics of how to insert arbitrary spaces around text, it is quite easy to roll your own cover! Having said that, the memoir manual has some sample cover pages that can be useful to use as a base, and there is another really useful resource I have found: titlepages.pdf, a collection of 40 sample title pages with source code for you to choose. Tags: Planet Debian, Planet Lugfi, latex

Rapha&#235;l Hertzog: Understanding Membership Structures in Debian and Ubuntu

Debian and Ubuntu have a set of official membership roles that can be granted to regular contributors. Those roles come with rights that enable the contributors to do their work and to participate in the project governance (elections and other official decision-making processes). It s also a way for the distributions to acknowledge the work done: most contributors are proud of the status they reached. The membership structure plays an important role in the development of a distribution: it defines the kind of contributors that are welcome in the project, it sets expectations of the project towards its contributors and defines their rights. In the end, this shapes the project s ability to recruit new contributors to keep the project alive and kicking. This article introduces the existing statuses in Debian and Ubuntu, and defines the sometimes confusing jargon associated with them. The Debian Case Debian only has two types of official members: Debian Developers (DD) and Debian Maintainers (DM). The rights of the developers are codified in the Debian Constitution while those of the maintainers have been defined in a general resolution of 2007. The Debian Maintainer status is still mostly documented in a wiki page. The integration of this new status in Debian s official processes has been slow to come largely because it was introduced at that time without enough negotiation with the involved parties. Nowadays, it is preferred that people get the DM status before applying for DD. DM is a very limited role: maintainers can only upload packages that already have their name on them (either in the Maintainer or Uploaders field) and a specific flag (DM-Upload-Allowed: yes) that only Debian Developers can add. They have no other rights and limited access to Debian s resources. Besides those official roles, there are also maintainers of packages that have no official status within Debian except that they are listed in the Maintainer field of the package. They are doing the maintenance work but all uploads are done by a Debian Developer after verification of the work done (this is called sponsorship and is the only way to start with official packaging work). Once the DD trusts the maintainer, the developer will typically ask the maintainer to apply for DM status in order to be relieved from the sponsorship work. In the end, that makes three different kind of package maintainers and a lot of confusion when you discuss membership issues in particular when the New Maintainer process is the path that you follow to become a Debian Developer. Don t be fooled by the names when reading Debian s documentation! The Ubuntu Case Ubuntu had, from the start, an official Ubuntu Member status that includes all contributors: developers of course, but also documentation writers, artists, translators, etc. This status notably grants the right to vote in elections of the Community Council, the right to participate on Planet Ubuntu, and the @ubuntu.com email alias. For developers, the situation is more complicated: the wiki page lists no less than five different statuses. Initially, developers were split between Ubuntu Core Developers and the MOTU (Masters Of The Universe). The latter were responsible of the universe/multiverse sections of the archive while the former also had upload rights for the main/restricted sections. But, inspired by the Debian Maintainers concept and facing concrete problems in terms of archive management, they changed their infrastructure to offer more fine-grained control on package uploads. Ubuntu can now grant upload permissions on a package-per-package basis, but it can also delegate the right to grant upload permissions with the same granularity. This lead to the new Per-Package Uploader status which is simply an Ubuntu Member with upload rights on a limited set of packages where they have a specific expertise. The more generic Ubuntu Developers status now encompasses members of various development teams that have been delegated the right to manage upload permissions on a (usually large) package set (the current teams are Ubuntu Desktop, Mythubuntu, Kubuntu, and Edubuntu). Those teams can define their own policy to add new members provided they follow the basic rules defined by the Developer Membership Board (see this wiki page). Ubuntu Contributing Developer is an intermediate status for someone who is not yet ready for one of the other developer statuses but who has still shown enough commitment to be an Ubuntu Member. All those statuses can be obtained in a similar way: you prepare a wiki page listing your past contributions, you collect testimonials from existing members that you have worked with, you add yourself in the agenda of the next meeting of the board (or council) that grants the status that you seek, and you attend the meeting. The members of the board will decide whether you are ready for the status (or not) based on what you provided in the wiki, based on your answers during the meeting (and on a mailing-list for developers), and based on what others have to say about you. The most important boards are usually elected by the community while others are commonly appointed by the community council. Those governance bodies include Canonical employees but not as many as one would expect: two out of eight in the Developer Membership Board, two out of eight in the Community Council, but all six members of the Technical Board. The last figure, while not intended, is not surprising given the high expectations set on potential members of the technical board. Mark, as the founder, is the only person to have a permanent seat on both the Community Council and the Technical Board. Comparison of the Statuses Between Debian and Ubuntu The following table summarizes the rights given to each developer role in the two projects (Put the mouse over the abbreviations to know what they are referring to).
Rights Debian Ubuntu
DM DD UM PPU/UD MOTU UCD
Package maintenance via sponsorshipYN/AYYYN/A
Official email alias-YYYYY
Participate in votes for members-YYYYY
Participate in votes for developers-Y-YYY
Upload rights restricted to pre-approved packagesY--Y--
Upload rights restricted to a section of the archive----Y-
Unlimited upload rights-Y---Y
Number of contributors (as of 2010-07-27)117904462278563
Please note that the number of contributors are not 100% accurate for Ubuntu. A contributor can have multiple statuses (direct membership to a launchpad group) granted over time (while gaining experience). The problem has been mostly avoided by calculating differences between number of members of the various groups but it s not perfect and it can t be: some MOTU are also PPU for packages in main and it s legitimate (but I only counted them as MOTU and not as PPU). Another limitation is that members of some administrative teams are included indirectly in many teams and thus appear in the count while they should not. Anyway, this simple table makes it obvious that Ubuntu s structure offers a broader choice of statuses. They acknowledge the work of all contributors from the start while still giving the most critical rights only to those who have proven that they deserve them. Despite this difference, Debian still has a significant advantage in terms of number of developers. That number does not tell the whole story though: the Ubuntu contributors include many Canonical employees (e.g. 36 out of 63 core developers have a @canonical.com email registered on their launchpad account) that are likely to spend more time working on the distribution than the average Debian member. But even if comparing person-hours would be a challenging thought experiment, in practice it s of not much interest if both projects continue to cooperate and if more and more of the contributions flow in both directions. Debian is aware of the shortcomings of its structure. Changes to better accommodate non-packagers have been discussed several times already. The last efforts in that direction were unfortunately perceived as a solution ready to go rather than a proposal to be discussed, and the project got quickly buried by a general resolution (GR). Even if that resolution invited for further discussion and a new proposal, the truth is that when someone s initiative is corrected by way of GR, it usually kills any motivation to go forward. Possible Evolution? On the Ubuntu side, the infrastructural changes were completed recently and they don t expect any further change in the near future. They do plan, however, to expand usage of those new features so that more teams benefit from the possibility to control upload rights on packages that are relevant to them, and so that more individuals developers apply to become Per-Package Uploaders on packages that they know very well. On the Debian side, a recent discussion on the debian-project list brought back the topic of the bad terminology and it was agreed that the New Maintainer process should be renamed into something else ( New Developer process has been suggested). But Christoph Berg Debian Account Manager and hence heavily involved in the New Maintainer Team suggested that Debian would be better off implementing the long-awaited membership changes before trying to update all the documentation. It would certainly imply some more vocabulary updates. Later in the discussion, he confirmed that membership reform is on the top of the TODO list of the new maintainer team (just after the rewrite of the nm.debian.org website). What can be expected from this reform? The following answers are my own guesses based on my experience of Debian, but the project hasn t decided anything yet. Almost two years have elapsed since the previous efforts in that direction, the new maintainer team has recruited new members and is in a general better shape. Hopefully, the next episode of this saga will have a better outcome.
This article was first published in Linux Weekly News. In a comment, Mark Shuttleworth tried to explain how the Ubuntu community is being setup.
Flattr this Share/Bookmark 10 comments Support my work

Matt Zimmerman: Traveling at home

For me, the most enjoyable part of traveling is the inspiration that I derive from visiting different places, talking to people, and generally being outside of my normal environment. This bank holiday weekend, when so many Londoners visit faraway lands, my partner and I stayed in London instead, and my sought inspiration closer to home. The city has been delightfully quiet, and in contrast to the preceding week, the weather was mostly pleasant, apart from the sudden downpours the BBC described as squally showers .
Photo of deer in Richmond Park

Photo credit: M rcio Cabral de Moura


We spent Saturday afternoon in Richmond Park, a 2500-acre nature preserve easily accessible via public transport from London. The plentiful oak trees, fallow deer, and various species of water fowl made it easy to forget the city for a while. Having visited a few times on foot, I think it would be fun to cycle next time, and see different areas of the park. Afterward, we had dinner at a tapas restaurant in Parsons Green which offered notably excellent service as well as good food. By this time, it was nearly 7:00pm, and we took a chance on getting last-minute theatre tickets to see Jeff Goldblum and Mercedes Ruehl in Neil Simon s The Prisoner of Second Avenue. We arrived at the theatre just in time for the show, which was not sold out, and in fact had quite reasonable seats available. The show had several good laughs, holding up fairly well after nearly 40 years since the original Broadway production.
Photo of the exhibition at the Design Museum

Photo credit: Gary Bembridge


On Sunday, we visited the Design Museum for the first time. Having been disappointed by the nearby Fashion and Textile Museum, our expectations were not too high, but it turned out to be very worthwhile. The Brit Insurance Designs of the Year exhibition showcased designs from architecture, fashion, furniture, transport and more. Some of my favorites were: I was delighted to see that there were a half dozen or so exhibits which related to open source software. Even including the theatre tickets, it was a very inexpensive holiday compared to traveling overseas, and generated a lot less CO2. I was more than satisfied with the inspiration available within a relatively small radius. I don t think I ll give up traveling, as I really enjoy seeing friends who live far away, but I think I ll be more inclined to stay home during peak travel times and enjoy local activities.

29 August 2010

Julien Blache: forked-daapd: new features, Squeeze

A number of things have happened in and around forked-daapd in the last month or so, so let s review the new features and the plan for Squeeze. On the features front, Kai Elwert has done a lot of work since July to implement missing features at the DAAP and DACP level to get better support for Remote: Also, forked-daapd can now remember which speakers were selected before shutdown and attempts to automatically reselect these speakers the next time around. Speakers that were selected will be reselected if they appear at most 5 minutes after startup and the player isn t running at that time. On the Squeeze front, a viable snapshot of forked-daapd will release with Squeeze. This snapshot doesn t have all the Remote improvements listed above, although it s got the playlist support, can remember the speaker selection and includes bug fixes. My plan is to provide backports through backports.org once Squeeze is released and for as long as possible after that. There s always more in the works, so stay tuned =)

Bernd Zeimetz: the guruplug server plus - major design and qa fail

As a lot of people are coming to my blog to read the installing instructions for Debian on the GuruPlug Server Plus, I shall not hide my opinion about it: It is a major design and QA fail. Don't waste your money on it.

The power supply Although I've ordered the Guruplug pretty early with the promise, that I'd have it in April, it arrived at the end of May due to QA issues with the power supply. While I appreciate that they didn't deliver broken power supplies, I would have preferred not to receive one which was "fixed" by somebody who uses the soldering iron like an axe. Here are some macro photos to show the gory details: GuruPlug Server Plus PSU 1 GuruPlug Server Plus PSU 2 GuruPlug Server Plus PSU 3

Software issues The version of UBoot which shipped with the device was only able to boot from NAND and network. Booting from USB failed and ext2 support was missing, too. Didn't have a look if the community came up with a fixed UBoot version yet, but in my opinion a piece of hardware for >100 EUR should not have such flaws.

Thermal issues Using the Guruplug with more than one 100 MBit/s connection is just not possible, as it would toast itself to death. For the details have a look at this discussion in the NewIT forum, it links to a lot of interesting photos and postings. This issue is a major design and QA failure. Even without knowing what the datasheets say, it is easy to imagine that a thin piece of alloy is not the proper way to cool a CPU and network chip. Especially not when it is mounted with cheapish pads instead of a proper paste. GuruPlug Server Plus Cooling 1 As it seems the plan was to send the heat to the shielding of the network/USB/eSata ports (the area is marked red as my first plan was to remove that part of the alloy and reuse the heat-spreader), a strong indication for that is that this is the only area with holes for air circulation. I could imagine that it was not possible to have these holes next to the PSU, which was mounted above the heat-spreader, to avoid electrical shocks. GuruPlug Server Plus Cooling 2 As there was no other opening for the heat to leave the case, even the microSD card became pretty hot - I've measured temperatures around 60 deg. C next to the card - while CPU and 100MB/s network were idling. The official information from GlobalScale Technologies is that only 10/100MBit/s should be used as workaround to avoid overheating until a "Professional Upgrade Kit" is released. As mentioned here the upgrade kit announcement was removed silently from GST's website. To be honest, this doesn't make me wonder. There is no way to fix the Guruplug with an external fan or any other external magic as the only way to fix it is to cool the CPU and networking chip properly. There are various workarounds for the cooling issues posted to the forums. I've decided to rip out the power supply and heat spreader out of the case and get a nice external PSU. The new connector is mounted, ready to supply the GuruPlug's board with power. GuruPlug Server Plus power connector Currently I'm waiting for the new heat sinks and glue to arrive. Then I'll give it a try to mount eveything in the small case again, probably with some additional air holes. As soon as I have a workign solution, I'll blog about it again.

Bernd Zeimetz: the guruplug server plug - major design and qa fail

As a lot of people are coming to my blog to read the installing instructions for Debian on the GuruPlug Server Plus, I shall not hide my opinion about the Guruplug Server Plus: It is a major design and QA fail. Don't waste your money on it.

The power supply Although I've ordered the Guruplug pretty early with the promise, that I'd have it in April, it arrived at the end of March due to QA issues with the power supply. While I appreciate that they didn't deliver broken power supplies, I would have preferred not to receive one which was "fixed" by somebody who uses the soldering iron like an axe. Here are some macro photos to show the gory details: GuruPlug Server Plus PSU 1 GuruPlug Server Plus PSU 2 GuruPlug Server Plus PSU 3

Software issues The version of UBoot which shipped with the device was only able to boot from NAND and network. Booting from USB failed and ext2 support was missing, too. Didn't have a look if the community came up with a fixed UBoot version yet, but in my opinion a piece of hardware for >100 EUR should not have such flaws.

Thermal issues Using the Guruplug with more than one 100 MBit/s connection is just not possible, as it would toast itself to death. For the details have a look at this discussion in the NewIT forum, it links to a lot of interesting photos and postings. This issue is a major design and QA failure. Even without knowing what the datasheets say, it is easy to imagine that a thin piece of alloy is not the proper way to cool a CPU and network chip. Especially not when it is mounted with cheapish pads instead of a proper paste. GuruPlug Server Plus Cooling 1 As it seems the plan was to send the heat to the shielding of the network/USB/eSata ports (the area is marked red as my first plan was to remove that part of the alloy and reuse the heat-spreader), a strong indication for that is that this is the only area with holes for air circulation. I could imagine that it was not possible to have these holes next to the PSU, which was mounted above the heat-spreader, to avoid electrical shocks. GuruPlug Server Plus Cooling 2 As there was no other opening for the heat to leave the case, even the microSD card became pretty hot - I've measured temperatures around 60 deg. C next to the card - while CPU and 100MB/s network were idling. The official information from GlobalScale Technologies is that only 10/100MBit/s should be used as workaround to avoid overheating until a "Professional Upgrade Kit" is released. As mentioned here the upgrade kit announcement was removed silently from GST's website. To be honest, this doesn't make me wonder. There is no way to fix the Guruplug with an external fan or any other external magic as the only way to fix it is to cool the CPU and networking chip properly. There are various workarounds for the cooling issues posted to the forums. I've decided to rip out the power supply and heat spreader out of the case and get a nice external PSU. The new connector is mounted, ready to supply the GuruPlug's board with power. GuruPlug Server Plus power connector Currently I'm waiting for the new heat sinks and glue to arrive. Then I'll give it a try to mount eveything in the small case again, probably with some additional air holes. As soon as I have a workign solution, I'll blog about it again.

28 August 2010

Romain Francoise: An update on md5sums, and Debian's growth

Back in August 2007 I looked at the state of embedded md5sums in Debian packages and found that approximately 3% of the files in the archive didn't have checksums. Three years later, things have improved: only 0.76% of the archive is now missing checksums (sid, main/contrib/non-free). (See this lintian report for the list of affected packages.) Since then there's also been various discussions on this subject and there is now a policy bug open to make md5sums a requirement (at the "should" level). There is also a wishlist bug against debhelper to turn dh_md5sums into dh_checksums with a stronger hash algorithm, but MD5 still being good enough for simple integrity checking, it seems rather pointless to upgrade the algorithm without a trust path in the form of in-package signatures ala RPM... Anyway, what's perhaps more surprising is the growth of the distribution in only three years: sid has gone from 20774 to 30314 packages, a 45% increase. Similarly, the number of regular files has gone from approximately 2 million to just above 2.9 million. Indeed, looking at our last five releases, the distribution's growth is impressive: Whether or not that is a good thing is, of course, yet to be determined. As a data point, I used the UDD to know how many of these thousands of packages are actually used, and to my surprise, 22321 binary packages have a popcon installation count that is less than 500! (By comparison, dpkg's installation count is 89393.) So while each new release adds lots of packages, the majority of them have very few users. (If you want to check yourself, the query I used is select p.package, version, insts from packages p, popcon where (p.architecture = 'i386' or p.architecture = 'all') and p.release = 'squeeze' and p.package = popcon.package and popcon.insts < 500 order by insts;.)

Ben Hutchings: Boot loader disruption in sid

IN UR DISTRO BRAKIN UR PACKAGEZ Something was bound to go wrong when changing the policy for boot loaders. Let me try that again.

27 August 2010

Colin Watson: Windows applications making GRUB 2 unbootable

If you find that running Windows makes a GRUB 2-based system unbootable (Debian bug, Ubuntu bug), then I'd like to hear from you. This is a bug in which some proprietary Windows-based software overwrites particular sectors in the gap between the master boot record and the first partition, sometimes called the "embedding area". GRUB Legacy and GRUB 2 both normally use this part of the disk to store one of their key components: GRUB Legacy calls this component Stage 1.5, while GRUB 2 calls it the core image (comparison). However, Stage 1.5 is less useful than the core image (for example, the latter provides a rescue shell which can be used to recover from some problems), and is therefore rather smaller: somewhere around 10KB vs. 24KB for the common case of ext[234] on plain block devices. It seems that the Windows-based software writes to a sector which is after the end of Stage 1.5, but before the end of the core image. This is why the problem appears to be new with GRUB 2. At least some occurrences of this are with software which writes a signature to the embedding area which hangs around even after uninstallation (even with one of those tools that tracks everything the installation process did and reverses it, I gather), so that you cannot uninstall and reinstall the application to defeat a trial period. This seems like a fine example of an antifeature, especially given its destructive consequences for free software, and is in general a poor piece of engineering; what happens if multiple such programs want to use the same sector, I wonder? They clearly aren't doing much checking that the sector is unused, not that that's really possible anyway. While I do not normally think that GRUB should go to any great lengths to accommodate proprietary software, this is a case where we need to defend ourselves against the predatory practices of some companies making us look bad: a relatively small number of people do enough detective work to realise that it's the fault of a particular Windows application, but many more simply blame our operating system because it won't start any more. I believe that it may be possible to assemble a collection of signatures of such software, and arrange to avoid the disk sectors they have stolen. Indeed, I have a first draft of the necessary code. This is not a particularly pleasant solution, but it seems to be the most practical way around the problem; I'm hoping that several of the programs at fault are using common "licence manager" code or something like that, so that we can address most of the problems with a relatively small number of signatures. In order to do this, I need to hear from as many people as possible who are affected by this problem. If you suffer from this problem, then please do the following: I hope that this will help me to assemble enough information to fix this bug at least for most people, and of course if you provide this information then I can make sure to fix your particular version of this problem. Thanks in advance!

26 August 2010

Sylvain Le Gall: CentOS 5 chroot with schroot

OCaml compiles native executables in static mode. It allows to have a minimal set of dependencies when delivering an executable. It has also disadvantages like the size of the executable and problems arising when considering libraries update -- but this is another topic. There is still one strong dependency that you should not forget when you want to deliver a product for most of the Linux distributions: dependency on the glibc version. Trying to run OASIS compiled with Debian Lenny, on CentOS 5.5:
$ OASIS
.../OASIS: /lib64/libc.so.6: version  GLIBC_2.7' not found (required by .../OASIS)
So when compiling for delivery, one should choose the oldest distribution he targets. In my case, I choose CentOS 5 which comes with glibc v2.5. I usually choose Debian stable at the moment of writing Debian Lenny. But for now, the Debian Lenny's glibc is newer (v2.7) than the one coming from the CentOS 5.5 stable release. CentOS is a Red Hat like Linux distribution. I use a Debian Lenny amd64 host system and I decided to setup a chroot of CentOS 5 i386 and amd64. I also setup schroot to use my CentOS chroot. CentOS 5 amd64 setup First of all we use rinse, which can setup a RPM based distribution in a chroot. The version v1.3 shipped with Debian Lenny has some bugs: it doesn't install nss and other mandatory packages. So I downloaded v1.7 directly from Debian Sid. There is no dependencies problems and the package is arch:all, so it is straightforward to install:
$ wget http://ftp.de.debian.org/debian/pool/main/r/rinse/rinse_1.7-1_all.deb # Replace ftp.de.debian.org by your preferred Debian mirror
$ dpkg -i rinse_1.7-1_all.deb
Then I create the chroot directory and launch rinse:
$ mkdir /srv/chroot/centos5-amd64
$ rinse --arch amd64 --distribution centos-5 --directory /srv/chroot/centos5-amd64 # N.B. you must use --arch, the default is i386
Once installation is complete, you can add an entry for this distribution in /etc/schroot/schroot.conf:
[centos5-amd64]
description=Centos 5 (amd64)
location=/srv/chroot/centos5-amd64
priority=3
users=XXX
groups=
root-groups=root
type=directory
run-setup-scripts=true
run-exec-scripts=true
Replace XXX by your login. If you try to login directly, you will get warnings:
$ schroot -c centos5-i386
I : [chroot centos5-i386-a952de23-7f4b-4bae-a9b9-752ecee4a185] Ex cution de l'interpr teur de commandes initial :  /bin/bash 
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
This is a bit misleading because the real problem is that nothing is created in /dev/. CentOS delegates creating char/block devices to udev. You have two solutions to solve this issue:
$ MAKEDEV random
$ MAKEDEV console
$ MAKEDEV zero
$ MAKEDEV null
$ MAKEDEV stdout
$ MAKEDEV stdin
$ MAKEDEV stderr
$ rsync -av /srv/chroot/lenny-amd64/dev/* /srv/chroot/centos5-amd64/dev/
That's it, you now have a functional chrooted CentOS 5 environment:
$ schroot -c centos5-amd64 cat /etc/redhat-release
I : [chroot centos5-amd64-b9bae264-285b-4d17-a046-13386736cecd] Ex cution de la commande :   cat /etc/redhat-release  
CentOS release 5.5 (Final)
CentOS 5 i386 setup To setup an i386 environment, we follow almost the same scheme, except we need to fix a bug in rinse v1.7: we need to call linux32 before executing chroot. The problem is that the first stage installation of rinse install an i386/686 environment but as soon as you call chroot yum install ..., it will guess that the system is amd64 and will install missing packages. See the Debian bug report and the example patch attached to correct this behavior. WARNING: this patch is just an example, you can apply it for creating CentOS i386 chroot on Lenny amd64 host but you should remove the patch as soon as the installation is complete.
$ mkdir /srv/chroot/centos5-i386/
$ rinse --arch i386 --distribution centos-5 --directory /srv/chroot/centos5-i386 # With /usr/lib/rinse/centos-5/post-install.sh patched 
$ rsync -av /srv/chroot/lenny-i386/dev/* /srv/chroot/centos5-i386/dev/
Add this distribution to /etc/schroot/schroot.conf:
[centos5-i386]
description=Centos 5 (i386)
location=/srv/chroot/centos5-i386
priority=3
users=XXX
groups=
root-groups=root
type=directory
run-setup-scripts=true
run-exec-scripts=true
personality=linux32
You now have a schroot of CentOS 5 i386:
$ schroot -c centos5-i386 cat /etc/redhat-release
I : [chroot centos5-i386-9acafa91-9862-4488-aaef-4ab2a482771e] Ex cution de la commande :  cat /etc/redhat-release 
CentOS release 5.5 (Final)
Happy schroot hacking!

Next.

Previous.