summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>2014-04-15 13:47:02 +0000
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>2014-04-27 22:23:39 +0200
commit0aff1e9f9833d53bcb7eb9643f116949c267e174 (patch)
tree07997e1adeae61b14ff1fa9d52963a7e89df2ab7
parenta908f619ddf37e74105712b9ae271d79e2652b16 (diff)
Imported Debian patch 1:2.4.10-1debian/2.4.10-1
-rw-r--r--debian/changelog18
-rw-r--r--debian/control10
-rw-r--r--debian/mongodb-server.mongodb.upstart2
-rw-r--r--debian/patches/0004-Support-ppc64el-builds.patch15
-rw-r--r--debian/patches/0099-Pagesize-hacks.patch48
-rw-r--r--debian/patches/series2
6 files changed, 89 insertions, 6 deletions
diff --git a/debian/changelog b/debian/changelog
index 78ba6da5684..6575a1b00bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+mongodb (1:2.4.10-1) unstable; urgency=low
+
+ * New upstream release.
+ * Sync with Ubuntu.
+
+ [ James Page <james.page@ubuntu.com> ]
+ * Enable ppc64el build (LP: #1288633):
+ - d/control: Add ppc64el to target architectures.
+ - d/control: Use google-perftools on ppc64el.
+ - d/p/0004-Support-ppc64el-builds.patch: Detect ppc64 as 64 bit platform.
+ * d/mongodb-server.mongodb.upstart: Bump nofile limit to 64000 (LP: #1283007).
+ * d/control: Use google-perftools on armhf.
+
+ [ Adam Conrad <adconrad@ubuntu.com> ]
+ * d/p/0099-Pagesize-hacks.patch: Apply some hacks for non-4k pages.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 15 Apr 2014 13:47:02 +0000
+
mongodb (1:2.4.9-1) unstable; urgency=medium
* New upstream release.
diff --git a/debian/control b/debian/control
index 101488a17bd..399ba6aab7b 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Build-Depends:
libboost-filesystem-dev,
libboost-program-options-dev,
libboost-thread-dev,
- libgoogle-perftools-dev [linux-amd64 linux-i386],
+ libgoogle-perftools-dev [linux-amd64 linux-i386 armhf ppc64el],
libpcap-dev,
libpcre3-dev,
libreadline-dev,
@@ -28,7 +28,7 @@ Homepage: http://www.mongodb.org
XS-Testsuite: autopkgtest
Package: mongodb
-Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el
Depends:
mongodb-dev,
mongodb-server (>= 1:2.4.1-2),
@@ -54,7 +54,7 @@ Description: object/document-oriented database (metapackage)
the server, the clients and the development files (headers and library).
Package: mongodb-server
-Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el
Depends:
adduser,
mongodb-clients,
@@ -82,7 +82,7 @@ Description: object/document-oriented database (server package)
server/load-balancer (mongos).
Package: mongodb-clients
-Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el
Depends:
${misc:Depends},
${shlibs:Depends}
@@ -109,7 +109,7 @@ Description: object/document-oriented database (client apps)
Package: mongodb-dev
Section: libdevel
-Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf ppc64el
Depends:
libboost-dev,
${misc:Depends}
diff --git a/debian/mongodb-server.mongodb.upstart b/debian/mongodb-server.mongodb.upstart
index e953febb8cc..69f6a10772b 100644
--- a/debian/mongodb-server.mongodb.upstart
+++ b/debian/mongodb-server.mongodb.upstart
@@ -4,7 +4,7 @@ description "MongoDB"
start on runlevel [2345]
stop on runlevel [!2345]
-limit nofile 20000 20000
+limit nofile 64000 64000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
diff --git a/debian/patches/0004-Support-ppc64el-builds.patch b/debian/patches/0004-Support-ppc64el-builds.patch
new file mode 100644
index 00000000000..fffd62c2efe
--- /dev/null
+++ b/debian/patches/0004-Support-ppc64el-builds.patch
@@ -0,0 +1,15 @@
+Description: Add support for detection of powerpc64 platform
+Author: James Page <james.page@ubuntu.com>
+Forwarded: no
+
+--- a/src/mongo/platform/bits.h
++++ b/src/mongo/platform/bits.h
+@@ -19,7 +19,7 @@
+
+ // figure out if we're on a 64 or 32 bit system
+
+-#if defined(__x86_64__) || defined(__amd64__) || defined(_WIN64)
++#if defined(__x86_64__) || defined(__amd64__) || defined(_WIN64) || defined(__powerpc64__)
+ #define MONGO_PLATFORM_64
+ #elif defined(__i386__) || defined(_WIN32) || defined(__arm__)
+ #define MONGO_PLATFORM_32
diff --git a/debian/patches/0099-Pagesize-hacks.patch b/debian/patches/0099-Pagesize-hacks.patch
new file mode 100644
index 00000000000..a821fba7a2a
--- /dev/null
+++ b/debian/patches/0099-Pagesize-hacks.patch
@@ -0,0 +1,48 @@
+diff --git a/src/mongo/util/logfile.cpp b/src/mongo/util/logfile.cpp
+index fa53690..28562b2 100644
+--- a/src/mongo/util/logfile.cpp
++++ b/src/mongo/util/logfile.cpp
+@@ -26,6 +26,7 @@
+ #include "mongo/util/startup_test.h"
+ #include "mongo/util/text.h"
+
++#define PAGESIZE sysconf(_SC_PAGESIZE)
+
+ using namespace mongoutils;
+
+@@ -36,16 +41,16 @@ namespace mongo {
+ if( 0 && debug ) {
+ try {
+ LogFile f("logfile_test");
+- void *p = malloc(16384);
++ void *p = malloc(4*PAGESIZE);
+ char *buf = (char*) p;
+- buf += 4095;
++ buf += PAGESIZE - 1;
+ buf = (char*) (((size_t)buf)&(~0xfff));
+ memset(buf, 'z', 8192);
+- buf[8190] = '\n';
+- buf[8191] = 'B';
++ buf[2 * PAGESIZE - 2] = '\n';
++ buf[2 * PAGESIZE - 1] = 'B';
+ buf[0] = 'A';
+- f.synchronousAppend(buf, 8192);
+- f.synchronousAppend(buf, 8192);
++ f.synchronousAppend(buf, 2 * PAGESIZE);
++ f.synchronousAppend(buf, 2 * PAGESIZE);
+ free(p);
+ }
+ catch(DBException& e ) {
+@@ -226,7 +231,11 @@ namespace mongo {
+
+ fassert( 16144, charsToWrite >= 0 );
+ fassert( 16142, _fd >= 0 );
+- fassert( 16143, reinterpret_cast<ssize_t>( buf ) % g_minOSPageSizeBytes == 0 ); // aligned
++
++// Disabling alignment test on PPC64 due to a 64kB page size on PPC64 instead of 4kB on x86
++#ifndef __PPC64__
++ fassert( 16143, reinterpret_cast<ssize_t>( buf ) % g_minOSPageSizeBytes == 0 ); // aligned
++#endif
+
+ #ifdef POSIX_FADV_DONTNEED
+ const off_t pos = lseek(_fd, 0, SEEK_CUR); // doesn't actually seek, just get current position
diff --git a/debian/patches/series b/debian/patches/series
index e34c0a40b2f..d965da2f740 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,5 @@
0009-ignore-unused-local-typedefs.patch
0010-fix-integer-signs.patch
0011-Use-a-signed-char-to-store-BSONType-enumerations.patch
+0099-Pagesize-hacks.patch
+0004-Support-ppc64el-builds.patch