Just rebuilt and installed/world kernel: FreeBSD 4.8-STABLE #0: Fri Apr 11 14:34:37 EDT 2003 Using the latest Makefile for squid25: # fgrep \$FreeBSD /usr/ports/www/squid/Makefile # $FreeBSD: ports/www/squid/Makefile,v 1.100 2003/04/09 08:31:30 adrian Exp $ Modified with: # fgrep CONFIGURE_ARGS Makefile |fgrep -v \# CONFIGURE_ARGS= --bindir=${PREFIX}/sbin --sysconfdir=${PREFIX}/etc/squid \ CONFIGURE_ARGS+= --enable-icmp CONFIGURE_ARGS+= --enable-delay-pools CONFIGURE_ARGS+= --disable-wccp CONFIGURE_ARGS+= --enable-kill-parent-hack CONFIGURE_ARGS+= --enable-ssl CONFIGURE_ARGS+= --enable-time-hack CONFIGURE_ARGS+= --enable-forw-via-db CONFIGURE_ARGS+= --enable-ipf-transparent CONFIGURE_ARGS+= --disable-ident-lookups CONFIGURE_ARGS+= --enable-underscores The configure script does not locate IPF's header files. I had to manually copy them over: # cp -p /usr/src/sys/contrib/ipfilter/netinet/*.h /usr/include/netinet/ Squid then built fine. Should these header files be installed with the world? Or should squid's port be modified to include /usr/src/sys/include/ipfilter ? --------------------------------------- Robin P. Blanchard Systems Integration Specialist Georgia Center for Continuing Education fon: 706.542.2404 <|> fax: 706.542.6546 ---------------------------------------
On Fri, Apr 11, 2003 at 03:40:22PM -0400, Robin P. Blanchard wrote:> Just rebuilt and installed/world kernel: FreeBSD 4.8-STABLE #0: Fri Apr 11 > 14:34:37 EDT 2003 > > Using the latest Makefile for squid25: > # fgrep \$FreeBSD /usr/ports/www/squid/Makefile > # $FreeBSD: ports/www/squid/Makefile,v 1.100 2003/04/09 08:31:30 adrian Exp $> Modified with: > # fgrep CONFIGURE_ARGS Makefile |fgrep -v \#[snip]> CONFIGURE_ARGS+= --enable-ipf-transparentThis is the one that needs IPFilter headers.> The configure script does not locate IPF's header files. I had to manually > copy them over: > # cp -p /usr/src/sys/contrib/ipfilter/netinet/*.h /usr/include/netinet/ > > Squid then built fine. Should these header files be installed with the world? > Or should squid's port be modified to include /usr/src/sys/include/ipfilter ?It shouldn't look in /usr/src. Ports should (a) not expect the user to have a FreeBSD source tree or (b) demand that it be in /usr/src (although you could add a make variable that is the base of the source tree that defaults to /usr/src, if there isn't one already). The IPFilter .h-files should be installed with world. Whether they belong in /usr/include/netinet or somewhere else is a different matter. Without digging into the CVS repo, I'd venture to guess that this happened when IPFitler files got separated out of the src/sys tree into src/sys/contrib/ipfilter. Why don't you send in a PR on this? -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org
> > The configure script does not locate IPF's header files. I had to > > manually copy them over: # cp -p > > /usr/src/sys/contrib/ipfilter/netinet/*.h /usr/include/netinet/ > > > > Squid then built fine. Should these header files be > installed with the > > world? Or should squid's port be modified to include > > /usr/src/sys/include/ipfilter ? > > It shouldn't look in /usr/src. Ports should (a) not expect > the user to have a FreeBSD source tree or (b) demand that it > be in /usr/src (although you could add a make variable that > is the base of the source tree that defaults to /usr/src, if > there isn't one already). > > The IPFilter .h-files should be installed with world. Whether > they belong in /usr/include/netinet or somewhere else is a > different matter. Without digging into the CVS repo, I'd > venture to guess that this happened when IPFitler files got > separated out of the src/sys tree into src/sys/contrib/ipfilter. > > Why don't you send in a PR on this?Thanks for jogging my mind on this...Now that you've brought that up, I can see that on a -STABLE ipf box that's been around for quite some time (and on which the squid port worked without 'hacking'): # [/usr/src/sys/contrib/ipfilter/netinet]# for i in *.h ; do find /usr/include/netinet/$i -exec ls -ald {} \;; done -r--r--r-- 1 root wheel 1564 May 10 2002 /usr/include/netinet/ip_auth.h -r--r--r-- 1 root wheel 34148 May 10 2002 /usr/include/netinet/ip_compat.h -r--r--r-- 1 root wheel 21840 May 10 2002 /usr/include/netinet/ip_fil.h -r--r--r-- 1 root wheel 1905 May 10 2002 /usr/include/netinet/ip_frag.h -r--r--r-- 1 root wheel 8826 May 10 2002 /usr/include/netinet/ip_nat.h -r--r--r-- 1 root wheel 4559 May 10 2002 /usr/include/netinet/ip_proxy.h -r--r--r-- 1 root wheel 5621 May 10 2002 /usr/include/netinet/ip_state.h -r--r--r-- 1 root wheel 324 May 10 2002 /usr/include/netinet/ipl.h Whereas on a newer -STABLE box: # [/usr/src/sys/contrib/ipfilter/netinet]# for i in *.h ; do find /usr/include/netinet/$i -exec ls -ald {} \;; done find: /usr/include/netinet/ip_auth.h: No such file or directory find: /usr/include/netinet/ip_compat.h: No such file or directory find: /usr/include/netinet/ip_fil.h: No such file or directory find: /usr/include/netinet/ip_frag.h: No such file or directory find: /usr/include/netinet/ip_nat.h: No such file or directory find: /usr/include/netinet/ip_proxy.h: No such file or directory find: /usr/include/netinet/ip_state.h: No such file or directory find: /usr/include/netinet/ipl.h: No such file or directory