
================================
Elisa packaging/deployment notes 
================================
:Author: Philippe Normand
:Contact: philippe [at] fluendo [dot] com
:Revision: $Revision: 1141 $
:Date: $Date: 2006-11-28 14:00:40 +0100 (mar, 28 nov 2006) $

.. sectnum::

.. contents::


Introduction
============

This documents contains notes and ideas about how we will manage
Elisa's deployment, updates and separate plugins deployment.

Linux
=====

It would be great if Elisa and its core plugins were packaged for
Fedora, Debian and Ubuntu. Development and testing releases might also
be distributed as RPMS and Debian packages on the Fluendo
repositories too.


Windows
=======

Maybe we will provide a full blown exe installer including GStreamer,
Pigment and Elisa. Elisa should then be able to check the Fluendo
repository for updates, download the new version and install it with
user permission.

Additional plugins
==================

Fluendo will distribute additional plugins not packaged in the
core. We might use Eggs for that. Elisa should be able to browse the
Egg repository, download plugins and install them on ~/.elisa/plugins/
with user permissions. Plugin updates would be managed too. This
procedure would be the same both on Linux and Windows platforms.

Random Notes
============

What Fluendo repository will look like
--------------------------------------

- Unofficial RPMS and Debian packages
- Windows packages
- Extra Egg plugins

  * the "free" ones
  * the "non-free" ones accessible by authorized people only


What's needed in Elisa for plugins remote browsing/updates
----------------------------------------------------------

For instance in "services" menu, there should be a page showing the
list of available plugins on the repository, compared to the ones
already installed. It should also be possible to enable/disable
installed plugins via this screen. On user request new plugins would
be downloaded, installed and enabled. For changes to take effect the
user would be prompted to restart Elisa.

From the technical point of view, we need to be sure that setuptools
has an API to list contents of a remote repository. Either way it'd be
as simple as browsing a remote http://url/index.html location. We also
need to add some sort of authentication system to the repository.
