Package: src:weex
Version: 2.8.4.2
Tags: patch

The weex's Makefile _may_ run aclocal/autoconf/configure in dh_auto_build
depending on the timestamp comparison of files configure.in and aclocal.m4
(for details, manually run `dh_auto_configure` then check `make --debug`).

Non-maintainers might be unaware of this, and get unexpected build results,
e.g., _not_ link against `libssl` (which even segfaults in 2.8.3! LP: #1811817),
if they just `cp/scp -r` files, for example (not the most precise
copy, arguably,
but also unexpected to _silently_ produce such a different result and impact).

Ideally, `dh_autoreconf` would update `configure` in `dh_auto_configure`,
but it still fails (bug 929050) and needs more work that is very specific to
the project/package, apparently, and thus better handled by maintainers.

So, for now, in order to make the builds more deterministic and not implicitly
rely on the timestamps of the two files, let's just ensure `debian/rules` does
explicitly update the timestamp as required to keep current build behavior.

Thanks,
Mauricio

test steps:

$ dpkg-source -x weex_2.8.4.2.dsc
$ cp -r weex-2.8.4.2 weex-2.8.4.2-copy
$ ls -l --full-time weex-2.8.4.2{,-copy}/{aclocal.m4,configure.in}
-rw-rw-r-- 1 ubuntu ubuntu 183326 2024-02-09 15:10:04.563181675 +0000
weex-2.8.4.2-copy/aclocal.m4
-rw-rw-r-- 1 ubuntu ubuntu   2134 2024-02-09 15:10:04.563181675 +0000
weex-2.8.4.2-copy/configure.in
-rw-rw-r-- 1 ubuntu ubuntu 183326 2014-09-19 21:35:12.000000000 +0000
weex-2.8.4.2/aclocal.m4
-rw-rw-r-- 1 ubuntu ubuntu   2134 2017-02-08 14:03:36.000000000 +0000
weex-2.8.4.2/configure.in

original directory:

$ cd weex-2.8.4.2
$ dpkg-buildpackage -b -uc
...
dh_auto_configure
...
checking for SSL_library_init in -lssl... no
...
dh_auto_build
...
checking for OPENSSL_init_ssl in -lssl... yes
...

$ ldd ./debian/weex/usr/bin/weex | grep libssl
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007ff1214d9000)

copy directory:

$ cd ../weex-2.8.4.2-copy
$ dpkg-buildpackage -b -uc
...
dh_auto_configure
...
checking for SSL_library_init in -lssl... no
...
dh_auto_build
...

$ ldd ./debian/weex/usr/bin/weex | grep libssl
$


-- 
Mauricio Faria de Oliveira

Attachment: weex-touch-configurein.debdiff
Description: Binary data

Reply via email to