standard dependancy system
Thomas Leonard
talex5 at gmail.com
Thu Nov 22 10:25:00 PST 2007
On Thu, 22 Nov 2007 15:58:23 +0100, Mildred wrote:
> Hi,
>
> I thought about a system that could help installing third-party
> softwares on our free operating systems. The idea is to provide a
> standard utility that could be called to tell the system/user that the
> application that invoked it has a peticular need for some resource (that
> could be a library for example).
>
> So every ressource would have an unique identifier (why not the URL of
> the web site, like XML namespaces). The utility (maybe we could call it
> 'require') would then prompt the user to tell him that the resource is
> needed and he has to install it. It could also provide a button to
> install directly using the distribution package manager.
>
> So for example if I (a softare) need the png library, I could just call
> the require utility this way:
>
> require http://libpng.org
This is almost exactly how it already works (except that the URI for
libpng is actually http://freenet-homepage.de/LinuxCNC/0install/Libpng/
libpng.xml). See:
http://0install.net/
> We could also imagine to be able to ask where this resource can be found
> in the filesystem with for exampel the call
>
> require http://libpng.org libfile
>
> With libfile a value dependant of the resource (here http://libpng.org).
> This cann would for example print "/usr/lib/libpng.so".
Or (real world example, from FooBillard):
<requires interface="http://freenet-homepage.de/LinuxCNC/0install/
Libpng/libpng.xml">
<version min="1.2.8.3"/>
<environment insert="" name="LD_LIBRARY_PATH"/>
</requires>
(setting $LD_LIBRARY_PATH is a lazy option for older applications;
programs aware of the system can inject the value directly into the
variable they want, e.g. $LIBPNG_DIR)
--
Dr Thomas Leonard http://rox.sourceforge.net
GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1
More information about the xdg
mailing list