diff -Nru doomsday-1.15.8/debian/changelog doomsday-1.15.8/debian/changelog --- doomsday-1.15.8/debian/changelog 2016-10-09 18:15:23.000000000 +0200 +++ doomsday-1.15.8/debian/changelog 2017-06-27 20:59:36.000000000 +0200 @@ -1,3 +1,15 @@ +doomsday (1.15.8-3ubuntu0.1) zesty; urgency=medium + + * Add patches to fix the following issues: + - segfault on startup (Closes: #847651. Fixes LP: #1700822) + - segfault when attempting to start a new game (Closes: #863536) + - make the build reproducible (Closes: #858333) + * Effectively this adds the same patches as in 1.15.8-5, therefore + the reproducible build patch is included as well to keep the delta + to that version to a minimum. + + -- Hans Joachim Desserud Tue, 27 Jun 2017 20:59:36 +0200 + doomsday (1.15.8-3) unstable; urgency=medium * Team upload. diff -Nru doomsday-1.15.8/debian/patches/mo-thinker-NULL-pointer.patch doomsday-1.15.8/debian/patches/mo-thinker-NULL-pointer.patch --- doomsday-1.15.8/debian/patches/mo-thinker-NULL-pointer.patch 1970-01-01 01:00:00.000000000 +0100 +++ doomsday-1.15.8/debian/patches/mo-thinker-NULL-pointer.patch 2017-06-27 20:52:27.000000000 +0200 @@ -0,0 +1,24 @@ +From: Bernhard Übelacker +Date: Thu, 1 Jun 2017 23:39:34 +0200 +Subject: mo thinker NULL pointer + +Bug-Debian: https://bugs.debian.org/863536 +Forwarded: no +--- + doomsday/client/src/client/cl_mobj.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/doomsday/client/src/client/cl_mobj.cpp b/doomsday/client/src/client/cl_mobj.cpp +index 1f207f5..f57270d 100644 +--- a/doomsday/client/src/client/cl_mobj.cpp ++++ b/doomsday/client/src/client/cl_mobj.cpp +@@ -211,6 +211,9 @@ void Cl_UpdateRealPlayerMobj(mobj_t *localMobj, mobj_t *remoteClientMobj, + + dd_bool Cl_IsClientMobj(mobj_t const *mo) + { ++ if(!mo->thinker.d) ++ return false; ++ + if(ClientMobjThinkerData *data = THINKER_DATA_MAYBE(mo->thinker, ClientMobjThinkerData)) + { + return data->hasRemoteSync(); diff -Nru doomsday-1.15.8/debian/patches/Node-parent-NULL-pointer.patch doomsday-1.15.8/debian/patches/Node-parent-NULL-pointer.patch --- doomsday-1.15.8/debian/patches/Node-parent-NULL-pointer.patch 1970-01-01 01:00:00.000000000 +0100 +++ doomsday-1.15.8/debian/patches/Node-parent-NULL-pointer.patch 2017-06-27 20:52:27.000000000 +0200 @@ -0,0 +1,24 @@ +From: Bernhard Übelacker +Date: Tue, 23 May 2017 15:06:55 +0200 +Subject: Node parent NULL pointer + +Bug-Debian: https://bugs.debian.org/847651 +Forwarded: no +--- + doomsday/libcore/src/filesys/file.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/doomsday/libcore/src/filesys/file.cpp b/doomsday/libcore/src/filesys/file.cpp +index fd9b8dc..a4a21c5 100644 +--- a/doomsday/libcore/src/filesys/file.cpp ++++ b/doomsday/libcore/src/filesys/file.cpp +@@ -111,6 +111,9 @@ FileSystem &File::fileSystem() + + Folder *File::parent() const + { ++ if (!Node::parent()) ++ return NULL; ++ + return Node::parent()->maybeAs(); + } + diff -Nru doomsday-1.15.8/debian/patches/reproducible-build.patch doomsday-1.15.8/debian/patches/reproducible-build.patch --- doomsday-1.15.8/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100 +++ doomsday-1.15.8/debian/patches/reproducible-build.patch 2017-06-27 20:52:27.000000000 +0200 @@ -0,0 +1,38 @@ +From: Chris Lamb +Date: Fri, 2 Jun 2017 00:22:54 +0200 +Subject: reproducible build + +Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858333 +Forwarded: https://github.com/skyjake/Doomsday-Engine/pull/16 +--- + doomsday/build/scripts/buildpackage.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/doomsday/build/scripts/buildpackage.py b/doomsday/build/scripts/buildpackage.py +index 5e76928..133384d 100755 +--- a/doomsday/build/scripts/buildpackage.py ++++ b/doomsday/build/scripts/buildpackage.py +@@ -7,7 +7,7 @@ + # buildpackage (pack-dir) (output-dir) + # + +-import sys, os, os.path, zipfile ++import sys, os, os.path, zipfile, time + + if len(sys.argv) < 2: + print "Usage: %s (pack-dir) (output-dir)" % sys.argv[0] +@@ -58,9 +58,12 @@ class Package: + sys.exit(1) + + # Write entries in alphabetical order. ++ date_time = time.localtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))) + for full, internal in sorted(contents): +- os.chmod(full, 0644) +- pack.write(full, internal) ++ info = zipfile.ZipInfo(internal, date_time) ++ info.external_attr = 0644 << 16L ++ with open(full, 'rb') as f: ++ pack.writestr(info, f.read()) + + # Write it out. + print "Wrote %s (contains %i files)." % (outputName, len(pack.namelist())) diff -Nru doomsday-1.15.8/debian/patches/series doomsday-1.15.8/debian/patches/series --- doomsday-1.15.8/debian/patches/series 2016-10-09 18:15:23.000000000 +0200 +++ doomsday-1.15.8/debian/patches/series 2017-06-27 20:52:27.000000000 +0200 @@ -9,3 +9,6 @@ no-libexample.patch no-timestamps.patch no-shlibexits.patch +Node-parent-NULL-pointer.patch +mo-thinker-NULL-pointer.patch +reproducible-build.patch