Hi Apollon,

On Thu, Jun 30, 2016 at 6:11 PM, Apollon Oikonomopoulos
<apoi...@debian.org> wrote:
> I think MongoDB 2.4 in unstable is already dead enough[1] that we should
> drop it before it gets a chance to build against GCC 6 in a couple of
> months. The attached patch fixes the FTBFS for the 2.6 package in
> experimental by disabling the newly-introduced warnings and patching
> (some) C++11 compatibility, but then again 2.6 will also be EOL by
> October[1].
 Yes, 2.6 has not too many time left. Still I think as a _first step_
it should be the next upload target. Reasons:
- proven, Ubuntu uses 2.6.11 from experimental without problems,
- easier and safer upgrade from the previous, 2.4 release.
I attach a debdiff for it, which builds with GCC 5.x and 6.y as well.
Please check it if you may have time. I plan to upload it in a week
timeline, maybe sooner if I don't find any problems with it.

> Note that most (if not all) of these warnings seem to be fixed in the
> 3.2 branch which IMHO should be the target version for Stretch.
 For the final Stretch release yes, 3.2 or 3.4 should be in the archives.

> I started a discussion with Làszlo quite a while ago regarding an
> updated MongoDB package, but didn't have the time to finish it, so I'd
> be happy to join you as well :)
 I'm always open to continue that with you. Sorry for the slow
response, I had big network problems at DebConf.
This is not the last place where I say thanks to Martin F. Krafft and
Jeffrey Walton for hardware donations, Wouter Verhelst and Gustavo
Panizzo for installer related helping. I owe you guys! While my
hardware problems don't end here, it's highly softened.

