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>