My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members

What is Ubiqis?

It is a system for automatically fetching and installing software from the web, or even a peer to peer network.

It is like CPAN, in that it provides a place from where you can automatically get software. But it's not like CPAN because you don't have to be root to install, and the software repository is not centralized.

It is like Maven, in that it automatically caches requests for software, automatically fetching dependencies as you need them. But it is not like Maven, because all users share the same cache and and you don't need to create a description file telling Ubiqis where to get the software.

Ubiqis is language neutral. It has been tested with Java, Perl, C++, and Python.

Ubiqis is a just-in-time software installation. It is a way to pretend that all the Ubiqis software you want is already installed everywhere.

Ubiqis knows where to get software by use of a package naming convention, allowing it to create an URL from a package name or a package name from an URL. Ubiqis knows that you want the software because it uses a FUSE file system to detect your attempt to access.

If a java program starts like this:

import edu.lsu.cct.ubiq2._tsbrandt.testme.Foo;

Ubiqis knows to fetch the software from http://cct.lsu.edu/~sbrandt/testme.ubiq. Ubiqis will detect your attempt to use the package, either from the compiler or the java runtime and will load the relevant files from the web so that neither operation fails. The only thing you need to do in the way of configuration is to include the Ubiqis file system in your CLASSPATH.

If a C++ program starts like this:

#include "edu/lsu/cct/ubiq3/_tsbrandt/v2/cpphello/inc/hello.hpp"

Ubiqis knows to fetch the software from http://cct.lsu.edu/~sbrandt/v2/cphello.ubiq. It can detect this during the compile phase or in the when dynamically loading files through LD_LIBRARY_PATH.

Powered by Google Project Hosting