Bug#1006870: sdl12-compat: please make the build reproducible

Simon McVittie smcv at debian.org
Tue Mar 8 11:27:16 GMT 2022


On Tue, 08 Mar 2022 at 07:27:36 +0000, Chris Lamb wrote:
> Ah, whoops, looks like I screwed up in two ways here. I meant to write
> "then removes the *group* executable bits" and the patch should match:
> 
>   -override_dh_fixperms:
>   -        dh_fixperms -Xusr/libexec/installed-tests
>   +execute_after_dh_fixperms:
>   +        find debian -path "*/usr/libexec/installed-tests/*" -type f print0 | xargs -0r chmod g-x

I don't think that's right either, for two reasons:

1. We usually want to normalize permissions of installed files to 0755
   for executables and 0644 for non-executables, except in special cases
   (which is `chmod a+rX,u+w,go-w` in symbolic notation);
2. If we let dh_fixperms make everything executable, then the 1 bit per
   regular file that we want to preserve for use by chmod a+X
   (executable vs. not) has already been lost and cannot be recovered

> you will probably find a cleaner solution anyway

This has prompted me to open https://bugs.debian.org/1006927, because I
think the cleaner solution might be to change debhelper so it doesn't
have the behaviour that we're working around here.

Failing that, I think the next best thing is `chmod a+rX,u+w,og-w`
which has the desired result, ((mode & 0111) ? 0755 : 0644)
(assuming that the upstream build system can at least manage to make
files correctly executable or non-executable, which this one does).

    smcv



More information about the Pkg-sdl-maintainers mailing list