Debian package for Piwik

Audience

This documentation is primarily for Piwik staff in charge of generating the Debian package. System administrators may also be interested in this documentation.

Description

This repository contains the required skeleton to create your own debian package for piwik.

Pre-requisites

You need to install the following packages

You also need

Package

The process has been designed to be as simple as possible. Though, manual intervention may be required from time to time. Seek help of an experienced sysadmin if you have any doubts.

New release

The release rule will generate, sign and verify your package.

If no errors were reported, you should be fine to send your package for immediate publication

Resuming a release

If make newrelease has been interrupted, check and fix the error(s). Then, you can resume the process with the command below.

Manual package verification

You may want to check the package for consistency and other warning. This step is part of make release

Please note that a package shouldn't be uploaded if errors or warnings remain.

New release upload

Once "dupload" has been configured and a rule named "piwik" is present, just type:

Intermediate versions

Once in a while it might be necessary to fixes minor details associated to the package.

Resources

dupload configuration

Your basic dupload configuration should look like this:

    package config;
    $preupload{'changes'} = '/usr/share/dupload/gpg-check %1';
    $preupload{'deb'} = 'lintian --color auto -v -i %1';

    $cfg{'piwik'} = {
            fqdn => "piwik.org",
            method => "scpb",
            mailto => 'aurelien@requiem.fr',
            cc => 'matt@piwik.org',
            login => 'piwik-package',
            incoming => '/home/piwik-package/incoming/stable/',
            dinstall_runs => 0,
    };

    1;

Release process

The make release command does multiple things for you in the background

Versions

Understanding the different Piwik versions

Details about debian/changelog

The file debian/changelog contains 2 sorts of entries

  1. For all major and minor releases (*-1)

    The changelog details as found on the Piwik.org website. This includes the bug numbers.

  2. For all intermediate versions (*-2, *-3, ...)

    These changelog entries describe the internal package changes, but no core code changes. (ie. permission fixes, cleanup, ...)

Background history

I needed to install piwik on a Debian server for a client. I found Fabrizio's work but sadly this didn't work with the latest piwik (1.12) version. So, as I maintain my own internal package repository, I decided to adapt his work and create a true vanilla version of Piwik for Debian. I also tried my best to ensure a good security level (files owned by root, configs in /etc/piwik and generated files in /var/lib/piwik/).

Some Debian purist may scream at me for all the lintian rules, licenses files and other problems. The idea is not to submit my work to the Debian project, but at least offer an interim for people willing to maintain their Piwik installation via a proper package.

Credits