On Monday 2023-01-09 08:04, Jiri Slaby wrote: > On 18. 08. 22, 2:43, Stephen Hemminger wrote: >> DECnet is an obsolete network protocol > > this breaks userspace. Some projects include linux/dn.h: > > https://codesearch.debian.net/search?q=include.*linux%2Fdn.h&literal=0 > > I found Trinity fails to build: > net/proto-decnet.c:5:10: fatal error: linux/dn.h: No such file or directory > 5 | #include <linux/dn.h> > > Should we provide the above as empty files? Not a good idea. There may be configure tests / code that merely checks for dn.h existence without checking for specific contents/defines. If you provide empty files, this would fail to build: #include "config.h" #ifdef HAVE_LINUX_DN_H # include <linux/dn.h> #endif int main() { #ifdef HAVE_LINUX_DN_H socket(AF_DECNET, 0, DNPROTO_NSP); // or whatever #else ... #endif } So, with my distro hat on, outright removing header files feels like the slightly lesser of two evils. Given the task to port $arbitrary software between operating systems, absent header files is something more or less "regularly" encountered, so one could argue we are "trained" to deal with it. But missing individual defines is a much deeper dive into the APIs and software to patch it out.