Control: tags -1 + patch

I have attached a patch relative to the 0ad Debian package version 0.0.24b-2 (on the Debian salsa repository) that allows building a binary package of 0.0.25 with the default debuild(1) process. I hereby release my modifcations under the Creative Commons CC0 license, which is public domain. Let me know if you prefer a different license.

Using debuild has exposed a bug with either dwz or the bundled mozjs library. dwz crashes with an assert (relevant build logs attached as "dh_dwz crash when processing libmozjs78-ps-release.so.txt"). I worked around the crash with an override to dh_dwz in d/rules. An alternative solution might be to apply patches from the Debian package mozjs-78-0.

I have also attached a file that explains why each version was chosen for each updated dependency line in the control file. The file name is "dependency version rationale.txt".

Thanks
diff -ur 0ad-0.0.24b-2_debian_salsa_version/debian/changelog 0ad-0.0.25-1+nmu1/debian/changelog
--- 0ad-0.0.24b-2_debian_salsa_version/debian/changelog	2021-08-09 21:29:53.000000000 -0500
+++ 0ad-0.0.25-1+nmu1/debian/changelog	2021-08-12 16:38:03.000000000 -0500
@@ -1,3 +1,16 @@
+0ad (0.0.25-1+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * New upstream release. 
+  * d/control: Update required versions of dependencies.
+  * d/rules: Clean up build files for libnvtt and spidermonkey in 
+    dh_auto_clean.
+  * d/rules: Exclude libmozjs78-ps-release.so from dh_dwz in order to work 
+    around a crash in dwz.
+  * d/watch: Update URL for releases.
+
+ -- David W. Kennedy <dave_k AT reasoned DOT us>  Mon, 09 Aug 2021 22:32:21 +0000
+
 0ad (0.0.24b-2) UNRELEASED; urgency=medium
 
   [ Pino Toscano ]
diff -ur 0ad-0.0.24b-2_debian_salsa_version/debian/control 0ad-0.0.25-1+nmu1/debian/control
--- 0ad-0.0.24b-2_debian_salsa_version/debian/control	2021-08-09 21:29:53.000000000 -0500
+++ 0ad-0.0.25-1+nmu1/debian/control	2021-08-12 17:07:01.000000000 -0500
@@ -11,13 +11,13 @@
  cmake,
  debhelper-compat (= 12),
  dpkg-dev (>= 1.15.5),
- libboost-dev,
- libboost-filesystem-dev,
- libcurl4-gnutls-dev | libcurl4-dev,
+ libboost-dev (>= 1.57.0.1),
+ libboost-filesystem-dev (>= 1.57.0.1),
+ libcurl4-gnutls-dev (>= 7.32.0) | libcurl4-dev (>= 7.32.0),
  libenet-dev (>= 1.3),
- libfmt-dev,
+ libfmt-dev (>= 4.0.0),
  libgloox-dev (>= 1.0.10),
- libicu-dev,
+ libicu-dev (>= 67.1-4~),
  libminiupnpc-dev (>= 1.6),
  libnspr4-dev,
  libogg-dev,
@@ -29,10 +29,11 @@
  libwxgtk3.0-gtk3-dev,
  libxcursor-dev,
  libxml2-dev,
+ llvm,
  pkg-config,
  python3,
- rustc,
- zlib1g-dev
+ rustc (>= 1.41),
+ zlib1g-dev (>= 1:1.2.3)
 Standards-Version: 4.5.0
 Homepage: http://play0ad.com/
 Vcs-Git: https://salsa.debian.org/games-team/0ad.git
diff -ur 0ad-0.0.24b-2_debian_salsa_version/debian/rules 0ad-0.0.25-1+nmu1/debian/rules
--- 0ad-0.0.24b-2_debian_salsa_version/debian/rules	2021-08-09 21:29:53.000000000 -0500
+++ 0ad-0.0.25-1+nmu1/debian/rules	2021-08-12 17:16:25.000000000 -0500
@@ -24,10 +24,12 @@
 	find binaries/system/ -type f ! -name readme.txt -delete
 	rm -f libraries/fcollada/lib/*.a
 	rm -f build/premake/.*.tmp
-	rm -f libraries/source/spidermonkey/lib/*
+	rm -rf libraries/source/spidermonkey/lib
 	rm -f libraries/source/cxxtest-4.4/python/cxxtest/*.pyc
 	rm -f libraries/source/fcollada/lib/*
 	rm -rf libraries/source/spidermonkey/include-unix-*
+	rm -rf libraries/source/spidermonkey/mozjs-78.6.0
+	rm -f libraries/source/nvtt/lib/*.so
 	rm -f source/ps/tests/stub_impl_hack.cpp
 	dh_auto_clean
 
@@ -57,5 +59,8 @@
 override_dh_strip:
 	dh_strip --dbgsym-migration='0ad-dbg (<< 0.0.20-2~)'
 
+override_dh_dwz:
+	dh_dwz -Xlibmozjs78-ps-release.so
+
 override_dh_makeshlibs:
 	dh_makeshlibs -Xusr/lib/games/0ad
diff -ur 0ad-0.0.24b-2_debian_salsa_version/debian/watch 0ad-0.0.25-1+nmu1/debian/watch
--- 0ad-0.0.24b-2_debian_salsa_version/debian/watch	2021-08-09 21:29:53.000000000 -0500
+++ 0ad-0.0.25-1+nmu1/debian/watch	2021-08-12 16:43:56.000000000 -0500
@@ -1,2 +1,2 @@
 version=3
-http://sf.net/zero-ad/0ad-([\d\.]+)-.*-unix-build\.tar\.xz
+https://releases.wildfiregames.com/0ad-([\d\.]+)-.*-unix-build\.tar\.gz
[snip]

   dh_dwz
dwz: debian/0ad/usr/lib/games/0ad/libmozjs78-ps-release.so: Couldn't find DIE 
at [743e7f3] referenced by DW_AT_abstract_origin from DIE at [743e8eb]
dwz: debian/0ad/usr/games/pyrogenesis: DWARF compression not beneficial - old 
size 133599705 new size 134674971
dwz: debian/0ad/usr/lib/games/0ad/libAtlasUI.so: DWARF compression not 
beneficial - old size 21795508 new size 21842246
dwz: ./dwz.c:11021: build_abbrevs_for_die: Assertion `refd != NULL' failed.
dh_dwz: error: dwz -mdebian/0ad/usr/lib/debug/.dwz/x86_64-linux-gnu/0ad.debug 
-M/usr/lib/debug/.dwz/x86_64-linux-gnu/0ad.debug -- 
debian/0ad/usr/games/pyrogenesis debian/0ad/usr/lib/games/0ad/ActorEditor 
debian/0ad/usr/lib/games/0ad/libAtlasUI.so 
debian/0ad/usr/lib/games/0ad/libCollada.so 
debian/0ad/usr/lib/games/0ad/libmozjs78-ps-release.so 
debian/0ad/usr/lib/games/0ad/libnvcore.so 
debian/0ad/usr/lib/games/0ad/libnvimage.so 
debian/0ad/usr/lib/games/0ad/libnvmath.so 
debian/0ad/usr/lib/games/0ad/libnvtt.so died with signal 6
make: *** [debian/rules:19: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed
For 0ad version 0.0.25, I updated these depencency package versions
in the debian/control file.

libboost-dev (>= 1.57.0.1); based on the build instructions at
https://trac.wildfiregames.com/wiki/BuildInstructions#Dependencies

libboost-filesystem-dev (>= 1.57.0.1); same as libboost-dev

rustc (>= 1.41); based on the dependencies in the Debian packages
of mozjs78 (78.4.0-2, in unstable) and mozjs78 (78.10.1-1, in
experimental)

zlib1g-dev (>= 1:1.2.3); same basis as that of the version of rustc
required for 0ad

libicu-dev (>= 67.1-4~); same basis as that of the version of rustc
required for 0ad

libcurl4-gnutls-dev (>= 7.32.0) | libcurl4-dev (>= 7.32.0); based on
the build instructions

libfmt-dev (>= 4.0.0); based on the build instructions

llvm; for llvm-objdump -- added based on the build instructions


- David W. Kennedy <dave_k AT reasoned DOT us>

Reply via email to