Last active
October 3, 2017 21:16
-
-
Save gswallow/8091ba409d67a562545f9def1bb3ec21 to your computer and use it in GitHub Desktop.
Build TokuMX 2.0.2 packages on Ubuntu Xenial
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -e | |
# Install prerequisites | |
sudo apt-get -qq update && \ | |
sudo apt-get -yqq install \ | |
git-core \ | |
cmake \ | |
build-essential \ | |
g++ \ | |
zlib1g-dev \ | |
libpcre3-dev \ | |
python \ | |
python-pymongo \ | |
devscripts \ | |
debhelper \ | |
dh-python \ | |
libboost1.58-all-dev \ | |
libreadline-dev \ | |
libpthread-stubs0-dev \ | |
libpcap-dev \ | |
valgrind | |
# Get tokumx | |
wget https://www.percona.com/downloads/percona-tokumx/tokumx-enterprise-2.0.2/source/tarball/tokumx-enterprise-2.0.2.tar.gz | |
tar xzf tokumx-enterprise-2.0.2.tar.gz | |
cat > xenial.patch <<'EOF' | |
diff -Naur tokumx-enterprise-2.0.2-orig/debian/changelog tokumx-enterprise-2.0.2/debian/changelog | |
--- tokumx-enterprise-2.0.2-orig/debian/changelog 2015-09-09 14:13:32.000000000 +0000 | |
+++ tokumx-enterprise-2.0.2/debian/changelog 2017-10-03 19:45:08.713993806 +0000 | |
@@ -1,3 +1,16 @@ | |
+tokumx-enterprise (2.0.2-1.xenial) stable; urgency=low | |
+ | |
+ * see http://github.com/Tokutek/mongo/releases/tokumx-2.0.2 | |
+ | |
+ -- Greg Swallow <gswallow@gmail.com> Mon, 2 Oct 2017 17:52:40 +0000 | |
+ | |
+tokumx (2.0.1) unstable; urgency=low | |
+ | |
+ * see http://github.com/Tokutek/mongo/releases/tokumx-2.0.1 | |
+ | |
+ -- Greg Swallow <gswallow@gmail.com> Mon, 2 Oct 2017 17:52:40 +0000 | |
+ | |
+ | |
tokumx (2.0.0) unstable; urgency=low | |
* see http://github.com/Tokutek/mongo/releases/tokumx-2.0.0 | |
diff -Naur tokumx-enterprise-2.0.2-orig/debian/control tokumx-enterprise-2.0.2/debian/control | |
--- tokumx-enterprise-2.0.2-orig/debian/control 2015-09-09 14:13:31.000000000 +0000 | |
+++ tokumx-enterprise-2.0.2/debian/control 2017-10-03 19:45:08.713993806 +0000 | |
@@ -1,18 +1,18 @@ | |
-Source: tokumx | |
+Source: tokumx-enterprise | |
Section: devel | |
Priority: optional | |
Maintainer: Leif Walsh <leif.walsh@gmail.com> | |
Standards-Version: 3.9.5 | |
-Build-Depends: debhelper (>= 7), libpcre3, libpcre3-dev, cmake, libboost1.35-dev | libboost1.37-dev | libboost1.38-dev | libboost1.40-dev | libboost1.42-dev | libboost1.48-dev | libboost1.49-dev | libboost1.53-dev | libboost1.54-dev, libboost-thread1.35-dev | libboost-thread1.37-dev | libboost-thread1.38-dev | libboost-thread1.40-dev | libboost-thread1.42-dev | libboost-thread1.48-dev | libboost-thread1.49-dev | libboost-thread1.53-dev | libboost-thread1.54-dev, libboost-filesystem1.35-dev | libboost-filesystem1.37-dev | libboost-filesystem1.38-dev | libboost-filesystem1.40-dev | libboost-filesystem1.42-dev | libboost-filesystem1.48-dev | libboost-filesystem1.49-dev | libboost-filesystem1.53-dev | libboost-filesystem1.54-dev, libboost-program-options1.35-dev | libboost-program-options1.37-dev | libboost-program-options1.38-dev | libboost-program-options1.40-dev | libboost-program-options1.42-dev | libboost-program-options1.48-dev | libboost-program-options1.49-dev | libboost-program-options1.53-dev | libboost-program-options1.54-dev, libboost-date-time1.35-dev | libboost-date-time1.37-dev | libboost-date-time1.38-dev | libboost-date-time1.40-dev | libboost-date-time1.42-dev | libboost-date-time1.48-dev | libboost-date-time1.49-dev | libboost-date-time1.53-dev | libboost-date-time1.54-dev, libpcap-dev, libreadline-dev, zlib1g-dev | |
+Build-Depends: debhelper (>= 7), dh-python, libpcre3, libpcre3-dev, cmake, libboost1.35-dev | libboost1.37-dev | libboost1.38-dev | libboost1.40-dev | libboost1.42-dev | libboost1.48-dev | libboost1.49-dev | libboost1.53-dev | libboost1.54-dev | libboost1.58-dev, libboost-thread1.35-dev | libboost-thread1.37-dev | libboost-thread1.38-dev | libboost-thread1.40-dev | libboost-thread1.42-dev | libboost-thread1.48-dev | libboost-thread1.49-dev | libboost-thread1.53-dev | libboost-thread1.54-dev | libboost1.58-dev, libboost-filesystem1.35-dev | libboost-filesystem1.37-dev | libboost-filesystem1.38-dev | libboost-filesystem1.40-dev | libboost-filesystem1.42-dev | libboost-filesystem1.48-dev | libboost-filesystem1.49-dev | libboost-filesystem1.53-dev | libboost-filesystem1.54-dev | libboost-filesystem1.58-dev, libboost-program-options1.35-dev | libboost-program-options1.37-dev | libboost-program-options1.38-dev | libboost-program-options1.40-dev | libboost-program-options1.42-dev | libboost-program-options1.48-dev | libboost-program-options1.49-dev | libboost-program-options1.53-dev | libboost-program-options1.54-dev | libboost-program-options1.58-dev, libboost-date-time1.35-dev | libboost-date-time1.37-dev | libboost-date-time1.38-dev | libboost-date-time1.40-dev | libboost-date-time1.42-dev | libboost-date-time1.48-dev | libboost-date-time1.49-dev | libboost-date-time1.53-dev | libboost-date-time1.54-dev | libboost-date-time1.58-dev, libpcap-dev, libreadline-dev, zlib1g-dev | |
Homepage: http://www.tokutek.com/products/tokumx-for-mongodb | |
Vcs-Browser: https://github.com/Tokutek/mongo | |
Vcs-Git: git://github.com/Tokutek/mongo.git | |
-Package: tokumx | |
+Package: tokumx-enterprise | |
Architecture: amd64 | |
Depends: | |
- tokumx-clients (= ${binary:Version}), | |
- tokumx-server (= ${binary:Version}), | |
+ tokumx-enterprise-clients (= ${binary:Version}), | |
+ tokumx-enterprise-server (= ${binary:Version}), | |
${misc:Depends} | |
Conflicts: mongodb, mongodb-stable, mongodb-unstable, mongodb-nightly, mongodb-10gen, mongodb-10gen-unstable, mongodb-org, mongodb-org-unstable | |
Description: object/document-oriented database (metapackage) | |
@@ -28,9 +28,9 @@ | |
* Transactional semantics including snapshot reads and | |
multi-statement transactions on a single shard basis. | |
-Package: tokumx-clients | |
+Package: tokumx-enterprise-clients | |
Architecture: amd64 | |
-Depends: ${shlibs:Depends}, ${misc:Depends}, tokumx-common (= ${binary:Version}), python2.5 | python2.6 | python2.7 | |
+Depends: ${shlibs:Depends}, ${misc:Depends}, tokumx-enterprise-common (= ${binary:Version}), python2.5 | python2.6 | python2.7 | |
Conflicts: mongodb-clients, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-org-shell, mongodb-org-tools, mongodb-org-unstable-shell, mongodb-org-unstable-tools | |
Description: object/document-oriented database (client apps) | |
TokuMX is a high-performance version of MongoDB using Fractal | |
@@ -48,9 +48,9 @@ | |
This package includes the mongo shell and utilities for | |
interacting with a TokuMX database server. | |
-Package: tokumx-dev | |
+Package: tokumx-enterprise-dev | |
Architecture: amd64 i386 | |
-Depends: ${misc:Depends}, python2.5 | python2.6 | python2.7, libboost1.35-dev | libboost1.37-dev | libboost1.38-dev | libboost1.40-dev | libboost1.42-dev | libboost1.48-dev | libboost1.49-dev | libboost1.53-dev | libboost1.54-dev, libboost-thread1.35-dev | libboost-thread1.37-dev | libboost-thread1.38-dev | libboost-thread1.40-dev | libboost-thread1.42-dev | libboost-thread1.48-dev | libboost-thread1.49-dev | libboost-thread1.53-dev | libboost-thread1.54-dev, libboost-filesystem1.35-dev | libboost-filesystem1.37-dev | libboost-filesystem1.38-dev | libboost-filesystem1.40-dev | libboost-filesystem1.42-dev | libboost-filesystem1.48-dev | libboost-filesystem1.49-dev | libboost-filesystem1.53-dev | libboost-filesystem1.54-dev, libboost-program-options1.35-dev | libboost-program-options1.37-dev | libboost-program-options1.38-dev | libboost-program-options1.40-dev | libboost-program-options1.42-dev | libboost-program-options1.48-dev | libboost-program-options1.49-dev | libboost-program-options1.53-dev | libboost-program-options1.54-dev, libboost-date-time1.35-dev | libboost-date-time1.37-dev | libboost-date-time1.38-dev | libboost-date-time1.40-dev | libboost-date-time1.42-dev | libboost-date-time1.48-dev | libboost-date-time1.49-dev | libboost-date-time1.53-dev | libboost-date-time1.54-dev, tokumx-common | |
+Depends: ${misc:Depends}, python2.5 | python2.6 | python2.7, libboost1.35-dev | libboost1.37-dev | libboost1.38-dev | libboost1.40-dev | libboost1.42-dev | libboost1.48-dev | libboost1.49-dev | libboost1.53-dev | libboost1.54-dev | libboost1.58-dev, libboost-thread1.35-dev | libboost-thread1.37-dev | libboost-thread1.38-dev | libboost-thread1.40-dev | libboost-thread1.42-dev | libboost-thread1.48-dev | libboost-thread1.49-dev | libboost-thread1.53-dev | libboost-thread1.54-dev | libboost-thread1.58-dev, libboost-filesystem1.35-dev | libboost-filesystem1.37-dev | libboost-filesystem1.38-dev | libboost-filesystem1.40-dev | libboost-filesystem1.42-dev | libboost-filesystem1.48-dev | libboost-filesystem1.49-dev | libboost-filesystem1.53-dev | libboost-filesystem1.54-dev | libboost-filesystem1.58-dev, libboost-program-options1.35-dev | libboost-program-options1.37-dev | libboost-program-options1.38-dev | libboost-program-options1.40-dev | libboost-program-options1.42-dev | libboost-program-options1.48-dev | libboost-program-options1.49-dev | libboost-program-options1.53-dev | libboost-program-options1.54-dev | libboost-program-options1.58-dev, libboost-date-time1.35-dev | libboost-date-time1.37-dev | libboost-date-time1.38-dev | libboost-date-time1.40-dev | libboost-date-time1.42-dev | libboost-date-time1.48-dev | libboost-date-time1.49-dev | libboost-date-time1.53-dev | libboost-date-time1.54-dev | libboost-date-time1.58-dev, tokumx-enterprise-common | |
Conflicts: mongodb-dev | |
Description: object/document-oriented database (development) | |
TokuMX is a high-performance version of MongoDB using Fractal | |
@@ -68,9 +68,9 @@ | |
This package includes the C++ headers and library for | |
developing TokuMX applications. | |
-Package: tokumx-server | |
+Package: tokumx-enterprise-server | |
Architecture: amd64 | |
-Depends: ${shlibs:Depends}, ${misc:Depends}, tokumx-common (= ${binary:Version}) | |
+Depends: ${shlibs:Depends}, ${misc:Depends}, tokumx-enterprise-common (= ${binary:Version}) | |
Pre-Depends: adduser | |
Conflicts: mongodb-server, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-org-mongos, mongodb-org-server, mongodb-org-unstable-mongos, mongodb-org-unstable-server | |
Description: object/document-oriented database (server package) | |
@@ -89,7 +89,7 @@ | |
This package includes the mongod and mongos data and routing | |
servers for the TokuMX database system. | |
-Package: tokumx-common | |
+Package: tokumx-enterprise-common | |
Architecture: amd64 | |
Depends: ${shlibs:Depends}, ${misc:Depends}, zlib1g | |
Pre-Depends: debconf, curl, dialog | |
@@ -109,13 +109,13 @@ | |
This package includes files common to tokumx-clients and | |
tokumx-server, including the Fractal Tree indexing library. | |
-Package: tokumx-dbg | |
+Package: tokumx-enterprise-dbg | |
Architecture: amd64 | |
Section: debug | |
Priority: extra | |
Depends: | |
- tokumx-clients (= ${binary:Version}), | |
- tokumx-server (= ${binary:Version}), | |
+ tokumx-enterprise-clients (= ${binary:Version}), | |
+ tokumx-enterprise-server (= ${binary:Version}), | |
${misc:Depends} | |
Description: object/document-oriented database (debug symbols) | |
. | |
diff -Naur tokumx-enterprise-2.0.2-orig/debian/rules tokumx-enterprise-2.0.2/debian/rules | |
--- tokumx-enterprise-2.0.2-orig/debian/rules 2015-09-09 14:13:32.000000000 +0000 | |
+++ tokumx-enterprise-2.0.2/debian/rules 2017-10-03 19:44:18.975869239 +0000 | |
@@ -9,7 +9,7 @@ | |
# Uncomment this to turn on verbose mode. | |
#export DH_VERBOSE=1 | |
-PRODUCT?=tokumx | |
+PRODUCT?=tokumx-enterprise | |
configure: configure-stamp | |
configure-stamp: | |
@@ -33,6 +33,8 @@ | |
-D CMAKE_INSTALL_RPATH=/usr/lib/tokumx \ | |
-D INSTALL_LIBDIR=lib/tokumx \ | |
-D TOKUMX_STRIP_BINARIES=OFF \ | |
+ -D CMAKE_POLICY_DEFAULT_CMP0026=OLD \ | |
+ -D CMAKE_POLICY_DEFAULT_CMP0045=OLD \ | |
..) | |
touch configure-stamp | |
@@ -107,12 +109,12 @@ | |
gzip -9 $(CURDIR)/debian/$(PRODUCT)-common/usr/share/doc/tokumx/changelog | |
install -p -Dm644 $(CURDIR)/src/third_party/ft-index/README-TOKUDB $(CURDIR)/debian/$(PRODUCT)-common/usr/share/doc/tokumx/README-TOKUKV | |
- if [ x"tokumx" != x"$(PRODUCT)" ]; then \ | |
+ if [ x"tokumx-enterprise" != x"$(PRODUCT)" ]; then \ | |
for suffix in preinst postinst prerm postrm; do \ | |
- mv debian/tokumx-server.$$suffix debian/$(PRODUCT)-server.$$suffix; \ | |
+ mv debian/tokumx-enterprise-server.$$suffix debian/$(PRODUCT)-server.$$suffix; \ | |
done; \ | |
for suffix in config postinst templates; do \ | |
- mv debian/tokumx-common.$$suffix debian/$(PRODUCT)-common.$$suffix; \ | |
+ mv debian/tokumx-enterprise-common.$$suffix debian/$(PRODUCT)-common.$$suffix; \ | |
done; \ | |
fi | |
diff -Naur tokumx-enterprise-2.0.2-orig/src/mongo/shell/linenoise_utf8.h tokumx-enterprise-2.0.2/src/mongo/shell/linenoise_utf8.h | |
--- tokumx-enterprise-2.0.2-orig/src/mongo/shell/linenoise_utf8.h 2015-09-09 14:13:31.000000000 +0000 | |
+++ tokumx-enterprise-2.0.2/src/mongo/shell/linenoise_utf8.h 2017-10-03 19:45:08.713993806 +0000 | |
@@ -17,6 +17,8 @@ | |
#include <boost/smart_ptr/scoped_array.hpp> | |
#include <string.h> | |
+#include <iostream> | |
+ | |
namespace linenoise_utf8 { | |
EOF | |
patch -p0 < xenial.patch | |
cd tokumx-enterprise-2.0.2 | |
debuild -b -us -uc -i |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aptly repo create -distribution=xenial -component=stable indigo-tokumx-xenial | |
aptly repo add indigo-tokumx-xenial xenial | |
aptly snapshot create indigo-tokumx-xenial-0.1 from repo indigo-tokumx-xenial | |
aptly publish snapshot indigo-tokumx-xenial-0.1 s3:indigo-apt-tokumx: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am aware that the debian packaging community will look at this gist and cringe. :)