XiVO is developped from a GIT repository and the corresponding Debian GNU/Linux packages are maintained in a SVN repository. An internal tool is used to build Debian GNU/Linux source packages by interpreting their content according to a set of conventions. A shell script was created to document and re-implemnt these conventions. The latest XiVO skaro release for squeeze is used as an example.
A draft freemium business plan was written for paste3d assuming users would be willing to pay to get more resources. A backup infrastructure was setup to automate daily backups and send warnings when the disk is almost full. A debian package was drafted to ease deployment and tests were added to the primary backend script to prevent regressions.
Continue reading “Contribution to paste3d.net”
What does it take for Bio++ to enter the official repositories of Debian GNU/Linux ?
Request For Packaging
The first step is to ask for a Debian Developer to package the software. This is called a RFP as in Request For Packaging and it is done by filling a bug report against the wnpp pseudo package. Since Debian packages for Bio++ are already provided the task of the Debian Developer is facilitated.
Even when Debian packages are already available, the odds of seducing a Debian Developer into taking responsibility for the package are small. The quality standards for a package entering Debian are higher than what is implemented by the amateur packager. However, meeting these standards is not a difficult task when using the proper tools.
Using the same method as described in previous posts for XiVO gallifrey, a XiVO skaro repostory for x86_64 was created. A few packaging problems were fixed and reported but nothing blocked the process. The pf-xivo and pf-xivo-web-interface were successfully installed on a Debian GNU/Linux squeeze sandbox.
A previous attempt was interrupted because packaging-farm did not support the generation of binary kernel modules packages using module-assistant. A new release implementing this feature, together with support for reprepro was published today (version 1.2.31). The resulting repository should be useable instead of the official lenny-xivo-gallifrey-dev.
A previous attempt was interrupted because of missing dependencies and a failure to compile the sangoma-wanpipe package for i386. The dependencies were fixed and the sangoma-wanpipe compiled : the lenny i386 gallifrey repository is now complete. The packaging-farm needs to be improved to support building the kernel binary modules using module-assistant, when appropriate.
A previous attempt was interrupted because it was impractical to create dependencies between XiVO packages manually. A new version of the packaging-farm was released to address this problem. A new attempt was made and more packages were produced for the lenny i386 gallifrey repository and the squeeze x86_64 skaro repository. The issues found will be addressed before another attempt is made.
Forking means publishing your own modified version and is a common practice in Free Software. Forking a package repository is less common but useful nevertheless. Here is how it can be done for i386 using packaging-farm and the XiVO Debian GNU/Linux repository for lenny. The stable (Gallifrey) repository is preferred although it could be done with the more recent (Skaro) repository.
The XiVO Qt client is packaged for Debian GNU/Linux, Windows and MacOsX (prefer the git version over the directory referenced by the wiki). The codebase and the package is being maintained by Corentin Le Gall (aka kaou on irc.freenode.net#xivo). When the code is in a stable state, he logs in a dedicated server and runs the package generation scripts found in the cross directory of the sources (read cross as in cross compilation).
This is the first post of a series dedicated to XiVO packaging and its associated tools. This is my first attempt at understanding the subject and my knowledge mostly comes from interviewing Nicolas Hicher and Sylvain Boily. If I misrepresented the reality, I would be happy to fix my mistakes.
The XiVO server is available in many flavors :
virtual machines ( Gallifrey install cd, Xen Image … ), deb packages repositories ( as explained in Install XiVO From Scratch or Install XiVO With a CD … ).