[Pkg-zsh-devel] zsh FTBFS under Salsa CI's reprotest: 'KEY_EVENT' undeclared / blhc CI check disabled / bullseye freeze: zsh is considered a key package

Axel Beckert abe at debian.org
Mon Oct 12 16:45:30 BST 2020


Hi,

a few current topics on zsh in Debian:


1. zsh FTBFS inside reprotest on Salsa CI:
https://salsa.debian.org/debian/zsh/-/jobs/1012123#L2931

Relevant lines:

gcc -c -I. -I../../Src -I../../../Src -I../../../Src/Zle -I../../../Src/Modules -Wdate-time -D_FORTIFY_SOURCE=2  -DHAVE_CONFIG_H -DMODULE -g -O2 -fdebug-prefix-map=/tmp/reprotest.1y9OUh/const_build_path/const_build_path=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -fPIC -o curses..o ../../../Src/Modules/curses.c
In file included from ../../../Src/Modules/curses.c:210:
./curses_keys.h:93:15: error: ‘KEY_EVENT’ undeclared here (not in a function); did you mean ‘KEY_RESET’?
   93 |     {"EVENT", KEY_EVENT},
      |               ^~~~~~~~~
      |               KEY_RESET
make[5]: *** [Makefile:240: curses..o] Error 1

Anyone an idea why? Because if I run "reprotest --variations=-kernel
." locally in my checked out source of zsh, it passes without issues.

(If I omit the "--variations=-kernel", it will FTBFS, but with
"unshare" failing with "No space left on device" despite I have no
idea on which device that happens. But since there are quite some
issues known to reprotest calling unshare in both its README as well
as in the bug reports against reprotest, I do not expect this to be a
zsh issue.)

So I just declared that reprotest failures on Salsa CI are acceptable
(for now). See
https://salsa.debian.org/salsa-ci-team/pipeline#allow-reprotest-to-fail

Will push the according commit soon.


2. I disabled the blhc check on Salsa CI since all reported issues
(https://salsa.debian.org/debian/zsh/-/jobs/1012124) are false
positives IMHO:

1702:CPPFLAGS missing (-D_FORTIFY_SOURCE=2): case "`gcc -E --version </dev/null 2>&1`" in \ *"Free Software Foundation"*) \ gcc -E -P sigtmp.c >sigtmp.out
1704:CPPFLAGS missing (-D_FORTIFY_SOURCE=2):  \ *) \ gcc -E sigtmp.c >sigtmp.out
2153:CPPFLAGS missing (-D_FORTIFY_SOURCE=2):  \  case "`gcc -E --version </dev/null 2>&1`" in \  *"Free Software Foundation"*) \  gcc -E -P errtmp.c >errtmp.out
2155:CPPFLAGS missing (-D_FORTIFY_SOURCE=2):  \  *) \  gcc -E errtmp.c >errtmp.out
2977:CPPFLAGS missing (-D_FORTIFY_SOURCE=2): case "`gcc -E --version </dev/null 2>&1`" in \ *"Free Software Foundation"*) \ gcc -E -P sigtmp.c >sigtmp.out
2979:CPPFLAGS missing (-D_FORTIFY_SOURCE=2):  \ *) \ gcc -E sigtmp.c >sigtmp.out

These look like calls from the configure script where CPPFLAGS are
completely irrelevant, but actually are run during build, but with a
purpose identical to the configure script. (Anyone knows why these
things are not done inside the configure script?)

3600:LDFLAGS missing (-Wl,-z,relro -Wl,-z,now): gcc -static   -o zsh main.o  `cat stamp-modobjs`   -lgdbm -lpcre -lcap -lncursesw -ltinfo -ltinfo -lrt -lm  -lc

I would expect that these linker options are unused because it is the
compilation of the static zsh binary and these options only make sense
on dynamical linking. (If I'm wrong here, please tell me and I'll try
to find a fix for this.)


3. JFYI: For the bullseye freeze, so called key packages get harder
treatment than other packages:

https://release.debian.org/bullseye/freeze_policy.html

I just realised that zsh is actually considered such a key package
based on its popcon value (i.e. its popularity):

https://udd.debian.org/cgi-bin/key_packages.yaml.cgi


		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



More information about the Pkg-zsh-devel mailing list