[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: An idea for application installation

Hi Julien,

Firstly, what you want to do sounds very similar to what we're doing
over at autopackage.org - you've outlined the basic approach we're
taking with a few functional differences.

You have to appreciate that making software easy to install on Linux is
far from trivial, there are a whole host of issues. I can explain these
better on IRC or in private emails, because .....

... leading on to my second point - this isn't really the appropriate
forum for discussion of such things. Right now, this list is
concentrating mainly on standardising interfaces between desktops like
kde/gnome/rox etc. Software installation is a huge topic and my guess is
(please correct me if i'm wrong havoc) out of scope for the list.

A few comments on your proposal (btw i'm also taking part in the OSNews

> Developers bundle the binary and all the (uncommon) necessary libs in a
> tgz archive

First issue - who decides what's common, and why should we force modem
users to download stuff they may already have? This is what systems like
apt are for - to make this automatic and to a lesser extent minimize the
amount of bandwidth required.

> The tgz file should contain a "bin" directory and a "lib"
> directory. This tgz archive should also contain a "meta.xml" file
> containing infos like the icon file, the entry in the menu etc...
> The tgz file should be called, for example, myapp.pak.

Yes, this is similar to how we work, except we don't use XML (too hard
to parse from bash), it supports more filetypes than just bin/ and lib/,
and it ends in .package (a .tar.gz with a stub script to make it self

> Then, we create an installer that will handle those ".pak" archives. It
> should de-tar the archive in /tmp and look for the meta.xml file.
> Then it should create a "myapp" folder in ~/, add an icon on the
> desktop, add an entry in the menu and (the most important part), add the
> path to the "bin" and to the "lib" directories in the user's path (in a
> permanent way).

There are lots of things that need to be prepared/solved for non root installs.
For instance as far as I'm aware, by default the freedesktop specs are not setup
to load icons/desktop entries from the home directory. I haven't been following it
as closely as I should have been, but I have a feeling the base dir spec may
affect this.

Also you have issues with linker setup etc, which requires bootstrap scripts and
so on.

> The app would be installed for the user. It could then be de-installed
> by removing the ~/myapp folder.

Deinstall by delete has quite a few other problems, namely that stuff will be
left lying around. For instance, you don't get a chance to remove gconf keys,
deregister libs from the linker cache etc

> Is it technically feasible without modifying UNIX bases ? If yes, I'd be
> glad to help in such a project.

Sort of, but it's an absolute buttload of work. I've only touched on a
few of the more trivial issues - we've recently realised that we may
well have to significantly patch the dynamic linker to make
distro-neutral binary distribution a reality. However, you're welcome to
take part, just visit the site and you'll find more info there (or ask
on osnews).

If you want to reply, it's best to take this thread off the list (ie
reply personally) unless Havoc or another big cheese especially wants it

thanks -mike

Mike Hearn <mike theoretic com>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]