Commit c17ab088 authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Update README.Contributor based on recent feedback

parent f22549a5
......@@ -17,19 +17,20 @@ Install the tool used to manage and build the source
## Getting the source
The official Debian package source is available at
* git://git.debian.org/git/pkg-mysql/mariadb-10.1.git
* (browseable at http://git.debian.org/?p=pkg-mysql/mariadb-10.1.git
The official Debian package source is hosted on the Debian Gitlab server under
the MariaDB/MySQL packaging team at https://salsa.debian.org/mariadb-team/. You
are welcome to fork it and make merge requests.
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.1
To get the latest official Debian packaging source of mariadb-10.1, clone the
source repository with all relevant branches (master, upstream, pristine-tar) to
your local environment using _git-buildpackage_:
gbp clone --pristine-tar https://salsa.debian.org/mariadb-team/mariadb-10.1.git
Once you have a fork at Github, clone the source repository with all relevant
branches (master, upstream, pristine-tar) to your local environment
gbp clone --pristine-tar git@github.com:{username}/mariadb-10.1.git
If you have your own fork and SSH keys set up on Salsa, you can run:
gbp clone --pristine-tar git@salsa.debian.org:<username>/mariadb-10.1.git
Clone needs to be run only once. On later runs you can refresh your clone with
The clone needs to be run only once. On later runs you can refresh your clone with
relevant branches using
gbp pull --pristine-tar --force
......@@ -40,9 +41,12 @@ Build binaries, run testsuite and build Debian packages with
gbp 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
defined in debian/control are missing. Simply install those packages and run the
build again.
A quick command to install all dependencies:
sudo mk-build-deps -r -i debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends"
If the build fails, the easiest way to clean up before a new run is
git clean -fdx && git reset --hard
......@@ -66,18 +70,20 @@ The repository has the following branch layout:
* 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
* jessie - release branch for Debian 8 (jessie)
* stretch - release branch for Debian 9 (stretch)
* ubuntu-16.04 - release branch for Ubuntu 16.04 (xenial)
* ubuntu-18.04 - release branch for Ubuntu 18.04 (bionic)
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:
To prepare the Salsa 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.
until you have in your fork at Salsa the desired change and you are ready
to open the merge request.
### Notes about how to make changes in the proper way
......@@ -97,6 +103,24 @@ 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
Do not bundle in you commit any changes to debian/changelog. The correct changelog
entries will be created later by the maintainer using git-dch.
entries will be created later by the maintainer using git-dch in an automated fashion.
For an example of a patch adding commit see https://github.com/ottok/mariadb-10.0/commit/8d2a7c909
# Using Docker
First make a working directory for the build artefacts. Inside that directory
clone the repository. Then start a Docker session using whatever Debian/Ubuntu
image you want with the command:
docker run -it -v ${PWD}:/build -w /build debian:sid bash
This will start a session, where you are as the root user in the path /build
inside the Docker container. Here you can cd into the source directory, install
dependencies and start the build. Note that when you exit the session,
everything will be lost apart from the files you had inside the mounted volume
in /build.
# Using sbuild
If you prefer sbuild, you can build with something like:
gbp buildpackage --git-builder=sbuild -A -v -d unstable
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment