Monday, March 15, 2010

Alternative Unix Software Installation Methods

In one of my education classes this trimester we are getting to play with wonderful pieces of technology called "SMART Boards" Essentially a SMART board is an interactive white board, they are typically used in classrooms or occasionally in business meetings (if you have never played with one before I highly recommend you check them out, very fun). At any rate - we all know that hardware is fairly useless without good software to make it function properly.

My teacher informed us the first day of class that the school would provide us with copies of the SMART software so we would have a chance to learn to use the SMART board fully. I'm been using Linux for some time now and I'm going to be honest, when I heard this I thought to myself "Well there is one more thing I'll have to run through Crossover or boot up the VM to use."

What can I say: I'm a cynic at heart.

As such I was pleasantly surprised when I navigated my way to SMART's website and discovered a fully cross-platform application set for interacting with the SMART board. When I clicked through to the download page for the latest version of the SMART software I found a single package download link for Linux. Again being a cynic at heart I was expecting to have to go through something like this again once I opened that tar.gz package. After the 22megish file archive finished downloading, I extracted the contents and much to my surprise I was greeted by a single file with the extension ".package" Curious, I had never seen a file with this extension before. Being a "jump in with both feet first" type person when it comes to technology I gave the file a double click, doing so caused Ubuntu to greet me with a message I had seen many times before: "The contents of this file appear to be an executable text file what would you like to do?" I went ahead and selected "run contents in terminal".

All I have to say is: Man was I blown away.

What proceeded to run on my computer was quite possibly the most seamless non-distro specific package installation I have ever experienced. While the installer worked it's magik I did a quick search on the Linux Answer Machine as to what exactly this ".package" file was. I found it was created by a packaging system called "Autopackage"

Autopackage is a distro neutral method of packaging up software for distribution to the Linux platform. It provides a sleek GUI for doing so and even installs itself from the first .package file you run on your system. Autopackage is designed to install and manage non-core libraries and software on Linux systems with ease. Upon further research I discovered that the Autopackage project had been around for some time now.

Wait, there has been an easy method of packaging software for any Linux Distribution and I have just now discovered it some years after it's creation? Why is that? Something must be wrong with it or defective for this to be the case, right?

Unfortunately this is one of those more gray Yes and No. Type answers.

On the yes aspect, Autopackage works - and works well. It allows a software developer to only have to maintain a single package (or two if they want to support 64bit platforms) and rest assured that it will work regardless of the Linux environment of the user. It makes software installation on Linux as seamless as it is on the Windows platform - which is something Linux needs if it is going to gain support from commercial software developers.

