New packages in Debian 8.0 Jessie

[I liked the #newinwheezy effort for the last Debian release, so I tipped Mika off about it again this time]

A short post about what is #newinjessie, Debian's new 8.0 Jessie release. See Mika's debian-devel post for more information.

For this release cycle, I have uploaded two new packages:

  • dtv-scan-tables - Digital Video Broadcasting (DVB) initial scan files
    • This is a new package which splits out the DVB initial scan files from linux-dvb-apps (see below). This is designed to make updating of the scan files easier.
  • git-remote-hg - bidirectional bridge between Git and Mercurial
    • This is a new package which allows a Git client to read and write to Mercurial repositories. Previously provided as an example in the Git package until removed by upstream.

I've also have taken over as (co-)maintainer of some existing packages during this release cycle:

  • linuxtv-dvb-apps - Digital Video Broadcasting (DVB) applications
    • New upstream snapshot, split out DVB initial scan files into dtv-scan-files package (see above), enable hardened buildflags.

I've updated nearly all of my existing packages during this release cycle:

  • dhex - ncurses based hex editor with diff mode
    • New upstream release, various packaging fixes.
  • lcd4linux - Grabs information and displays it on an external lcd
    • New upstream snapshot, add systemd service file, install dummy config file which resolves issues on certain upgrades.
  • libconfig - Parsing and manipulation of structured configuration files
    • New upstream release, various packaging fixes.
  • nyancat - nyancat is a program to display an animated poptart cat in your terminal
    • New upstream release; Nyancat now resizes to fix the terminal!
  • transmission-remote-cli - ncurses interface for the Transmission BitTorrent daemon
    • New upstream release, support new versions of Transmission, various bug and packaging fixes.
  • wavemon - Wireless Device Monitoring Application
    • New upstream release, various bug and packaging fixes, fix FTBFS on arm64.

The following package received no updates during this release cycle due to a combination of no upstream releases and the existing package already being in good shape:

  • figlet - Make large character ASCII banners out of ordinary text

I hope you find them useful. Enjoy!

NCurses Internet Radio Player

Since moving house last year, I've found myself unable to receive Saorview (Irish DVB-T) using an indoor aerial (my new house is about 10km further from the transmitter). This was previously my primary way of receiving the RTÉ Radio stations when working on my desktop. I have a high gain wideband antenna in the attic which works great, but with no neat way to get a cable to my desktop, this is unfortunately not an option..

I had a look around for terminal-based internet radio players but could find none packaged within Debian, which I found a bit surprising. I came across pyradio, but I found it a bit clunky. Nevertheless, it is still an improvement on RTÉ's horrible Flash-based web player. I figured I could do better, and remembered VLC's nifty NCurses interface; which is ideal for my requirements.

I've collated the IceCast m3u streams from RTÉ and other Irish stations into a XSPF playlist and placed it on Github. By opening this playlist within VLC, we get a pretty clean terminal interface for playing my radio stations:
vlc -I ncurses --no-color /path/to/radio_playlist.xspf

2015-04-24-013126_461x431_scrot

Git remote helpers

If you follow upstream Git development closely, you may have noticed that the Mercurial and Bazaar remote helpers (use git to interact with hg and bzr repos) no longer live in the main Git tree. They have been split out into their own repositories, here and here.

git-remote-bzr had been packaged (as git-bzr) for Debian since March 2013, but was removed in May 2014 when the remote helpers were removed upstream. There had been a wishlist bug report open since Mar 2013 to get git-remote-hg packaged, and I had submitted a patch, but it was never applied.

Splitting out of these remote helpers upstream has allowed Vagrant Cascadian and myself to pick up these packages and both are now available in Debian.

apt-get install git-remote-hg git-remote-bzr

HP Firmware Updates (or lack thereof)

HP recently announced that they are no longer offering free firmware updates for their ProLiant line of servers.

I have a HP ProLiant G7 N36L MicroServer at home (running Debian stable, naturally) which I got back in early 2011. While it has, and continues, to serve me well, I'll have to reconsider my options when I go looking for a replacement. This is a pity because I really like the MicroServer form factor.

As recently as November 2013, HP released a BIOS update to fix random lockups when installing Windows 8.1/2012 R2 on a MicroServer (I'd never ever be running these operating systems, but the point still stands). I'd be worried if I couldn't upgrade my system for fear of uncovering a bug in firmware that I couldn't get an update for.

Non-free firmware is bad, but in certain circumstances, it can be tolerated. Non-free firmware behind a paywall is worse, and can never be tolerated.

DVB-T on Linux using DVBStreamer

I've tried most of the DVB streaming solutions for Linux, including VDR, MuMuDVB, DVBBlast, dvbstream, DVBStreamer, GNOME DVB Daemon. I've only managed to find one that does this well though, which is DVBStreamer.

Getting started with DVBStreamer is pretty easy. First of all you need a DVB adapter that works with Linux. I use a USB ITE IT913x-based adapter, which works well for me.

Once you have a compatible package, you need to install necessary (Debian/Ubuntu) packages:
apt-get install dvb-tools dtv-scan-tables dvbstreamer vlc

Use the scan tool to create a DVB channel configuration file using the DTV initial scan file for your nearest transmitter. I'm based in Dublin, Ireland, so I've used my nearest DVB-T transmitter, Three Rock in this example:
scan /usr/share/dvb/dvb-t/ie-ThreeRock > /tmp/channel.conf

Once you have your channel.conf file, you can pass this to setupdvbstreamer which creates the necessary DVBStreamer config files:
setupdvbstreamer -t /tmp/channel.conf

Create a startup file to auto tune to LCN 2 to on startup and output some useful DVB-T information. LCN 2 currently corresponds to RTÉ Two HD on Saorview:
printf "set udp://localhost:1234\nselectlcn 2\nfeparams\nfestatus\nstats\nlslcn\n" > ~/.dvbstreamer/dvbstreamer.conf

Now you can start DVBStreamer using the following:
dvbstreamer -f ~/.dvbstreamer/dvbstreamer.conf

DVBStreamer is now streaming over UDP to localhost:1234. You can view this using vlc:
vlc udp://@localhost:1234

I don't like keeping a terminal open just to run DVBStreamer, so usually I start it in daemon mode by passing '-f -d' at startup, and control it using the remote interface to control instead:
telnet localhost 54197