Thanks,
Laszlo/GCS
diff -Nur mongodb-2.6.11/debian/changelog mongodb-2.6.12/debian/changelog
--- mongodb-2.6.11/debian/changelog	2016-03-15 14:33:09.000000000 +0000
+++ mongodb-2.6.12/debian/changelog	2016-07-12 20:17:34.000000000 +0000
@@ -1,3 +1,16 @@
+mongodb (1:2.6.12-1) unstable; urgency=low
+
+  * New upstream release.
+  * Update Standards-Version to 3.9.8 .
+  * Upload to unstable.
+
+  [ Apollon Oikonomopoulos <apoi...@debian.org> ]
+  * Fix building with GCC 6 (closes: #811606):
+    - disabling the newly-introduced warnings,
+    - patching (some) C++11 compatibility.
+
+ -- Laszlo Boszormenyi (GCS) <g...@debian.org>  Tue, 12 Jul 2016 16:20:17 +0000
+
 mongodb (1:2.6.11-1) experimental; urgency=medium
 
   * New upstream release (closes: #748490).
diff -Nur mongodb-2.6.11/debian/control mongodb-2.6.12/debian/control
--- mongodb-2.6.11/debian/control	2016-03-15 11:16:17.000000000 +0000
+++ mongodb-2.6.12/debian/control	2016-07-12 18:03:26.000000000 +0000
@@ -23,7 +23,7 @@
  libv8-dev (>= 3.12) [!arm64 !ppc64el],
  python-pymongo,
  scons
-Standards-Version: 3.9.7
+Standards-Version: 3.9.8
 Vcs-Git: https://anonscm.debian.org/git/collab-maint/mongodb.git
 Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/mongodb.git/
 Homepage: https://www.mongodb.org
diff -Nur mongodb-2.6.11/debian/patches/fix-gcc-6-ftbfs.patch mongodb-2.6.12/debian/patches/fix-gcc-6-ftbfs.patch
--- mongodb-2.6.11/debian/patches/fix-gcc-6-ftbfs.patch	1970-01-01 00:00:00.000000000 +0000
+++ mongodb-2.6.12/debian/patches/fix-gcc-6-ftbfs.patch	2016-07-12 18:02:36.000000000 +0000
@@ -0,0 +1,67 @@
+Index: mongodb-2.6.11/SConstruct
+===================================================================
+--- mongodb-2.6.11.orig/SConstruct
++++ mongodb-2.6.11/SConstruct
+@@ -858,6 +858,10 @@ if nix:
+                          "-Wno-unused-variable",
+                          "-Wno-maybe-uninitialized",
+                          "-Wno-unknown-pragmas",
++			 "-Wno-misleading-indentation",
++			 "-Wno-deprecated-declarations",
++			 "-Wno-nonnull-compare",
++			 "-Wno-error=overflow",
+                          "-Winvalid-pch"] )
+     # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+     if linux or darwin:
+Index: mongodb-2.6.11/src/mongo/db/exec/working_set.cpp
+===================================================================
+--- mongodb-2.6.11.orig/src/mongo/db/exec/working_set.cpp
++++ mongodb-2.6.11/src/mongo/db/exec/working_set.cpp
+@@ -119,7 +119,7 @@ namespace mongo {
+     }
+ 
+     bool WorkingSetMember::hasComputed(const WorkingSetComputedDataType type) const {
+-        return _computed[type];
++        return _computed[type].get();
+     }
+ 
+     const WorkingSetComputedData* WorkingSetMember::getComputed(const WorkingSetComputedDataType type) const {
+Index: mongodb-2.6.11/src/mongo/db/pipeline/document_source_sort.cpp
+===================================================================
+--- mongodb-2.6.11.orig/src/mongo/db/pipeline/document_source_sort.cpp
++++ mongodb-2.6.11/src/mongo/db/pipeline/document_source_sort.cpp
+@@ -99,7 +99,7 @@ namespace mongo {
+     bool DocumentSourceSort::coalesce(const intrusive_ptr<DocumentSource> &pNextSource) {
+         if (!limitSrc) {
+             limitSrc = dynamic_cast<DocumentSourceLimit*>(pNextSource.get());
+-            return limitSrc; // false if next is not a $limit
++            return limitSrc.get(); // false if next is not a $limit
+         }
+         else {
+             return limitSrc->coalesce(pNextSource);
+Index: mongodb-2.6.11/src/mongo/db/pipeline/document_source_cursor.cpp
+===================================================================
+--- mongodb-2.6.11.orig/src/mongo/db/pipeline/document_source_cursor.cpp
++++ mongodb-2.6.11/src/mongo/db/pipeline/document_source_cursor.cpp
+@@ -141,7 +141,7 @@ namespace mongo {
+ 
+         if (!_limit) {
+             _limit = dynamic_cast<DocumentSourceLimit*>(nextSource.get());
+-            return _limit; // false if next is not a $limit
++            return _limit.get(); // false if next is not a $limit
+         }
+         else {
+             return _limit->coalesce(nextSource);
+Index: mongodb-2.6.11/src/mongo/s/chunk_manager_targeter.cpp
+===================================================================
+--- mongodb-2.6.11.orig/src/mongo/s/chunk_manager_targeter.cpp
++++ mongodb-2.6.11/src/mongo/s/chunk_manager_targeter.cpp
+@@ -48,7 +48,7 @@ namespace mongo {
+             *errMsg = ex.toString();
+         }
+ 
+-        return config;
++        return config.get();
+     }
+ 
+     ChunkManagerTargeter::ChunkManagerTargeter() :
diff -Nur mongodb-2.6.11/debian/patches/hardened-build.patch mongodb-2.6.12/debian/patches/hardened-build.patch
--- mongodb-2.6.11/debian/patches/hardened-build.patch	2016-03-15 11:16:17.000000000 +0000
+++ mongodb-2.6.12/debian/patches/hardened-build.patch	2016-07-12 16:41:31.000000000 +0000
@@ -1,8 +1,8 @@
-Index: mongodb-2.6.11/SConstruct
+Index: mongodb-2.6.12/SConstruct
 ===================================================================
---- mongodb-2.6.11.orig/SConstruct	2016-01-15 17:29:08.000000000 +0200
-+++ mongodb-2.6.11/SConstruct	2016-01-15 17:37:54.000000000 +0200
-@@ -474,7 +474,12 @@
+--- mongodb-2.6.12.orig/SConstruct	2016-01-15 17:29:08.000000000 +0200
++++ mongodb-2.6.12/SConstruct	2016-01-15 17:37:54.000000000 +0200
+@@ -484,7 +484,12 @@ env = Environment( variables=env_vars,
  
                     PCRE_VERSION='8.37',
                     CONFIGUREDIR = '#' + scons_data_dir + '/sconf_temp',
@@ -15,4 +15,4 @@
 +                   LINKFLAGS=os.environ.get("LDFLAGS", "").split(),
                     )
  
- if has_option("cache"):
+ # Report any unknown variables as an error.
diff -Nur mongodb-2.6.11/debian/patches/series mongodb-2.6.12/debian/patches/series
--- mongodb-2.6.11/debian/patches/series	2016-03-15 11:16:17.000000000 +0000
+++ mongodb-2.6.12/debian/patches/series	2016-07-12 18:03:10.000000000 +0000
@@ -11,3 +11,4 @@
 fix-yaml-detection.patch
 add-option-to-disable-javascript.patch
 hardened-build.patch
+fix-gcc-6-ftbfs.patch

Reply via email to