Subject: Re: bug#75903: 29.4; compat 30.0.2.0 build failure on Emacs 28.2

From: Daniel Mendler <[email-masked]>
Date: Tue, 28 Jan 2025 14:20:17 +0100

Daniel Mendler <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Xiyue Deng <[email-masked]>
>>> Date: Mon, 27 Jan 2025 15:22:47 -0800
>>> 
>>> When trying to build compat 30.0.2.0 using Emacs 28.2 from Debian
>>> Bookworm (the current stable release), the build process throws the
>>> following error:
>>> 
>>> ,----
>>> | ...
>>> | dh binary --with elpa
>>> |    dh_update_autotools_config
>>> |    dh_autoreconf
>>> |    dh_auto_configure
>>> |    dh_auto_build
>>> |         make -j2 "INSTALL=install --strip-program=true"
>>> | make[1]: Entering directory '/build/reproducible-path/compat-el-30.0.2.0+dfsg'
>>> | Compiling compat-25.el
>>> | Compiling compat-26.el
>>> | Compiling compat-27.el
>>> | Compiling compat-28.el
>>> | Compiling compat-29.el
>>> | Compiling compat-30.el
>>> | 
>>> | In toplevel form:
>>> | compat-30.el:28:1: Error: untrusted-content already defined
>>> | make[1]: *** [Makefile:81: compat-30.elc] Error 1
>>> | make[1]: *** Waiting for unfinished jobs....
>>> | make[1]: Leaving directory '/build/reproducible-path/compat-el-30.0.2.0+dfsg'
>>> | dh_auto_build: error: make -j2 "INSTALL=install --strip-program=true" returned exit code 2
>>> | make: *** [debian/rules:4: binary] Error 25
>>> | dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
>>> | --------------------------------------------------------------------------------
>>> | Build finished at 2025-01-27T23:09:47Z
>>> `----
>>> 
>>> This doesn't happen when building using Emacs 29.4 from Debian Trixie
>>> (current testing).
>>
>> Daniel, could you please look into this?
>
> You can build Compat with (setq compat-strict nil). Compat has strict
> checks in place which check that the defined symbols match the reported
> Emacs version. These checks are for the purpose of Compat development. I
> suspect that Debian has security patches applied which turn Emacs 28.2
> into an Emacs 28/29 mix. See also the report at
> https://github.com/emacs-compat/compat/issues/60.

I have pushed a fix. See Compat commit
bfc0a46098be2dcaad0518ec200ff5a2be5cc9bb.

Daniel