Virtual Images
NOTE: This is still in planning stage - nothing concrete has come out of it yet. You can help make it happen
For many open source developers who work on their spare time on projects (just like we do), it's not always easy to test the software on all available systems out there. Most software just gets tested on the developers machine, which typically contains bleeding edge software, libraries from various svn/cvs repositories etc.
This setup seldom represents what end users have, so there has for a long time floated around an idea in the Autopackage project to provide VMWare images of various Linux distributions so that developers can test their software on. While strictly not Autopackage related, these images could also be used to create native packages for these distributions (Hey, we have to change the world one step at a time and some people still prefer native packages :-))
While VMWare is not free software, it is available free of charge and is very easy to use. In the future, we may not want to limit us to only vmware, but for now, lets focus on the main task - to make testing on various platforms easy.
VMWare can be downloaded from:
- VMWare Player - This is all you need if you're just gonna run images created by someone else.
- VMWare Server - This package is slightly more advanced and lets you create new images and more. It requires a (free) registration before it can be used.
Image Contents
This is not strictly defined yet, but my idea is that each image should come pre-packaged with the necessary tools to make testing and packaging easier. Maybe:
- The autopackage development environment, checked out anonymously from svn trunk and installed using 'setup'. To make it easier to upgrade to latest trunk code.
- The GTK/GNOME and QT development files.
- Any other base development tools:
There's a flip side of this coin. End users typically don't have all these development tools installed which makes the image not accurately represent their system. I'm not sure if this is a big deal or not, but we may wanna consider providing 'testing' images and 'development' images. It all depends on how we solve the hosting issues.
Interesting Systems
The Autopackage primary use group is Linux (hey - it's the only thing we support) so obviously Linux distributions should be our primary target. But I don't see any reason to make this a hard limit.
On the GlibcVersionsOfDifferentLinuxDistributions page, there's a (incomplete) listing of the various base libs on many linux distros. This information should be useful when deciding which systems to provide. Also, the popularity list over at http://distrowatch.com/ shows a good indication on where to target our primary focus.
My idea is to have:
- Some very old, but still used distribution. Maybe last debian release or one of the first Ubuntu versions.
- The currently most popular ones - Ubuntu, Fedora, Slackware, openSuSE.
- ... please fill in more
Legal Issues
Obviously, the images cannot contain anything that we aren't allowed to re-distribute. This means a big no-no to proprietary software and also non-free (but gratis) programs such as graphics drivers, adobe flash, etc. etc.
Many distros today makes it very easy to install these, and we must take care to make sure any images we provide are free of them!
Hosting
This is the hardest issue to solve. My and Taj has discussed a bittorrent solution, but we would still need some server that's running 24/7 which can host both the torrent and a full copy of the image. It is ok if the download speed is not high, but the images should always be available even when no users or autopackage developers are seeding.
Images can be gzip'ed pretty well, but sizes will probably reach a GB per image anyway.
