Date: Sun, 11 Jan 1998 12:26:21 +0800 From: Peter Wemm <peter@netplex.com.au> To: Brian Somers <brian@awfulhak.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, cvs-ports@FreeBSD.org Subject: Re: cvs commit: ports/www/squid12/patches patch-aj Message-ID: <199801110426.MAA27686@spinner.netplex.com.au> In-Reply-To: Your message of "Sat, 10 Jan 1998 21:29:57 GMT." <199801102129.VAA19254@awfulhak.demon.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Brian Somers wrote: > > > #include <net/if_var.h>, only on FreeBSD >= 3. Brought to you by the > > > lets-make-life-as-difficult-as-possible-by-screwing-up-the-headers team . > > > > Thank you for making this point - it's been driving me nuts too. Talk > > about adding a lot of pain for a minescule gain! This is just > > whitespace removal flying under a different banner. :-( > > I forget who, but someone talked about removing this if_var.h > necessity a while ago. I believe it was originally only intended as > a kernel-specific file. I can understand the intention, but the implementation is _way_ flawed. Sure, user apps may not need to see 'struct ifnet's internals, but the include files themselves break if it's not present. > It's *way* un-standard, and a real pain in the ass for ports. If you > don't build a new net/* port on both 2.2 & -current, you're almost > definitely gonna get hit by this. Everything that needs to include some <net*/if_*.h> file is hit by this, since most have a reference to > Can't we just #include it at the end of net/if.h and be done with it ? > Please ? Or does anyone want to fix it properly ? I'm not sure that's the best fix. Take if_tun.h for example. It would be best to split out the 'tun_softc' stuff into if_tunvar.h, that makes if_tun.h pretty much self contained. tun_softc is not used by any userland that I can see. The real kicker is if_arp.h. I've just noticed that Bruce has made a change here that should help - my system still isn't able to make world after my partitioning disaster. IMHO, if_arp.h needs to be split into if_arpvar.h so that userland programs that need to get to driver softc structs can get to the definitions without having to mess with defining KERNEL at the right time. For the record, here's what's had to be patched so far in the ports tree. I don't think this is complete either, I'm pretty sure there are a number of ports that can't be built on -current because of this mess. peter@einstein[11:59am]~ports-125> find */*/patches -name 'patch-*' -print | xargs grep if_var.h net/arpwatch/patches/patch-aa:+ #include <net/if_var.h> net/cap/patches/patch-ad:+#include <net/if_var.h> net/cap/patches/patch-ah:+#include <net/if_var.h> net/choparp/patches/patch-ac:+ #include <net/if_var.h> net/dip/patches/patch-c:+#include <net/if_var.h> net/mpd/patches/patch-ab: #include <net/if_var.h> net/mpd/patches/patch-ab: #include <net/if_var.h> net/ucd-snmp/patches/patch-aa:+/* Define if you have the <net/if_var.h> header file. */ net/ucd-snmp/patches/patch-ae:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+AC_CHECK_HEADERS(malloc.h sys/param.h net/if_dl.h net/if_var.h sys/sysctl.h stdlib.h net/if_types.h) net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+for ac_hdr in malloc.h sys/param.h net/if_dl.h net/if_var.h sys/sysctl.h stdlib.h net/if_types.h net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-af:+#include <net/if_var.h> net/ucd-snmp/patches/patch-ag:+#include <net/if_var.h> net/wide-dhcp/patches/patch-ac:+#include <net/if_var.h> net/wide-dhcp/patches/patch-ad:+#include <net/if_var.h> net/wide-dhcp/patches/patch-af:+#include <net/if_var.h> net/wide-dhcp/patches/patch-ah:+#include <net/if_var.h> net/wide-dhcp/patches/patch-aj:+#include <net/if_var.h> net/wide-dhcp/patches/patch-as:+#include <net/if_var.h> net/wide-dhcp/patches/patch-au:+#include <net/if_var.h> net/wide-dhcp/patches/patch-av:+#include <net/if_var.h> net/wide-dhcp/patches/patch-ax:+#include <net/if_var.h> net/wide-dhcp/patches/patch-ay:+#include <net/if_var.h> security/skip/patches/patch-bg:+#include <net/if_var.h> sysutils/xsysinfo/patches/patch-aa:+#include <net/if_var.h> www/squid12/patches/patch-aj:+#include <net/if_var.h> Cheers, -Peter -- Peter Wemm <peter@netplex.com.au> Netplex Consulting
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801110426.MAA27686>