Package: debian-policy Version: 4.5.1.0 Severity: minor At the moment, debian/rules is required to be a Makefile, but it's not exactly defined. In the absence of an explicit statement it seems most reasonable that it would be inherited from POSIX, but use of GNU extensions are liberal even in the Makefile excerpts provided by dpkg, for example. As make is notorious for its vendor-specific variants, this stands to be clarified.
Specify, perhaps in the Definitions section, that a Makefile is a file to be usable with GNU Make. This makes explicit that GNU Make is the standard, and implies that provided Makefiles may use such extensions. On the topic, the GNU Make package now provides the 'gmake' binary, and the requirement that debian/rules starts with '#!/usr/bin/make' seems overly strict. Analogously to the requirements for shell scripts, I would like to make my GNU makefiles start with '#!/usr/bin/gmake' for explicitness: > If a shell script requires non-POSIX.1-2017 features from the shell > interpreter other than those listed above, the appropriate shell must be > specified in the first line of the script (e.g., #!/bin/bash) and the > package must depend on the package providing the shell (unless the shell > package is marked “Essential”, as in the case of bash). GNU Make extensions are the status quo, so I'd merely like it to be permissible to use the 'gmake' shebang line, or perhaps one that's functionally equivalent. -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (500, 'testing'), (2, 'unstable'), (1, 'testing-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-1-amd64 (SMP w/2 CPU threads) Kernel taint flags: TAINT_USER, TAINT_FIRMWARE_WORKAROUND Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled debian-policy depends on no packages. Versions of packages debian-policy recommends: ii libjs-sphinxdoc 3.4.3-1 Versions of packages debian-policy suggests: ii doc-base 0.11 -- no debconf information
signature.asc
Description: This is a digitally signed message part.