summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2014-11-21 18:17:09 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-21 08:58:40 -0800
commit61cc1c4dbe98e78080510e1d16e44200a3475e98 (patch)
tree2f2c7b56f0f1177561fce4eeba7afd09c5e2eda9
parent61961b11ad5530f612fd36f08d5b7c75c7abe64d (diff)
downloadsubsurface-61cc1c4dbe98e78080510e1d16e44200a3475e98.tar.gz
Instructions for building Ubuntu packages
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--Readme.ubuntu64
1 files changed, 64 insertions, 0 deletions
diff --git a/Readme.ubuntu b/Readme.ubuntu
new file mode 100644
index 000000000..3d55e9c27
--- /dev/null
+++ b/Readme.ubuntu
@@ -0,0 +1,64 @@
+Building Ubuntu packages
+
+These steps describe roughly, how one can create Ubuntu packages out of
+Subsurface and publish them in Launchpad. Steps are from our latest beta
+release and pushed to subsurface-beta. You need quite a bit of packages
+installed for all this to work, but that is not described here. The
+contents of control, rules and other files edited can be spied from the
+previous packages. GPG is used to sign the changes file and SSH keys are
+required for the upload to Launchpad.
+
+---8<---
+# First we need to create a source directory and have the sources of the
+# latest version there
+
+version="4.2.90"
+mkdir subsurface-${version}
+cd subsurface-git
+git archive --format=tar v${version} | tar -xf - -C ../subsurface${version}/
+cd ../subsurface${version}
+
+# Then we create the source tarball and "Debianize" the sources with
+# dh_make
+
+dh_make --email miika.turkia@gmail.com -c gpl2 --createorig --single
+
+# Next step is to fix the control files
+
+rm debian/*.ex debian/*.EX debian/README.*
+vi debian/{changelog,copyright,control,rules}
+
+# Generating the build instructions that can be uploaded to Launchpad
+# (or tested first locally with pbuilder). Following assumes that the
+# version initially is "trusty"
+
+debuild -S
+
+# To test locally, one needs pbuilder set up properly
+
+sudo pbuilder build subsurface_${version}-0exp1ppa1~trusty.dsc
+
+# Once everything is working properly, create the other supported
+# releases and upload them all to Launchpad.
+
+sed -i 's/trusty/utopic/g' debian/changelog && debuild -S
+sed -i 's/utopic/precise/g' debian/changelog && debuild -S
+
+dput ppa:subsurface/subsurface-beta subsurface_${version}-0exp1ppa1~trusty_source.changes
+dput ppa:subsurface/subsurface-beta subsurface_${version}-0exp1ppa1~utopic_source.changes
+dput ppa:subsurface/subsurface-beta subsurface_${version}-0exp1ppa1~precise_source.changes
+---8<---
+
+Current dependencies are the following:
+
+Build-Depends: debhelper (>= 8.0.0), cmake, libdivecomputer-dev (>=
+0.4.2), cdbs, libqt4-dev, qt4-qmake, libxml2-dev, libxslt1-dev,
+zlib1g-dev, libusb-1.0-0-dev, libzip-dev, libmarble-dev, libsqlite3-dev,
+libqtwebkit-dev, pkg-config, libgit2-dev, asciidoc
+
+Depends: ${shlibs:Depends}, ${misc:Depends}, libdivecomputer0 (>= 0.4.2)
+
+And the rules file contains only the following includes:
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/qmake.mk