Skip to content

Files

Latest commit

2f7f98c · Oct 28, 2015

History

History
This branch is 213 commits behind ottok/mariadb-10.0:master.

debian

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 23, 2015
Oct 28, 2015
Sep 6, 2015
Mar 2, 2014
Jun 16, 2014
Oct 15, 2015
Jun 21, 2015
Apr 1, 2014
Apr 1, 2014
Oct 26, 2015
Mar 2, 2014
Aug 12, 2015
Aug 12, 2015
Oct 15, 2015
Jul 26, 2015
Aug 12, 2015
Aug 12, 2015
Oct 2, 2014
Mar 1, 2014
Mar 3, 2014
Jul 24, 2015
Aug 27, 2014
Aug 28, 2014
Feb 17, 2015
Apr 18, 2014
Aug 28, 2014
Mar 2, 2014
Jul 21, 2015
Jul 21, 2015
Jul 23, 2015
Jul 23, 2015
Jul 12, 2015
Feb 9, 2015
Sep 26, 2014
Jan 4, 2015
Jan 31, 2015
Dec 10, 2014
Jul 24, 2015
Aug 8, 2015
Mar 1, 2014
Mar 1, 2014
Mar 1, 2014
Aug 28, 2014
Feb 18, 2015
Jul 28, 2015
Jul 28, 2015
Jul 21, 2015
Dec 15, 2014
Jul 21, 2015
Dec 12, 2014
Feb 9, 2015
Jan 31, 2015
Feb 17, 2015
Aug 28, 2014
Feb 17, 2015
Aug 7, 2015
Mar 1, 2014
Aug 7, 2015
Mar 2, 2014
Aug 7, 2015
Aug 7, 2015
Aug 26, 2015
Aug 28, 2014
Sep 2, 2014
# README for Debian packaging contributors #

This documentation describes how to contribute to the official Debian packages
of MariaDB. The packaging in Debian repositories is not identical to the packaging
in mariadb.org repositories, but whatever is in Debian repositories will eventually
be upstreamed.


## Development environment and tools

Use a recent version of Debian or Ubuntu as the environment for Debian packaging
testing and development. Preferred environment is Debian Sid (unstable).

Install the tool used to manage and build the source
  sudo apt-get install git-buildpackage


## Getting the source

The official Debian package source is available at
  * git://git.debian.org/git/pkg-mysql/mariadb-10.0.git
  * (browseable at http://git.debian.org/?p=pkg-mysql/mariadb-10.0.git

However, git.debian.org does not provide any kind of pull request or gerrit
work-flow, so it is recommended to fork the Github mirror available at
  * https://github.com/ottok/mariadb-10.0

Once you have a fork at Github, clone the source repository with all relevant
branches (master, upstream, prisine-tar) to your local environment
  gbp-clone --pristine-tar git@github.com:{username}/mariadb-10.0.git

Clone needs to be run only once. On later runs you can refresh your clone with
relevant branches using
  gbp-pull --pristine-tar --force


## Building the packages

Build binaries, run testsuite and build Debian packages with
  git-buildpackage

On the first run git-buildpackage will complain if some of the build dependencies
defined in debian/control is missing. Simply install those packages and run the
build again.

If the build fails, the easiest way to clean up before a new run is
  git clean -f -d && git reset --hard


### Build options

If you want to skip the mysql-test-run step (which takes a lot of time) set
the following environment variable:
  export DEB_BUILD_OPTIONS="nocheck"

If you want to run the build in parallel on 2 CPUs and have verbose output:
  export DEB_BUILD_OPTIONS="parallel=2 verbose"

The options above can also be combined freely to get desired behaviour.


## Creating a feature or bugfix branch

The repository has the following branch layout:
  * upstream - contains the upstream source releases without modifications
  * pristine-tar - contains extra delta needed to re-create the original
    tarballs with the exactly same SHA-1 hash as the original tarballs by upstream
  * master - packaging for Debian Sid (unstable)
  * jessie - release branch for Debian Jessie
  * ubuntu-15.04 - release branch for Ubuntu 15.04

All new features and also bugfixes are done only in the master branch. The
release branches for Debian and Ubuntu are only used for security updates.

To prepare the Github pull request, create a bugfix branch from master with:
  git checkout -b fix-example-name

After this you can develop with all the usual git commit and push commands
until you have in your fork at Github the desired change and you are ready
to open the pull request.


### Notes about how to make changes in the proper way

Please use gitk or similar tool to browse the previous changes. Try to follow
similar pattern in your new changes.

Keep in mind that all changes must done only for files residing in the debian/
subdirectory. If you need to create changes outside the debian/ directory,
then you need to create a patch file using the same pattern as the patches
found in debian/patches and activated by a line in debian/patches/series

Whatever you change is, you should bundle in you commit also a short description
in the file at debian/changelog