This documentation is primarily for Piwik staff in charge of generating the Debian package. System administrators may also be interested in this documentation.
This repository contains the required skeleton to create your own debian package for piwik.
You need to install the following packages
You also need
DEBEMAIL set with your email address (to update the changelog)DEBFULLNAME set with your full name (to update the changelog)DEBFULLNAME, DEBEMAIL and the details of your GPG key must matchThe 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.
The release rule will generate, sign and verify your package.
make releaseIf no errors were reported, you should be fine to send your package for immediate publication
make uploadIf make newrelease has been interrupted, check and fix the error(s). Then, you can resume the process with the command below.
make buildddebYou may want to check the package for consistency and other warning. This step is part of make release
make checkdebPlease note that a package shouldn't be uploaded if errors or warnings remain.
Once "dupload" has been configured and a rule named "piwik" is present, just type:
make uploadOnce in a while it might be necessary to fixes minor details associated to the package.
make newversion
It will create a new intermediate version in debian/changelog.
make changelog
If you need to edit debian/changelog. This also update the date and time of the latest entry.
make builddeb
This will build and sign your debian package.
make checkdeb
Check your package and displays errors and warnings if any.
make upload
Sends your package to the Piwik.org server.
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;
The make release command does multiple things for you in the background
debian/changelog if neededlintian to ensure your package complies with the Debian standardsUnderstanding the different Piwik versions
2.0-1 or 2.0.1-1 are the first Debian package releases of a major or minor version of Piwik2.0-2 or 2.0.1-2 are intermediate Debian package releases containing only packaging changesdebian/changelogThe file debian/changelog contains 2 sorts of entries
For all major and minor releases (*-1)
The changelog details as found on the Piwik.org website. This includes the bug numbers.
For all intermediate versions (*-2, *-3, ...)
These changelog entries describe the internal package changes, but no core code changes. (ie. permission fixes, cleanup, ...)
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.