Tasky on Foresight 2
Tasky is a new task management application for the GNOME desktop. Written by Boyd Timothy and Calvin Gaisford, Tasky features syncing with Remember the Milk, but doesn’t feature the ability to use RTM tags yet. Tasky is a great way to help implement and use Getting Things Done.
I went on the adventure last night of packaging Tasky for Foresight 2 in my personal repository on rBuilder, the first package I’ve added to my own repo. After some initial hiccups with my build setup, the light bulb finally went off and I think I’ve finally figured out Conary contexts after all this time. I can’t thank Ken enough for all his help last night, from figuring out my setup to troubleshooting the rMake logs on what dependencies Tasky was missing.
Building packages using Conary is, on one hand, at times frustrating, but on the other hand, exhilarating when it finally works. And though I may say frustrating, I packaged up 4-5 Ubuntu .debs before I switched to Foresight a year ago, and Conary is still ten times easier (at least).
I started with my recipe, this is the final version:
`
#
Copyright (c) 2007 Paul Cutler
This file is distributed under the terms of the MIT License.
A copy is available at http://www.rpath.com/permanent/mit-license.html
#
class Tasky(AutoPackageRecipe):
name = 'tasky'
version = '0.1.3'
buildRequires = ['GConf:runtime', 'banshee:lib', 'desktop-file-utils:runtime',
'f-spot:lib', 'gettext:runtime', 'gnome-sharp:devellib', 'gtk-sharp:cil', 'gtk-sharp:devellib',
'gtk:runtime', 'mono:cil', 'mono:devel', 'mono:runtime', 'ndesk-dbus:cil', 'notify-sharp:devellib', 'ndesk-dbus:devellib',
'ndesk-dbus-glib:devellib',
'perl:runtime', 'pkgconfig:devel', 'intltool:runtime', 'ndesk-dbus-glib:cil', 'notify-sharp:cil']
def unpack(r):
r.addArchive('http://tasky.googlecode.com/files/tasky-0.1.3.tar.gz')
`
When I first cooked it, I didn’t have any of the buildRequires listed. cvc cook kicked back the recommendations it had to add to buildRequires, and I added them. I was then given a changeset file I was able to install using Conary. And Tasky worked! The first time you run it, and choose RTM, it will open RTM in your browser, and ask you to authorize the application. After that, I had a Tasky icon on my panel, and opening Tasky I was presented with all my tasks that I’ve entered into RTM (which I need to update). Choosing the Foresight tag, I saw:
Very pleased with myself, the next step was to rMake Tasky, and commit to my repo. However, rMake would fail. Ken showed me what to look for in the rMake log, and the Conary command to find the missing package and add to my buildRequires in the above recipe. This was the frustrating part, as it became trial and error. rMake would tell me I was missing a package, I’d figure out which one, and then rMake again (And usually pinging Ken for more help). After running rMake seven times and adding the missing dependencies, the 8th time worked, and Tasky was created by rMake in it’s chroot. The pride and excitement you feel when it works is quite the rush.
I then did a rMake commit, and now anyone can install Tasky for testing, and I committed x86 and x86_64 versions. From a command line in Foresight 2, type:
sudo conary update tasky=silwenae.rpath.org@fl:2-devel
Leave your feedback on how it works for you!
Tasky also features a Tomboy plugin, but I’m not an advanced enough developer to even think about how I would go about patching Tomboy to make it work. More information on the Tomboy patch and plugin at the bottom of Boyd’s blog post.
Now it’s time to make sure my Tasks are up to date.