Thu, 24 Aug 2006
Hannah is very interested in radio, and is planning to set up her own Internet radio site. I wanted to try out icecast to see whether it would be suitable. I have jotted down a few notes about how to set it up here as I couldn't see any others.
Firstly get the server and the streaming client:
aptitude install icecast2 ices2
Then edit /etc/default/icecast2 to enable the daemon, and /etc/icecast2/icecast.xml to set the passwords.
cp /usr/share/doc/ices2/examples/ices-playlist.xml .
and set the password in ices2-playlist.xml to be the stream password you set above.
Then create playlist.txt with the names of some .ogg files, one per line.
Then run as root
and test using
Hopefully this should be enough to get a stream going, and then you can configure it how you want.
Wed, 23 Aug 2006
I returned today and I had received the email I had been waiting for.
To: James Westby <firstname.lastname@example.org> From: Debian Installer <email@example.com> Date: Fri, 18 Aug 2006 07:00:09 -0700 Subject: seccure_0.2-1_i386.changes ACCEPTED Accepted: seccure_0.2-1.diff.gz to pool/main/s/seccure/seccure_0.2-1.diff.gz seccure_0.2-1.dsc to pool/main/s/seccure/seccure_0.2-1.dsc seccure_0.2-1_i386.deb to pool/main/s/seccure/seccure_0.2-1_i386.deb seccure_0.2.orig.tar.gz to pool/main/s/seccure/seccure_0.2.orig.tar.gz Override entries for your package: seccure_0.2-1.dsc - optional utils seccure_0.2-1_i386.deb - optional utils Announcing to firstname.lastname@example.org Closing bugs: 378987 Thank you for your contribution to Debian.
Thanks to those that helped me to get this in, and especially the author for a cool bit of software. He has just released a new version, so I will package that and upload it soon.
Mon, 14 Aug 2006
We hadn't really realised but some gnutls related packages are Priority: Important, and as such are due to be frozen soon for etch. There has been some upstream activity in the area recently, with several releases. Luckily the timing was really good, and the uploads made it in such that they should progress to etch quickly, without causing any trouble for the release team.
Also there has been some action from a couple of the maintainers holding up the gnutls11 and libtasn1-2 removal. This just leaves two packages, one of which the maintainer has tagged pending, and nutmeg has just upgraded the bugs to serious to try and prod the maintainers. It is possible then that removal can be requested before the release team calls the freeze that is supposed to include these packages.
gnutls13 builds a gnutls-dev package, which will make this easier in the future... until there is an API change and we have to switch back to gnutlsXX-dev and get all packages to migrate again. It is hard to know which is the better approach, but at least this way it only requires rebuilds while things stay calm.
Sat, 12 Aug 2006
The other day I decided I wanted to try out one of the more modern revision control systems. I decided on bzr as it seemed to have some features that I liked the look of. I still intend to try out darcs one day though, as it looks very interesting.
Just as I started looking at it and thinking about using it for some of my packaging work, I discovered that there was no -buildpackage for bzr. But lo, madduck filed an ITP for it. However he said that it didn't actually exist yet.
I decided I would try and help to write something, even though I have hardly ever touched Python before. It was quite easy to hack something together by looking in examples. I ended up with a plugin that worked for me to build simple packages from a bzr repository, including supporting the layout where just the debian/ dir is versioned (the mergeWithUpstream of svn-buildpackage). You can find my work here, (in a bzr branch of course). The plugin is actually called builddeb, as it seems Fedora are keen on something similar, and so we didn't want to hog the namespace. The Debian package will probably include a wrapper script named bzr-buildpackage though.
There is plenty that can be added on, for instance config files are needed, and madduck would like to include hook script capability within the branches, but this is going to take some careful thought.
I have quite enjoyed working in Python, it allows you to do things "properly" if you want, but also can be very terse. I've not grasped all of the features yet though.
Wed, 09 Aug 2006
After I got a working wireless card I was finally able to fix the xfce4-wavelan plugin. After I had ported it to the Xfce 4.4 API it stopped working on a lot of systems. I don't think that I caused this, I think it was more the recompilation against updated wireless stack in the kernel that was what highlighted it.
The fix was quite simple in the end. I looked at the source of wireless-tools, and came up with this diff.
It seems some implementations interpreted the 0 as some large number or similar, most took it to mean 0, and returned E2BIG. Setting it to the size of the returned object allowed it to work.
- wreq.u.data.length = 0;
+ wreq.u.data.length = sizeof(struct iw_statistics);
Until I get a goodies account sorted out then I will host the release at http://jameswestby.net/debian/, including some unofficial Debian packages.
[Update: I have just release 0.5.2 as well, this fixes the other bugs that I wanted to. Only one left that I know about (stats slightly wrong sometimes, but I don't know if that can be helped).]
So after I had such a problem with my rt2500 based card, I ordered an rt61 based one. It arrived this morning, and it works. Here's what I did to get it to work.
First download the cvs snapshot driver. The beta release one doesn't work, and you shouldn't try it. Untar it and go in to the Module subdir. Then run make. The make install looked a little dodgy to me, so I copied the driver across and ran depmod.
# cp rt61.ko /lib/modules/$(uname -r)/kernel/net/wireless/ # depmod -a.
Then grab the the firmware from RaLink and unzip the files in to /lib/firmware.
Then add the alias
# echo "alias ra0 rt61" >> /etc/modprobe.conf
The interface will be called ra0, so change any config files (e.g. /etc/network/interfaces) to reflect this. You should then be able to ifup ra0 and have the interface work. Good luck!
Tue, 08 Aug 2006
On my girlfriend Hannah's last night in Bristol I took her out for a meal. I wanted to do something special, so I asked around at work the night before for recommendations of really good places to eat. My friend Isla said the Boca Nova was her favorite place, so I decided we should i try it.
I had left it late, but luckily there was a table free for us. I was told it was South-American food, but I was surprised at how little influence there appeared to be. There were hints in the food, but the decor, music etc. were very subtle. They did serve Super Bock though, which I hadn't had since I was in Portugal a few years ago.
The menu was fantastic though. I have never been so spoilt for choice. I decided to start with king prawns in a lime, ginger and parsley sauce. They were absolutely delicious, the sauce was perfectly balanced with the high-quality prawns.
After that Hannah had the swordfish, which was wonderfully cooked. I meanwhile had, (I love saying this), roast duck on a bed of pancetta-infused borlotti beans, served with orange and mango sauce and red onion marmalade. The duck was cooked to perfection, and the beans were delicious. The highlight however was the sauce, which was very rich, but not over-powering, and left you wanting more after each bite.
I was surprised, as the portions that we were given were quite generous for an expensive restaurant, but they also bought out a tray of potatoes and vegetables. These were all delicious, but I couldn't eat many. This removed the feeling that I normally leave a good restaurant with; the feeling that it just wasn't enough.
Isla had insisted that I tried the Crème Brûlée. It was actually strawberry Crème Brûlée, and I'm glad that I had it even though I might not have had a desert at all. Hannah refused to have a desert, but I forced her to get the white chocolate and cardamom mousse. It was equally fantastic, and quote unexpected.
I was thoroughly impressed with the evening, and while it wasn't cheap I will definitely be returning if another special occasion crops up.
An RFP was filed for seccure, a small program allowing ECC based public-key crypto. I snapped it up and produced a package. The packaging was simple, but I enjoyed playing with the software while I was doing it.
The upstream author, B. Poettering, has been fantastic, very responsive and helpful. He even asked what features I would be interested in for the software.
He wrote it for backups, and so it is quite simple, without the keyrings etc. of gpg. It might be quite useful, and the length of the keys makes it easy to pass them around. I have put my key in my .signature for a bit of advertising. ECC is planned to be included in a future version of gpg, so seccure will stay small.
I think there is a dictionary attack on the password, and so the secret key, so you better pick a good one. My public key is
using the secp256r1/nistp256 curve.
I currently have an open RFS for the package, but I need to update it, as there is a new upstream release, including an implementation of DH key exchange.
A while ago now there was a power-cut in our area, and this took my box down quite hard. The main effect of this was that my Belkin F5D7000UK PCI 802.11b/g card stopped working. This was at a time when I was supposed to be working on the wavelan plug-in for xfce as it is currently broken.
So I started banging around trying to fix it. Here are some of the things that I tried.
- Booting in to Windows to check the card.
- Changing PCI slots.
- Recompiling kernel.
- Recompiling rt2500 driver.
- Buying a new card.
- (Accidentally) reinstalling the whole system.
None of which solved the problem. I would have thought with a completely clean system running a brand new card that was verified to work in Windows would have solved it, but I was wrong.
The failure mode was quite odd as well. No matter what I did the lights wouldn't come on. The tools (i[fw]config) thought it was up ok, but not associated, and showed the system trying to push packets through it, but with no luck.
mmassonnet on #debian-xfce/freenode pointed me to a new card that uses a different chipset/driver, the MSI PC54G3, which is supposed to work with the rt61 driver. I have ordered one of these, and hopefully I can get it running and forget about all of this.
[UPDATE: Just to note that the card was great until this happened, and was far superior to what I had before (using ndiswrapper).]
Sun, 06 Aug 2006
After a discussion on the debian-devel mailing list about having a system for unifying the way packages create SSL certificates, a couple of things became apparent. Firstly that the idea was a good one, and secondly that the existing tool that tries to do this (ssl-cert) is not good enough.
So I decided that I could do better and started writing the next generation of the tool. This version aims to have different modes of operation, and allow the system admin the choice of how certificates should be handled. As an added bonus it makes it easier for package maintainers to create and use SSL certificates.
You can see an overview of the design, and the current status of the work here. There is also the source code of the project in a bzr branch. I would welcome any comments that anyone has on the design of the project, as I am sure I haven't thought of every situation yet.
I then started work on the package, fixing all of the easy bugs while I got used to coding in Ruby. I put my patches in to the BTS, mainly so that I could tag the bug +patch, and it would be displayed differently, so that I could see which bugs still need working on. I kept the package locally in svn, and by the end had a package that fixed around 25 open bugs in the BTS.. My plan was to seek a QA upload of the package, as I didn't want to become the maintainer.
Unfortuantely the package that I had didn't tackle the RC bug. This is because the index files that apt-listbugs uses to get the status of bugs appeared to be wrong or out of date. These files live on a non-Debian server, so the DDs who had looked at the bug could not instantly see what was going on. There were proposals to move the files to a Debian machine, but this had not happened. Without access to the generation of these index files it was impossible to debug where the problem was coming from.
Then another person stepped up to adopt apt-listbugs. This was good as it seemed that he was in contact with a DD that could work out where the problem was, and was apparently rewriting the scripts to be more reliable. I was hopeful that the problem would be fixed soon.
However one problem was that the prospective maintainer said that he did not want to use my packages as a base for his work, he would pull my patches out of the BTS. In a way this is fine, and it is his choice, but at the same time it is annoying as some of my work might go to waste. Not only did I make the patches that ended up in the BTS, I did several more things that didn't have an associated bug report.
The other problem appears to be that there has been no further activity in the BTS for apt-listbugs since the O became ITA. I'm not sure how the prospective maintainer works, but I would have thought he would triage the new bugs, and send some thoughts or questions to old bugs as he is working on them. There has also been no activity on the RC bug, giving the process for interested parties, or those that are looking to squash RC bugs in preparation for etch. I understand that the DD doing this part is probably very busy though.
There is no way in which apt-listbugs can enter a stable release in its current state, as it is worse that useless, continually giving false positives. Hopefully all of this can be sorted out soon.
If you've ever been here before then you might have noticed that I have moved my 'blog to pyBlosxom. I did this as wordpress was a little large for my needs, and didn't make it this easy to create a post, meaning I was wirting less entries.
I have endevoured to keep the permalinks from my wordpress entries active for those liks that were in a couple of pages.
Now I just need to make it look a bit cleaner and I'll be happy