Category: Techie stuff

  • D-Bus system services for print queues

    Further to the recent work on replacing hal-cups-utils, I’ve now split out the parts that use CUPS into a D-Bus system service. This allows udev to simply call the D-Bus methods and let the activated service deal with the potentially time-consuming bits. It also makes it a bit easier to get the SELinux security labelling…

  • Re-writing hal-cups-utils to avoid hal

    The program that adds printer queues when a USB printer is connected is hal-cups-utils. It is a simple program that hooks into hal, the hardware abstraction layer, and adds/enables/disables CUPS queues as necessary. As hal will be going away shortly — that, and the fact that hal-cups-utils doesn’t really work very well — I have…

  • Profiling Python

    Yesterday I spent a little bit of time improving the speed of adding a new printer using system-config-printer. The main problem was that several bugs had conspired to make it search for all printer drivers three times instead of just once (oops). After fixing that I tried profiling it to see what was taking the…

  • Generating ChangeLog files from commit logs

    I love git, but I also loved ChangeLog files and git is not so good at merging them. For a while I played around with gnulib‘s git-merge-changelog which made merges really easy. It worked fairly well, but now I’m bored of documenting my changes twice, both in the ChangeLog file and in the git commit…

  • One PDF implementation down (many to go)

    Recently I updated CUPS in Fedora 9 and 10 to version 1.3.10. One big change in CUPS 1.3.10 is in the filter for converting PDF documents to PostScript: it has been completely reimplemented. This sounds like a lot of work but in fact it is now a very simple wrapper program.