Date: Thu, 14 Jun 2001 13:07:54 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: arch@FreeBSD.org Cc: Bruce Evans <bde@FreeBSD.org>, Jonathan Lemon <jlemon@FreeBSD.org>, Peter Wemm <peter@FreeBSD.org>, "David O'Brien" <obrien@FreeBSD.org>, Darren Reed <darrenr@FreeBSD.org> Subject: SHARED=symlinks, /sys/contrib/ipfilter/netinet: problems and the fix Message-ID: <20010614130754.A13655@sunbay.com>
next in thread | raw e-mail | index | archive | help
--lrZ03NoBR/3+SXJZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi! There are some problems with the current location of IPFilter sources. 1. The idea of http://people.freebsd.org/~jhb/docs/sysorg.txt was that src/sys/contrib/ mirrors the structure of src/sys/; this is currently broken. src/sys/contrib/ipfilter/netinet/ should have been actually called the src/sys/contrib/netinet/. 2. We (for no apparent reason) have two distinct copies of the kernel part IPFilter sources (20 files), the first (stock) one being in src/contrib/ipfilter/ and the second (with local FreeBSD modifications) in src/sys/contrib/ipfilter/netinet/. `cvs up -rold_DARRENR' in src/sys/contrib/ipfilter/netinet/ and diff(1)'ing against src/contrib/ipfilter/ shows they are the same. (Whoever did the repocopies may want to restore the DARRENR tag.) 3. We are currently unable to install headers in SHARED=symlinks mode. 4. Most of userland IPFilter stuff (ipf, ipfstat, etc.) had bogus -I directives in their Makefiles to pick up the correct headers. I have removed these as part of "-I${.CURDIR}/..../sys" cleanup as I didn't realize that they were required to pick up the _correct_ headers from src/sys/netinet (before the last repocopies were made). Peter Wemm pointed to the problem, and I restored the -I lines, but these now have no effect because destination has changed. (See the attached mail for details.) What I propose. 1. Remove duplicate copies of the kernel part of IPFilter files from src/contrib/ipfilter/. 2. Move src/sys/contrib/ipfilter/netinet/ to src/sys/contrib/netinet/ to align with sysorg.txt requirements. "Move" should be OK, as these don't (yet) have any RELEASE tags. 3. Introduce new /usr/include/contrib/ and make it a part of standard include dirs for our gcc(1): #define SYSTEM_INCLUDE_DIR PREFIX"/include/contrib" which will mirror the organization of /usr/include/. src/sys/contrib/netinet/ headers will then go to /usr/include/contrib/netinet/, and SHARED=symlinks could made be working again. Comments, thoughts, objections? Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age --lrZ03NoBR/3+SXJZ Content-Type: message/rfc822 Content-Disposition: inline Received: from mx2.freebsd.org (mx2.freebsd.org [216.136.204.119]) by whale.sunbay.crimea.ua (8.11.2/8.11.2) with ESMTP id f5C33k091767 for <ru@sunbay.crimea.ua>; Tue, 12 Jun 2001 06:03:47 +0300 (EEST) (envelope-from bde@zeta.org.au) Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) by mx2.freebsd.org (Postfix) with ESMTP id C56BF554F6 for <ru@sunbay.crimea.ua>; Mon, 11 Jun 2001 20:03:42 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: by hub.freebsd.org (Postfix) id A612237B405; Mon, 11 Jun 2001 20:03:42 -0700 (PDT) Delivered-To: ru@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 4421537B403; Mon, 11 Jun 2001 20:03:41 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id NAA06671; Tue, 12 Jun 2001 13:03:36 +1000 Date: Tue, 12 Jun 2001 13:01:23 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> X-Sender: bde@besplex.bde.org To: Ruslan Ermilov <ru@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sbin/ipf Makefile src/sbin/ipfstat Makefile src/sbin/ipnat Makefile src/usr.sbin/ipftest Makefile src/usr.sbin/ipresend Makefile src/usr.sbin/ipsend Makefile src/usr.sbin/iptest Makefile In-Reply-To: <200106111741.f5BHfw495372@freefall.freebsd.org> Message-ID: <Pine.BSF.4.21.0106121240001.56809-100000@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Mon, 11 Jun 2001, Ruslan Ermilov wrote: > ru 2001/06/11 10:41:58 PDT > > Modified files: > sbin/ipf Makefile > sbin/ipfstat Makefile > sbin/ipnat Makefile > usr.sbin/ipftest Makefile > usr.sbin/ipresend Makefile > usr.sbin/ipsend Makefile > usr.sbin/iptest Makefile > Log: > Backout previous change (removal of -I${.CURDIR}/../../sys/netinet). > This is needed to pick up the right headers. Wrong headers from > src/contrib/ipfilter are used otherwise. > > The right fix would be to fix contrib/ipfilter C sources to pick up > headers from <sys/netinet>. > > Noticed by: peter Wrong headers are still used. There are no ipfiliter headers in ${.CURDIR}/../../sys/netinet any more. ipfilter headers are now in: (1) ${.CURDIR}/../../sys/contrib/ipfilter/netinet (active sources) (2) ${.CURDIR}/../../contrib/ipfilter (rotting copy of distribution sources) (3) /usr/include/netinet (copy of (1), modulo bugs) (4) ${WORLDTMP}/usr/include/netinet (copy of (1), modulo bugs) and the purpose of some the -I paths is to prefer (1) after breaking the default of (3) or (4) by putting a -I to (2) in CFLAGS before the -I to (3) or (4). Using ${.CURDIR}/../../sys/netinet and/or ${.CURDIR}/../../sys instead of (1) does not help avoid the main ipfilter headers in (2), but it might help avoid other garbage. Bruce --lrZ03NoBR/3+SXJZ-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010614130754.A13655>