Read Me
UpSys is a set of tools to update software - period.
Now you're probably thinking - that's quite a broad statement
to be waving around. . but there is a reason for that statement.
UpSys is platform independant:
The server uses a plugin system for the database backend -
so that if a user wants to store his data in postgresql
while another wants to use mysql, or SQLite, or XMl even. .
it's possible. . .
The client runs as a service on the computers you wish to keep
up to date - keeping in contact with the central server to make
sure that your computer is up to date. The client also uses
a plugin system.
The client itself is platform-independant.
There are a number of plugins for the client to different operating systems
and/or package management systems.
For Instance, if you are using windows - you would want the client to use
the windows plugin - and if you were using debian, ubuntu, or another linux
distrobution that used the apt package management system, you would use the
apt plugin.
Through the series of plugins - the client application and the server
can maintain a simple API to communicate update information back and forth.
In order to provide this degree of versatility - we had to create our own
package management system that we could wrap other packages/software/updates in.
This functionality is implemented with libups - which provides the API
used to process UpSys packages (labeled as *.ups).
Now that I've explained the internals - lets get into how you (the user) will
probably be using UpSys.
<BIG NOTE!!! - WE NEED TO FIGURE OUT HOW TO DISTRIBUTE THESE .ups FILES!! -
BECAUSE USERS ARE NOT GOING TO WANT TO CREATE THEM!!!>
Once you get your hands on some *.ups files that you want to distribute to your
client computers - you need to tell the server about them. This is where
<INSERT NAME HERE> will come in handy - it's a cross-platform GUI to the server.
From there, you can easily add/remove packages that are available to clients.
Once this is done - the server will alert all of the known clients that new updates
are available and ask them to report in to make sure they are up to date.