freepbx 2.2.0 available on the svn

Diego Iastrubni diego.iastrubni at xorcom.com
Tue Jan 16 16:50:41 CET 2007


Hi all,

I have been working hard on the last week to get a usable set of freepbx 2.2.0 
packages. I am happy to tell you all it's now ready for testing. I also fixed 
the utility for generating the freepbx modules (currently 40+ debian packages 
are generated automagically by it), which I will explain on this email.

The biggest problem with packaging freepbx is that each of it's modules can be 
updated independently. Trixbox uses no packaging system, on on those systems 
it's easy for user to log to the web interface of freepbx, and download the 
new code from the freepbx svn directly to the webroot of the host. This is 
not the Debian way. We need everything properly packaged in real Debian 
packages. However, maintaining 40 packages is not fun, so I developed a small 
script which helps us maintaining it. It's found under 
freepbx/trunk/debian/contrib/fpx-modules (depends on php-cli).

To create the initial code and directories, all you need to do is issue a 
simple command on your favorite shell (I sometimes use fish, quite 
interesting application if you ask me):

diegolocal at turing:~/Proj/pkg-voip/freepbx$ mkdir modules/2.2 -p
diegolocal at turing:~/Proj/pkg-voip/freepbx$ cd modules/2.2
diegolocal at turing:~/Proj/pkg-voip/freepbx/modules/2.2$ ../../trunk/debian/contrib/fpx-modules 
up
Upgrading module "Ring Groups"
[... many lines trimmed...]
Upgrading module "Recordings"
Upgrading module "DISA"

This script download from freepbx.org the XML containnig the list of modules, 
and compare it to a local one. If none found, it will download the list. If a 
module is missing locally, the module's source will be downloaded and 
untared. It will also be applied a templatewhich creates a basic debian 
package for that module. 

The next time you want get updates from freepbx.org, use the same command. 
This will create directories for new modules (will not happen on the branch) 
and update the code of existsing modules (updates are done several times per 
week). The script will even create a new entry in debian/changelog to 
represent the new upstream release.

Now, to build the modules (I assume the autobuilder will not need this, but I 
am a lazy man), I even created a command for building all the modules:

diegolocal at turing:~/Proj/pkg-voip/freepbx/modules/2.2$ ../../trunk/debian/contrib/fpx-modules 
build
Building Ring Groups... ok.
[... many lines trimmed...]
Building Recordings... ok.
Building DISA... ok.

A build log is generated for each module, and Debian packages (and all the 
other related files) will be available on the "modules" directory.

There are other command line options to that utility, I will let you all play 
with it. 

Does anyone object me creating a directory freepbx/modules/2.2 and there 
uploading the modules? Should I do this on the root directory? What else is 
needed to build freepbx 2.2.0?

- diego



More information about the Pkg-voip-maintainers mailing list