[Pkg-zsh-devel] Bug#776964: Headers installed by zsh-dev packages miss critical pieces

ZyX kp-pav at yandex.ru
Thu Jul 16 14:07:29 UTC 2015



16.07.2015, 10:36, "Axel Beckert" <abe at debian.org>:
> Hi,
>
> ZyX wrote:
>>  Any progress on this? Gentoo have fixed their instance of the
>>  similar bug.
>
> Actually not. Slipped off at least my radar, so thanks for the heads
> up.
>
> I've just looked into it and a few questions came up:
>
> ZyX wrote:
>>  > Do you think it would make sense to include the other header files
>>  > with zsh-dev as well? Like "zshterm.h" etc?
>>
>>  In my ebuild I am simply doins all *.h files from Src, passed
>>  throught these filters, so zshterm.h gets caught as well.
>
> Just to get it right: We're not talking about those .h files in git or
> in the source tar ball, but those generated during the build:
>
> ./obj/config.h
> ./obj/Src/version.h
> ./obj/Src/zshcurses.h
> ./obj/Src/Modules/curses_keys.h
> ./obj/Src/Modules/errcount.h
> ./obj/Src/zshxmods.h
> ./obj/Src/Builtins/rlimits.h
> ./obj/Src/Zle/zle_widget.h
> ./obj/Src/Zle/zle_things.h
> ./obj/Src/patchlevel.h
> ./obj/Src/zshpaths.h
> ./obj/Src/sigcount.h
> ./obj/Src/zshterm.h
>
> vs
>
> ./Src/ztype.h
> ./Src/signals.h
> ./Src/prototypes.h
> ./Src/zsh.h
> ./Src/Modules/tcp.h
> ./Src/hashtable.h
> ./Src/Zle/compctl.h
> ./Src/Zle/comp.h
> ./Src/Zle/zle.h
> ./Src/zsh_system.h

Both set of files is not needed. But only the first level: Src/*.h and obj/Src/*.h. Maybe for other modules (not zpython) {,obj/}Src/Zle/*.h and {,obj/}Builtins/*.h may be needed in the future, but I am not sure, especially about rlimits.h.

Also *.epro.

>
>>  But I think that all of them are #included by zsh.mdh, at least
>>  zshterm.h does (zsh.mdh includes zsh_system.h and that includes
>>  zshterm.h). Did not know you do not do the same thing (I mean,
>>  adding Src/*.h).
>
> We're currently including Src/*.h (albeit listed manually) and
> obj/Src/sigcount.h.

Problem is that Gentoo and I build zsh in the source tree. So my Src/*.h includes obj/Src/*.h. (In fact, I did not knew that zsh can be built the other way.)

>
> We're also not including e.g. Src/Modules/tcp.h.
>
> Frank: Shall I include all *.h automatically (i.e. currently all files
> listed above) or are there some objections, e.g. against
> obj/Src/version.h or obj/config.h? I remember that such generic names
> caused issues in other -dev packages in the past.

config.h is one of the most required files, because without this many of other headers will not work. It is the main reason current zsh-dev is almost useless. This should not cause issues because it is going to be moved to zsh/config.h. For this reason Gentoo ebuild changes local includes like "config.h" to system includes like <zsh/config.h> (it was enough to only fix {,obj/}Src/*.h files).

This should only cause issues if developer for some reason uses -I/usr/include/zsh, or if those files are put into /usr/include.

>
>                 Regards, Axel
> --
>  ,''`. | Axel Beckert <abe at debian.org>, http://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