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