On the no end of the answer, many Linux users will point out that installing something through Autopackage means that the software installation circumvents your distro's package management system. Meaning said installed software will need to keep track of it's own updates (Autopackage keeps track of the software's components for removal purposes).

Now, perhaps you like the idea behind Autopackage, but you don't care for how it handles certain things. There must be some other choice out there for a universal Linux software installer right? Of course there is! The "MojoSetup" installer allows for a similar easy package installation method for Linux software. The two most notable differences between the two are that Mojo relies on each package to keep track of it's own files for removal purposes while Autopackage provides a central location for managing all things installed from .package files. This fact leads to the other difference about the two. Autopackage needs to install itself before it can function on your system, MojoSetup runs fully from the install .bin/.sh file and does not need to install any additional components on a user's system to function. While the second of these is really a minor detail for most people I feel it is worth mentioning.

Finally I would like to mention two other alternative application installers for Linux. Zero Install is a net-based method for running applications on your computer without having to actually install the application itself and Klik is a method of compiling packages into a compressed archive that can later be mounted and run again without any installation.

Know of another piece of (non-package manager) software that enables a distribution neutral, friendly, application installation that I didn't mention here? Drop a comment below so I can check it out!

~Jeff Hoogland

11 comments:

  1. What the software should instead do is build and install a package for your specific system, so it would still use your package management software.

    ReplyDelete
  2. Smart Package Manager http://labix.org/smart

    ReplyDelete
  3. This article smells of a marketing attempt for SMART's products. 30 Day trials require signing up.

    ReplyDelete
  4. Sorry for it sounding like a plug... The SMART board really is good hardware/software though, take a look around the blog - I talk about a lot of different things :)

    ~Jeff Hoogland

    ReplyDelete
  5. Unfortunately, you picked a bad example. I have a Smartboard and use it daily in my classroom with Ubuntu 8.0.4. I can not use it with anything newer or with 64 bit. Here are the specs from: http://www2.smarttech.com/st/en-US/Support/Downloads/Notebook+IV/NIVv95Linux.htm

    Pentium II 450 MHz processor
    128 MB of RAM (256 MB recommended)
    20 MB of free hard disk space
    Linux kernel version 2.6 (or later)
    X Windows version 11 release 6 (X11R6) or later that supports XRENDER and Xinerama
    glibc 2.3.3 (gcc 3.4.2)
    libstdc++6
    Gnome 2.8.0+ or KDE 3.3+ libraries (recommended)
    SUSE 10, Red Hat Enterprise Linux 4 WS, Debian 3.1 (Sarge), Ubuntu 6.06 LTS or Fedora Core 3+

    I had to roll GCC back just to get it running. The Wacom drivers almost match this board with a simple xorg.conf mod. Next time, I will just use a Wii remote and a Bluetooth dongle.

    From my corrospondance with Smarttech's support for Linux:

    Sent: Monday, May 26, 2008 11:38 AM
    To: --------------

    Hello ----,

    This is SMART Technologies here to follow up with the inquiry you raised with us and then called in to follow up on with us. At the end of that call I had promised I would try to grab some information from the other associated departments and contacts. I apologize for the duration it took to actually get this information, but here is the official word from the des and product team lead.

    Ubuntu 8.0.4 just came out of the Beta stage and some users have had problems with the SMART Boards connecting. Since we have not tested it officially, we cannot support it. Nor is our software 64 bit compatible. We have had so little demand for 64 bit support, it has been placed at the bottom of the priority list.

    What I would suggest doing is try installing the SMART Board Software within a 32 bit "chroot" environment; this is the best way to get the SMART Board Software working with a 64 bit processor.

    As for ./configure – the answer is “No, it will not happen” as our software is not open source and we won't hand out the source code for the user to compile. This is why it is within the .package format. Sure it would be nice, but that’s not the way it works (again, it's not open source).

    Information has been passed to the developers that Ubuntu 8.04 is not friendly with the Linux version of the SMART Board Software and they may look into addressing it; however since the version 10 for Linux is coming up within a few months, I highly doubt they would fix the old version to support a brand new distribution.

    If you have any further questions or concerns, please contact us again.

    SMART Technologies
    Randy Tran
    Technical Support
    Phone: +1 (1) 866.518.6791
    Fax: +1 (403) 806.1256
    http://www.smarttech.com
    Preview the SMART Learning Marketplace – a world of resources at your fingertips.
    http://www.education.smarttech.com/ste/en-US/Ed+Resource/Learning+Marketplace/default.htm

    ReplyDelete
  6. Have you tried the SMART 10 software with newer versions of Ubuntu? I'm running it on my 32bit 9.10 fairly well.

    ~Jeff

    ReplyDelete
  7. These files have been around for years - the quake2, quake3, mechwarrior, sof, and other games from Loki publishing used .run files which are essentially shell scripts with a tar file appended to the end of it.

    ReplyDelete
  8. Jeff,

    Thanks for the reply. I have Actalyst 9.x.x.x drivers running the board. When Ubuntu 10.4 LTS comes out I may try the new drivers. Since this is a production machine, it will have to wait until classes let out in June.

    Sincerely,

    Paul

    ReplyDelete
  9. Same as the nVidia drivers, it uses a program called makeself...

    ReplyDelete