[Pkg-mysql-commits] [mariadb-5.5] 02/03: Expanded d/README.Maintainer to include packaging instructions
Otto Kekäläinen
ottok-guest at moszumanska.debian.org
Wed Apr 2 16:24:14 UTC 2014
This is an automated email from the git hooks/post-receive script.
ottok-guest pushed a commit to branch master
in repository mariadb-5.5.
commit 7af9d8888974d09157a8cb30a5ef69339f358096
Author: Otto Kekäläinen <otto.kekalainen at seravo.fi>
Date: Tue Apr 1 09:41:11 2014 +0300
Expanded d/README.Maintainer to include packaging instructions
---
debian/README.Maintainer | 115 ++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 114 insertions(+), 1 deletion(-)
diff --git a/debian/README.Maintainer b/debian/README.Maintainer
index eab724f..d8a94f9 100644
--- a/debian/README.Maintainer
+++ b/debian/README.Maintainer
@@ -1,4 +1,28 @@
-Tip:
+## Building from sources with git-buildpackage ##
+
+
+Clone sources with all branches
+ sudo apt-get install git-buildpackage
+ gbp-clone --pristine-tar git://git.debian.org/git/pkg-mysql/mariadb-5.5.git
+
+Aalternatively use Github mirror at https://github.com/ottok/mariadb-5.5.git
+
+On later runs make sure to have latest version of sources
+ gbp-pull --pristine-tar --force
+
+Install all build dependencies manually (see debian/control for latest full list)
+ sudo apt-get install bison chrpath cmake debhelper hardening-wrapper libaio-dev libboost-dev libjemalloc-dev libjudy-dev libncurses5-dev libpam0g-dev libreadline-gplv2-dev libssl-dev libwrap0-dev lsb-release perl po-debconf psmisc zlib1g-dev
+
+Build
+ git-buildpackage --git-pristine-tar
+
+For a more elaborate setup with automatic build dependency installation and multi-target chroot usage check out how http://labs.seravo.fi/~otto/mariadb-repo/build.sh uses git-buildpackage with pbuilder.
+
+If the build fails the easiest way to clean up before a new run is
+ git clean -f -d && git reset --hard
+
+
+### Tip ###
Don't run the mysql-test-run test suite as part of build.
It takes a lot of time, and we will do a better test anyway in
@@ -7,3 +31,92 @@ Tip:
export DEB_BUILD_OPTIONS="nocheck"
+## Importing initial sources from upstream the first fime ##
+
+Create repository
+ mkdir mariadb-5.5
+ cd mariadb-5.5
+ git init
+ git branch upstream
+ git-import-orig --pristine-tar ../../upstream/mariadb-5.5.36
+
+Fill in values prompted
+ What will be the source package name? [mariadb] mariadb-5.5
+ What is the upstream version? [5.5.36]
+
+Checkout master into working dir and finish up manually what needs to be done
+ git checkout master
+
+Eventually commit and push, build, test binaries, test packages etc..
+ git commit -m "Created Debian packaging using git-buildpackage for easy maintenance"
+ git push --all
+ git push --tags
+
+
+## Upgrading sources from upstream ##
+
+Download new source package
+
+Enter git repostitory path and apply new sources
+ cd pkg-mariadb-5.5/mariadb-5.5/
+ git-import-orig --pristine-tar ../../upstream/mariadb-5.5.36.tar.gz
+
+Generate new debian/changelog entry
+ dch -v 5.5.36-1 -D unstable
+
+Manually merge what needs to be done
+
+Commit and push
+ git commit -am "Merged with upstream 5.5.36"
+ git push --all; git push --all github
+ git push --tags; git push --tags github
+
+Note that in above if you want to sync to Github directly you need to have collaborator rights to the Github repo and you need to add it as a secondary remote location with:
+ git remote add origin git at github.com:ottok/mariadb-5.5.git
+
+
+### Maintaining symbols file for libmariadbclient18 et al ###
+
+Update symbols file:
+ dpkg-gensymbols -plibmariadbclient18 -Idebian/libmariadbclient18.symbols -Pdebian/libmariadbclient18 -edebian/libmariadbclient18/usr/lib/mysql/plugin/mysql_clear_password.so -edebian/libmariadbclient18/usr/lib/mysql/plugin/dialog.so -edebian/libmariadbclient18/usr/lib/x86_64-linux-gnu/libmariadbclient.so.18.0.0 > symbols.patch
+
+ patch debian/libmariadbclient18.symbols symbols.patch
+
+Finish it manually by e.g. making sure there are no '-1' file versions, upstream versions is enough. Finally remember to selectively commit:
+ git add debian/libmariadbclient18.symbols
+ git commit -m "Updated symbols file"
+
+
+### Maintaining debian/copyright ###
+
+Check if licenses match
+ license-reconcile
+
+Create new copyright file
+ licensecheck --copyright -r . -c . | /usr/lib/cdbs/licensecheck2dep5 > /tmp/copyright
+
+..but you need to do lots of manual work to merge the new file with the old, as liscensecheck has a lot of cruft and the original copyright file already had those cleaned up.
+
+
+### Quality control ###
+
+Run wrap-and-sort to style contents in debian/*
+ wrap-and-sort
+
+Once packages are done check their quality with Lintian
+ lintian -EvIL +pedantic --color=always *.deb
+
+
+## Uploading to Ubuntu PPA for testing ##
+
+Make sure you have key ID set up in ~/.devscripts to avoid using -k parameter
+ DEBSIGN_KEYID=B7F7E4E1
+
+These are good to have as environment variables (replace values with your own)
+ DEBEMAIL="otto at seravo.fi"
+ DEBFULLNAME="Otto Kekäläinen"
+ export DEBEMAIL DEBFULLNAME
+
+The run the commands to automatically change version and upload
+ backportpackage -u ppa:mysql-ubuntu/mariadb -d precise -r *.dsc -S ~ppa1 -y
+
--
Alioth's hooks/post-receive on /srv/git.debian.org/git/pkg-mysql/mariadb-5.5.git
More information about the Pkg-mysql-commits
mailing list