Package: debian-policy Version: 4.6.2.0 Severity: important Hi,
with the upcoming time_t & friends 64-bit transition, dpkg-buildflags will be used to configure the ABI in use. Thus all compiler invocations *must* use the flags specified by dpkg-buildflags to avoid ABI inconsistencies like this one: struct T { time_t a; time_t b; }; If this struct is accessed from both `libfoo1t64` (built respecting dpkg-buildflags and thus time_t is 64-bit) and `bar` (built by a user invoking gcc themselves), the result is probably not what one wants. Thus `dpkg-buildflags` *must* be used by all packages *and* all users, including users building their own software. There is one exception when libraries provide both 32-bit and 64-bit time_t ABIs like glibc itself (but I doubt there are many of those). Any compiler invocation missing these *should* be a serious bug. (This should probably be mentioned in user documentation as well.) Currently Debian Policy does not mention dpkg-buildflags at all. Ansgar