With Great Power...
One of the things that still challenges me as a long-time Linux user is dealing with source tarballs. While I have no problems with simple make and make install commands, there are times when dependency he--er, heck still drives me nuts (though, admittedly, that's not a far drive).
Such was the problem when I was faced with a new Linux computer, a couple of long trips, and a need for some mental junk food.
As some of you know, I am a long-time collector of comic books. Nothing too esoteric--some DCs, some Marvels, and a few indies. Every week I saunter into the local comic book store, get my pull list, and then happily ensconse myself these fictional worlds for a brief time. My wife induges me greatly with this hobby, likely reasoning it's better than being out at the bars all night, and I only spend a few hours a week on it.
These past few weeks, however, I knew I would be unavailable to go in to pick up my pulled titles, since I would be out in Portland at OSCON and then San Francisco at LinuxWorld. So, I decided that instead of waiting, I would download scanned copies of the titles I was going to buy, which would allow me to keep up with my indulgence and not force me to buy duplicate copies out on the West Coast. Ethically, downloading comic books is not cool, but since I was buying the books anyway, the publishers are not losing money on me.
To read online books, you need to have a media reader that handles CBZ and CBR files... these are basically specialized archive files that hold sequential images of each scanned page. One of the better applications for this media type is Comix, which I've used before on that other operating system. Comix runs on Linux, provided you can--here it comes--install from the source tarball.
After making sure my new openSUSE install had all of the right compilation tools, I grabbed the tarball and proceeded to follow the README instructions. Well, right off the bat, I discovered that I didn't have nearly the right tools for the job. So I spent some time re-jiggering the computer and getting the right toolset.
Turns out, it didn't matter. Despite running GNOME, the GTK-based reader refused to install, citing several dependency vulnerabilities. I refused to spend that much time on the problem--come on, it's comic books, for goodness' sake--but it still rankled me that my plane rides were not spent with my mental junk food.
After I got back, I decided to try something else. I'd heard quite a lot about the openSUSE Build Service, and wondered if someone else had the same problem as me with this application.
If you've not heard of the openSUSE Build Service, it's a web site and toolset that lets developers take their application files and build distribution-targeted packages for the app. And not just for openSUSE, either. Here's the list of supported distros:
- SUSE
- openSUSE 11.0
- openSUSE 10.3
- openSUSE 10.2
- SUSE Linux 10.1
- SUSE Linux Enterprise 10
- SUSE Linux Enterprise 9
- openSUSE Factory
- Debian
- Debian Etch
- Red Hat
- Fedora 8
- Fedora 7
- Fedora 6 + Extras
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 4
- CentOS 5
- Mandriva Linux
- Mandriva 2008
- Mandriva 2007
- Mandriva 2006
- Ubuntu (Includes Ubuntu, Kubuntu, Xubuntu, etc.)
- Ubuntu 8.04
- Ubuntu 7.10
- Ubuntu 7.04
- Ubuntu 6.06
For developers, this is a huge asset for getting applications more portable. Dependencies are automatically resolved and coders can even link their application to upstream projects so that if the upstream code is updated, their own packages are set to rebuild.
For end-users, the result is even more direct. All of these projects out there with tarballs have the potential to be entered into the build service and have packages created. End-users can search through the Build Service and ideally find what they need. Like I did: I found a Comix package, all set to run with the YaST package manager. A couple of clicks later, and I finally had a working Linux copy of Comix.
This is only one story in the Linux world, and I got the happy ending. But it emphasizes to me that the more paths to portable applications we have for end-users, the less obstacles there will be for Linux adoption.
Up, up, and away...


