Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2013 12:49:36 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Gleb Smirnoff <glebius@freebsd.org>, current@freebsd.org
Subject:   Re: Ipfilter pre-Vendor Import Issue
Message-ID:  <201307091249.36403.jhb@freebsd.org>
In-Reply-To: <20130709092136.GL67810@glebius.int.ru>
References:  <glebius@FreeBSD.org> <201307082000.r68K02Ef063517@slippy.cwsent.com> <20130709092136.GL67810@glebius.int.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, July 09, 2013 5:21:36 am Gleb Smirnoff wrote:
> On Mon, Jul 08, 2013 at 01:00:02PM -0700, Cy Schubert wrote:
> C> > The BSD license allows us to put the code into FreeBSD w/o any 
separation.
> C> > 
> C> > So the question is: what is more handy to us?
> C> > 
> C> > What do we actually gain having contrib/ipf, assuming we got vendor 
branch
> C> > already?
> C> > 
> C> > What we lose is: 
> C> > - more complex Makefiles
> C> > - more complex hacking: edit files in one place, run make in other
> C> 
> C> How is this for a plan?
> C> 
> C> Instead of importing the kernel bits into vendor-sys/ipfilter and the 
> C> userland bits into vendor/ipfilter, the base tarball should be imported 
> C> into vendor-sys/ipfilter (or vendor/ipfilter, doesn't matter which). We 
> C> keep the complete tarball imported into one place in the tree.
> 
> I'd prefer vendor/ipfilter as single place of vendor imports.
> 
> C> Merge ipfilter into sys/netpfil/ipfilter (for kernel bits) and 
> C> netpfil/ipfilter (for userland bits).
> C> 
> C> We should probably think of moving pf and ipfw into the new subdirectory 
as 
> C> well, but that's for a future discussion.
> 
> No, userland tools should be placed in bin|sbin|usr.bin|usr.sbin,
> according to the place where they are installed. An exlusion can be made
> adding a intermediate subdir (like this is already done for ipfilter tools),
> to group all related tools together.

Please, please!

Let's not make ipfilter some random one-off vendor source that imports code
into random places.  The remaining instances of that that we have (such as
stdtime) are a PITA to deal with.

vendor/ipfilter == userland bits => contrib/ipfilter.  You then put suitable
Makefiles/build glue that uses .PATH in usr.bin|sbin|whatever.

vendor-sys/ipfilter == kernel bits => sys/contrib/ipfilter.  You then fix
sys/conf/files, etc. as appropriate.

This is our _standard_ practice for dealing with this stuff.  This is how all
the OpenSolaris bits for Dtrace and ZFS are handled (except that they end up
in a cddl directory instead of contrib).  GENERIC / LINT builds can include
things from sys/contrib just fine, so ipfilter won't be missed by builds, etc.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307091249.36403.jhb>