Package: grfcodec Version: 6.0.6-2 Severity: serious Justification: policy 4.6 Tags: upstream
grfcodec can make the build loop indefinitely. The attached bad.patch demonstrates the behaviour. The problem seems to be https://sources.debian.org/src/grfcodec/6.0.6-2/Makefile/#L216: | $(_C)objs/$(ENDIAN_CHECK) $(ENDIAN_PARAMS) > src/endian.h || rm src/endian.h If running $(ENDIAN_CHECK) fails (which is what bad.patch does), then src/endian.h is removed, but this is counted as success. For some reason make restarts compiling from scratch in that case and builds ad infinitum. I aborted it after it tried building each file 18000 times. This bug breaks Debian QA infrastructure. To paper over the bug, you could use the following line: | $(_C)objs/$(ENDIAN_CHECK) $(ENDIAN_PARAMS) > src/endian.h || { rm src/endian.h; exit 1; } Thus making the command fail and make aborts. In essence, the failing behaviour is not aborting the build when a failure happens. This is prohibited by Debian policy section 4.6 and proved fatal this time around. Helmut