Signed Personal Debian Repository

Hi all,

That was long, but here is my signed debian repository !

Investigations:

  • Debian Repository HOWTO mostly describes trivial repository setup.
    After some trial it appeared to me that trivial repositories cannot be signed (well at least will not be verified by atp)
  • mini-dinstall does basically only trivial repository to.
  • This article about Unofficial Debian repository describe a setup with debarchiver however this has special user, cronjob… it seamed quite complex to me
  • Basically what I wanted was like a trivial repository but secured, and the solution was on the debian wiki, it first confirm that trivial repository are not compatible with apt-secure. And it give the solution:

    Even with an “official archive”, you can create a much simpler archive than the real official one. This is explained in Debian Reference (lenny) using apt-ftparchive in apt-utils and dupload. All uploaded packages are located in a directory and no database server is needed. This may be good enough for people hosting a few packages.

Well this was good enough for me, also I’m currently not using dupload but I put the commands suggested as postupload in a script.
The update script, apt-ftparchive configuration and pgp public keys are on the root of the repository.

to use it:

#add in source.list
deb http://silicone.homelinux.org/repository/ unstable main
deb-src http://silicone.homelinux.org/repository/ unstable main

#for gpg signature verification get siliconerepositorykey.asc
# sudo apt-key add siliconerepositorykey.asc

The actual content of the repository is currently just one program: a hacked xrootconsole with ANSI color support, but this will be the subject of a next post 😉

netsed

An old hack (2 years old  according to my subversion db !!)

This started with my 5.1 Yamaha audio amplifier, this device has network access to listen to netradios directly ! I wanted to hack it to play a personal netradio.

I configured my dhcp to have it report my server as gateway and used wireshark to listen how it was connecting the Internet. It appeared that the menu on the device was provided by XML streams.

I first did some DNS spoofing and placed on my apache server a fake XML file, the Yamaha amplifier couldn’t tell the difference and I could play some local mp3 files.

The next step was to have both the normal radios and some personal radios. That’s here netsed becomes useful. The idea was to filter the main menu XML to add an extra item that liks to a local XML page linking to personal radio.

I never get to the step where I setup an Icecast server however I got the extra menu working.

netsed did basically the job, but for some reason it was not closing connections to the http server so it generated several timeout errors, that’s basically what I fixed in the netsed code.

my Trac page about netsed

Vim spell-check

I long used vimspell plug-in for vim, but now, vim 7 include a spell checker !

To enable:

:setlocal spell spelllang=en_us

However, I’m French and by default French dictionaries are not installed on debian, so

mkdir -p /tmp/vimspell
cd /tmp/vimspell
wget http://ftp.vim.org/pub/vim/runtime/spell/fr.utf-8.sug
wget http://ftp.vim.org/pub/vim/runtime/spell/fr.utf-8.spl
wget http://ftp.vim.org/pub/vim/runtime/spell/fr.latin1.sug
wget http://ftp.vim.org/pub/vim/runtime/spell/fr.latin1.spl
sudo cp * /usr/share/vim/vim71/spell

and that’s it :setlocal spell spelllang=fr works!