Stefano Zacchiroli: Bug Squashing Party: Paris 2010 - October 30-31
A Bug Squashing Party, of course! Therefore please welcome:
to be run during Paris mini-DebConf
Stefano Zacchiroli
| Phone | Resolution | Screen Size (inches) | Camera Resolution | Notes |
|---|---|---|---|---|
| Motorola Milestone | 854*480 | 3.7 | 5MP | |
| Motorola Droid | 854*480 | 3.7 | 5MP | |
| LG VS 740 | 800*480 | 3.2 | 3.2MP | no GPS or compass |
| Lenovo LePhone | 800*480 | 3.7 | 3MP | no GPS or compass |
Origin: DebianObviously you should adapt at least the Architectures line to whatever you need. Otherwise adapt what you need.
Label: Debian-All
Suite: stable
Codename: lenny
Version: 5.0
Architectures: i386 amd64
Components: main
Description: Debian Lenny
deb file:/var/lib/fai/config/packages lenny main contrib non-free
$ROOTCMD ainsl /etc/apt/sources.list "deb file:/var/lib/fai/config/packages lenny main contrib non-free"This should add the repository the sources.list in the /target and run apt-get update.
$ROOTCMD apt-get update
Debian 6.0 squeeze will be the first GNU/Linux distribution release ever to offer comprehensive support for magnetic resonance imaging (MRI) based neuroimaging research. It comes with up-to-date software for structural image analysis (e.g. ants), diffusion imaging and tractography (e.g. mrtrix), stimulus delivery (e.g. psychopy), MRI sequence development (e.g. odin), as well as a number of versatile data processing and analysis suites (e.g. nipype). Moreover, this release will have built-in support for all major neuroimaging data formats.
Please see the Debian Science and Debian Med task pages for a comprehensive list of included software and the NeuroDebian webpage for further information.
NeuroDebian at the Society for Neuroscience meeting 2010
The NeuroDebian team will run a Debian booth at the Society for Neuroscience meeting (SfN2010) that will take place November 13-17 in San Diego, USA. The annual meeting of the Society for Neuroscience is one of the largest neuroscience conferences in the world, with over 30,000 attendees. Researchers, clinicians, and leading experts discuss the latest findings about the brain, nervous system, and related disorders.
If you are a Debian enthusiast (developer, contributor, evangelist) and reside near San Diego (or have time and funds for travel/lounge), or already planing to attend SfN 2010, please help us to make the Debian booth at SfN shine. Please contact the NeuroDebian team at team@neuro.debian.net
If you are going to SfN2010, come talk to us at booth #3815.
Michael Hanke and Yaroslav Halchenko
A conffile is a configuration file managed by dpkg, I m sure you remember the introductory article about conffiles. When your package stops providing a conffile, the file stays on disk and it s recorded as obsolete by the package manager. It s only removed during purge. If you want the file to go away, you have to remove it yourself within your package s configuration scripts. You will now learn how to do this right.
When is that needed?
dpkg errs on the side of safety by not removing the file until purge but in most cases it s best to remove it sooner so as to not confuse the user. In some cases, it s even required because keeping the file could break the software (for example if the file is in a .d configuration directory, and if it contains directives that are either no longer supported by the new version or in conflict with other new configuration files).
What s complicated in rm ?
So you want to remove the conffile. Adding an rm command in debian/postinst sounds easy. Except it s not the right thing to do. The conffile might contain customizations made by the administrator and you don t want to wipe those. Instead you want to keep the file around so that he can get his changes back and do whatever is required with those.
The correct action is thus to move the file away in the prerm, to ensure it doesn t disturb the new version. At the same time, you need to verify whether the conffile has been modified by the administrator and remember it for later. In the postinst, you need to remove the file if it s unmodified, or keep it under a different name that doesn t interfere with the software. In many cases adding a simple .dpkg-bak suffix is enough. For instance, run-parts ignore files that contain a dot, and many other software are configured to only include files with a certain extension say *.conf. In the postrm, you have to remove the obsolete conffiles that were kept due to local changes and you should also restore the original conffile in case the upgrade obsoleting the conffile is aborted.
Automating everything with dpkg-maintscript-helper
Phewww that s a lot of things to do for a seemingly simple task. Fortunately everything can be automated with dpkg-maintscript-helper. Let s assume you want to remove /etc/foo/conf.d/bar because it s obsolete and you re going to prepare a new version 1.2-1 with the appropriate code to remove the file on upgrade. You just have to put this snippet in the 3 relevant scripts (preinst, postinst, postrm):
if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
dpkg-maintscript-helper rm_conffile /etc/foo/conf.d/bar 1.2-1 -- "$@"
fi
You can avoid the preliminary test if you pre-depend on dpkg (>= 1.15.7.2) or if enough time has passed to assume that everybody has a newer version anyway. You can learn all the details in dpkg-maintscript-helper s manual page.
I hope you found this article helpful. You can follow me on Identi.ca, Twitter and Facebook.
| Publisher: | Prentice Hall |
| Copyright: | 2006 |
| Printing: | October 2009 |
| ISBN: | 0-13-187248-6 |
| Format: | Trade paperback |
| Pages: | 1461 |
Last night, I released xen-tools 4.2 and also uploaded it to Debian Unstable. It also should
become part of the upcoming Debian stable release called Squeeze.
(Thanks, Mehdi!)
For those who are missing xen-tools in Ubuntu 10.04 Lucid Lynx
or Ubuntu 10.10 Maverick Meerkat, there s now a xen-tools
PPA containing the current stable package for both Ubuntu
releases.
Major changes since the 4.2 release candidate 1:
apt-config to parse Dom0 s
apt.conf. (Closes #560011)--verbose, the output of commands called by
xen-tools (e.g. debootstrap) is not only logged, but also printed
to STDOUT. (Closes #513126)
Many people know Ultimate Debian Database already, and do use of it to create useful QA tools, or other Debian related activities. There is another database which is widely used by all of us, every day, and runs behind the scenes without being noticed. It is called projectb, the huge database of the Debian archive.
projectb is the place where dak stores all the information it needs to run the archive (including but not limited to source packages, related binaries, suite definitions and associations, overrides, and so on), and it tells dak to hit you with a REJECT if you try to upload a package twice, or if you do something The Wrong Way. OK OK, it eventually allows your packages to be accepted too, sometimes it also behaves good psql -d projectb -p 5433
Now that you have access to it, you could want look at its structure to start looking at it. I just provide a couple of trivial examples of what you can do with it, your imagination is the limit [2] SELECT s.source, max(s.version) AS version, su.suite_name AS suite
FROM source s
JOIN src_associations sa ON sa.source = s.id
JOIN suite su ON su.id = sa.suite
WHERE s.source = 'dpkg'
GROUP BY s.source, su.suite_name
ORDER BY version;
This query displays changelog entries for debhelper which versions are greater than 8:SELECT changelog
FROM changelogs
WHERE source = 'debhelper'
AND version > '8';
Working with projectb means working with real Debian archive data, so you are sure to always get solid information.
You can also experience a limited (but functional) dak session on merkel. You cannot do much, data is read-only, but this is not a limit for a couple of commands. The most interesting is dak rm, where you can simulate a package removal, and discover reverse dependencies in advance, to save some work to your lovely FTP Team dak rm -n -R -m "Don't worry, it's a Dry Run" your_behated_package
Wait a little bit, and you will be prompted with removal report. Just remember to always use -n and -R flags, though.
Want even more? Join FTP Team, and you will given the chance to learn a lot more about Debian!
DISCLAIMER: if you plan to write a tool, or perform an activity which relies on current projectb implementation, PLEASE TALK TO FTP TEAM FIRST. Internal structure can change a lot over times, and it is way better let FTP Team to handle exporting/parsing its data for day-by-day tasks.
[1] This is probably supposed to change, as merkel is going to be decommissioned soon.
[2] If you need a new feature, just talk to FTP Team.
I had this topic in mind for quite a long time, but it got more recently more attention because of discussions on gammu-users mailing list. Gammu should use some library for do basic stuff like strings or date manipulations, logging and so on.
The reason is that having own implementation of all that is not really useful and just source of another amount of bugs. Currently mi intention is to use GLib, simply because I don't know any C alternative (though there are probably lot of C++ cross platform libraries).
Of course the biggest question is how to make the change, because it will be obviously intrusive and making such big changes will probably lead to several months of work without really making another release. Even if it will be done on separate branch (what would be most likely the case), developers will spend most of time on this issue and not much time will be spent on bug fixes (and backporting them).
Filed under:
Coding
Gammu
2 comments
It s often said that KDE and GNOME are too bloated, too complex, too slow, or whatever. I won t deny that these critics are often justified, and some parts of the code are badly designed. But there can also be reasons behind this bloat: they are called features.
When you want to mount an encrypted USB disk, you can write your own script and even write your own udev rules so that it can be mounted with autofs.
It looks fun to find a way to use software that has been obsolete and useless for 10 years, in a way that requires administrator rights just to add a new model of USB disk to your system, and puts the private key in a place that is readable for anyone stealing the hardware. But while it will turn out as an interesting read for those willing to understand how the device mapper and cryptsetup work, I think it s a bit abusive to present it as a correct implementation of an encrypted disk mounting setup.
Discover gnome-disk-utility
In etch, GNOME shipped with pmount, a nice utility, still included in Debian, that allows to mount your keys, encrypted or not. In lenny, it shipped with HAL, and allowed to store LUKS passphrases securely in the GNOME keyring. Whenever you plug a LUKS-encrypted disk on a lenny system running GNOME, it is immediately made accessible, and that s all.
In squeeze, things go much farther thanks to udisks (the backend) and gnome-disk-utility (the frontend). Roland rightly pointed out that the g-d-u documentation is nonexistent - it consists only in a screenshot, which is outdated. Nevertheless, you will find it practical if you want to encrypt a USB drive, since you can format it, partition it, create encrypted volumes and the filesystems on them, in a few clicks and without root permissions. If you use nautilus, it will also mount them automatically using the same backend when you plug them.
I don t know for you, but I think it is worth a few CPU cycles of my 3GHz processor and a few dozen megabytes of my 500GB drive.
Proposed timeline of the Release TeamWe hope to have sorted out all the details and resolved the remaining blockers by the end of October, with the focus during November being on translation updates, testing and coordination with different teams to prepare the new release.
This means that it s possible to have a release out in time for Christmas, but to do this we need YOUR help. Please, squash bugs, write release notes, squash bugs, support our translators and squash some bugs.
I recently invested some time to work on several cool features in Deb-o-Matic.
You have a computer. You're afraid of it being stolen by baddies or
raided by the police, so you've encrypted its hard disk with LUKS.
You also want to carry around some of your crypto keys (SSH and/or
GPG), or any kind of sensitive data, on an USB key, so you can restore
a normal activity in case the computer gets stolen or becomes
untrustworthy. You like things that Just Work, including automounting
with autofs (no GUI popups, no need to manually unmount and so on).
But of course, you can't very well just mount the drive and store your
keys on it in the clear. Well, actually you can (I did it for way too
long), but let's assume you want to do without. Because USB keys get
stolen or lost, too.
autofs just handles the mounting of the drives, not their unlocking,
and there's no hook in there specifically for LUKS. There is,
however, a more generic way of running arbitrary commands on mounting:
the program maps. It's all described in the documentation, so I'll
just paste the relevant parts of my /etc/auto.removable, with a few
comments. Remember to make it executable and reference it in
/etc/auto.master.
The astute reader will have noticed that the keys volume is mounted either read-only or read-write with the same mechanism. This volume contains SSH keys that I use quite regularly, that filesystem is going to be mounted and unmounted very often. USB keys, and flash memory in general, don't really like repeated writes. Fortunately, the SSH keys are mostly read, and very rarely written to, so I can afford to mount the partition read-only and save the write cycles for when I generate new keys (the mere action of mounting a partition read-write changes it, even if the files in it are never modified). The backups volume is mostly accessed in write mode, and much less frequently anyway, so there's no need for a distinction there. This supposes that the partitions on the USB key appear as#! /bin/sh volume=$1 autoluks () dev=/dev/$1 cryptname=$ 1 _crypt cryptdev=/dev/mapper/$cryptname keyfile=/etc/private/$cryptname.key options=$2 [ ! -e $dev ] && exit 0 if [ -b $cryptdev ] && ! cryptsetup status $cryptname grep -q device:.*$dev ; then cryptsetup remove $cryptname logger fi cryptsetup --key-file $keyfile luksOpen $dev $cryptname logger [ -b $cryptdev ] && echo $options :$cryptdev true case "$volume" in # LUKS-encrypted volumes lacie-keys) autoluks lacie-keys -fstype=ext4,ro,noatime,nodev,noexec,nosuid ;; lacie-keys-rw) autoluks lacie-keys -fstype=ext4 ;; lacie-backups) autoluks lacie-backups -fstype=ext4 ;; # Non-encrypted volumes cd) echo -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom ;; floppy) echo -fstype=auto,sync,nodev,nosuid :/dev/fd0 ;; esac
/dev/lacie-keys and /dev/lacie-backups. Due to the dynamic naming
of devices, you may like to use rules similar to the following in
/etc/udev/rules.d/local.
You'll also need to initialize LUKS on the partitions, save the key, make the filesystems, and so on. If you're still with me, you probably know what I'm talking about, then I don't need to explain about that. This setup works for me, but there's no guarantee and so on. Based on a tutorial found on the Debian Administration website (great resource, by the way). Update: I'm told a large part of the script could be replaced withKERNEL=="sd[a-z]1", ATTRS idProduct =="1027", ATTRS idVendor =="059f", ATTRS manufacturer =="LaCie", ATTRS product =="LaCie iamaKey", SYMLINK+="lacie-keys" KERNEL=="sd[a-z]2", ATTRS idProduct =="1027", ATTRS idVendor =="059f", ATTRS manufacturer =="LaCie", ATTRS product =="LaCie iamaKey", SYMLINK+="lacie-backups"
pmount. If you like short scripts, you may want to investigate that
too.
Update 2: Josselin points out
a different solution using
Gnome, udisks, gnome-disk-utility and Nautilus. It's worth
checking out, for those who like to run all that and click around. I
can't test it right now (Gnome/Nautilus currently refuses to mount any
USB key, for some presumably transitional reason), but I have no
reason to believe it's inherently broken. I just don't like having to
do anything when I plug my key or before I unplug it, and I'm not
always running a graphical session with a desktop.
Apple released Remote 2.0, which doesn t work with forked-daapd. We are looking into it and trying to find out what the problem is. There are also more changes needed to support Remote 2.0 properly, so this will take some time.
Remote 2.0 also introduces support for the iPad, with very different features and new requests. I don t have an iPad, so this won t be supported.
For now, you should stick to the old version of Remote (1.3.3) until we get 2.0 working, at which point we ll probably pull support for the previous version in an attempt to maintain everybody s and the codebase sanity.
In other news, I have a few changes pending that I want to get in before I cut a new release.
The lesson to learn here is that, as long as Squeeze (or any other Debian suite, FWIW) is not released, there is still a margin of variability in the software it contains. If that margin weren't there, then the suite would have been released in the first place. The point of a freeze, in Debian, is to stop package acceptance in the suite by default and undergo a thorough scrutiny of what goes in and what gets out.Such a scrutiny helps stabilize a release fixing RC bugs affecting it and improves Debian quality. You really need to thank the Release Team for such a thorough scrutiny work. In "exchange" for that, you might also want to take part in the Debian gift economy by help fixing RC bugs: do NMU if you are a DD, provide patches if you are a developer, help triaging bugs if you are a user, organize a Bug Squashing Party if you have organization skills, etc. Those are the activities that will boost the Squeeze release.
The Backports Team is pleased to announce the availability of a new suite on backports: lenny-backports-sloppy. Please read carefully before considering using or uploading to it what this entails.
The Background
You might want to ask: What's that? Let me explain it. During the etch release discussions popped up on the backports list with two clashing groups:
About Backports You are running Debian stable, because you prefer the stable Debian tree. It runs great, there is just one problem: the software is a little bit outdated compared to other distributions. That is where backports come in. Backports are recompiled packages from testing (mostly) and unstable (in a few cases only, e.g. security updates), so they will run without new libraries (wherever it is possible) on a stable Debian distribution. It is recommended to pick out single backports which fit your needs, and not to use all available backports. Thanks for reading this far, and enjoy!deb http://backports.debian.org/debian-backports lenny-backports main deb http://backports.debian.org/debian-backports lenny-backports-sloppy main
Next.