summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-03-11 15:13:55 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-03-11 15:13:55 +0200
commitfeff80cec3c97a3df2c20d300be12d67f79d4f22 (patch)
treeead2fcc58cc08105bf344537426385525a2f8cc9
parentc6079b0278a94fa1a9477a9ab667fd419acc388b (diff)
downloadguix-feff80cec3c97a3df2c20d300be12d67f79d4f22.tar.gz
Revert "gnu: mongodb: Update to 3.4.24 [security fixes]."
This reverts commit e5f89570c1d72c4b674fad6b6ad5591ead02d419.

After this version mongodb switched to the Server Side Public License
(https://www.mongodb.com/licensing/server-side-public-license) which is
not a FOSS license.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/databases.scm13
-rw-r--r--gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch55
3 files changed, 64 insertions, 5 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c2637926ee..a39c5d8592 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1396,6 +1396,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mpc123-initialize-ao.patch		\
   %D%/packages/patches/module-init-tools-moduledir.patch	\
   %D%/packages/patches/monero-use-system-miniupnpc.patch			\
+  %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch	\
   %D%/packages/patches/mono-mdoc-timestamping.patch		\
   %D%/packages/patches/mozjs17-aarch64-support.patch		\
   %D%/packages/patches/mozjs24-aarch64-support.patch		\
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 03d01b582a..8bb248fa1d 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -664,24 +664,27 @@ replacement for the code@{python-memcached} library.")
 (define-public mongodb
   (package
     (name "mongodb")
-    (version "3.4.24")
+    (version "3.4.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mongodb/mongo/archive/r"
                                   version ".tar.gz"))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
-               (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg"))
+               (base32 "0676lvkljj7a5hdhv78dbykqnqrj9lbn9799mi84b8vbnzsq961r"))
               (modules '((guix build utils)))
               (snippet
                '(begin
                   (for-each (lambda (dir)
                               (delete-file-recursively
                                 (string-append "src/third_party/" dir)))
-                            '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3"
+                            '("pcre-8.41" "scons-2.5.0" "snappy-1.1.3"
                               "valgrind-3.11.0" "wiredtiger"
-                              "yaml-cpp-0.6.2" "zlib-1.2.11"))
-                  #t))))
+                              "yaml-cpp-0.5.3" "zlib-1.2.8"))
+                  #t))
+              (patches
+               (list
+                (search-patch "mongodb-support-unknown-linux-distributions.patch")))))
     (build-system scons-build-system)
     (inputs
      `(("openssl" ,openssl-1.0)
diff --git a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch
new file mode 100644
index 0000000000..6057ebeb08
--- /dev/null
+++ b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch
@@ -0,0 +1,55 @@
+From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001
+From: Mark Benvenuto <mark.benvenuto@mongodb.com>
+Date: Wed, 20 Sep 2017 11:50:02 -0400
+Subject: [PATCH] SERVER-30857 Support unknown Linux distributions
+
+---
+ src/mongo/rpc/metadata/client_metadata.cpp | 6 ------
+ src/mongo/util/processinfo_linux.cpp       | 9 ++++++---
+ 2 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp
+index 845a315dd74..a959a4e31e9 100644
+--- a/src/mongo/rpc/metadata/client_metadata.cpp
++++ b/src/mongo/rpc/metadata/client_metadata.cpp
+@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName,
+                                       StringData osArchitecture,
+                                       StringData osVersion,
+                                       BSONObjBuilder* builder) {
+-    invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() &&
+-              !osArchitecture.empty() && !osVersion.empty());
+-
+     BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName));
+ 
+     {
+@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName,
+                                         StringData osVersion,
+                                         StringData appName,
+                                         BSONObjBuilder* builder) {
+-    invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() &&
+-              !osArchitecture.empty() && !osVersion.empty());
+-
+     if (appName.size() > kMaxApplicationNameByteLength) {
+         return Status(ErrorCodes::ClientMetadataAppNameTooLarge,
+                       str::stream() << "The '" << kApplication << "." << kName
+diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
+index c3debf377bd..c2813b026b0 100644
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -376,10 +376,13 @@ class LinuxSysHelper {
+             if ((nl = name.find('\n', nl)) != string::npos)
+                 // stop at first newline
+                 name.erase(nl);
+-            // no standard format for name and version.  use kernel version
+-            version = "Kernel ";
+-            version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease");
++        } else {
++            name = "unknown";
+         }
++
++        // There is no standard format for name and version so use the kernel version.
++        version = "Kernel ";
++        version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease");
+     }
+ 
+     /**