Hi,
I was just thinking - how many people have complained because their Linux box isn't connected to the internet, and they can't download the packages off another machine because they'll end up with dependancy problems? Well, I don't have enough experience as a programmer to work on it myself, but I've had an idea.
Ok, basically, there are two apps which go hand-in-hand.
1. A checker system, which can be compiled on any Debian-based distro with ease (this is the one which will be used on the offline box), and which will include any dependencies it itself might need;
2. The downloader tool, to be used on a box which has internet access (this app would have to be available for both Linux and Windows).
The first app is the one you should use primarily. As I said, it should be simple to compile (possibly put in a Python script to do it for them), and then all it does is discover what's on your system - what programs, libraries, versions of those, and any other things it might need to know. That app will save this information into a file (XML?), which you then put onto a flash drive/floppy disk/data transfer device.
The idea is that you install the second app on the machine which has internet access (can be either a Linux or Windows box), and you plug in your device. You start up the second app, point it to the file on the device, and then (in a similar way to apt-get) you type in the program/library you want to download. It will find out what versions of what libraries and programs you have (from the file), and then will go onto the repositories (which one should be able to change as easily as /etc/apt/sources.list) to download the program/library you specified. Should that program have dependencies, it will also download them (bearing in mind that it would exclude any dependencies which you already have, as long as it is >= version needed). All these files would be downloaded to a specified folder, and once it's done you can copy that folder to your data device, plug that device back into your offline Linux box, and then just use 'dpkg -i' to install the downloaded .deb files!
I thought it might be a good idea to base the downloading app on apt-get (which I think is written in C, but cannot check up right now) so that less work would need to be done on the repository bit, but I guess we could discuss the language used with any others willing to take up this project.
So, what do you all think? I know it's a long-shot, but it could be an interesting project for a couple of bored programmers to work on... Please let me know if you do decide to do so!
M.
Ps. I have also posted on the Ubuntu forums, just in case you would like to see how that's going. My thread can be found
here.