cvs commit: ports/devel/linux-kmod-compat Makefile distinfo pkg-descr pkg-plist

Luigi Rizzo rizzo at icir.org
Fri Feb 2 20:56:19 UTC 2007


On Fri, Feb 02, 2007 at 03:31:51PM -0500, Kris Kennaway wrote:
> On Fri, Feb 02, 2007 at 06:08:20PM +0000, Luigi Rizzo wrote:
> > luigi       2007-02-02 18:08:20 UTC
> > 
> >   FreeBSD ports repository
> > 
> >   Added files:
> >     devel/linux-kmod-compat Makefile distinfo pkg-descr pkg-plist 
> >   Log:
> >   Add new port for linux-kmod-compat - emulation layer to build
> >   linux device drivers as FreeBSD kld modules. Details at
> >   
> >           http://info.iet.unipi.it/~luigi/FreeBSD/linux_bsd_kld.html
> >   
> >   Two ports for webcam drivers that use this package are coming in
> >   a matter of minutes.
> >   
> >   NOTES:
> >   + This is only for 6.x and 7.x, no support planned for earlier versions.
> >   + At the moment only i386 but have patches for 64-bit architectures
> >     that should be committed soon.
> >   + This port installs a file in /usr/share/mk . After some discussion
> >     on the ports list this seems, to be the most reasonable thing to do.
> >     portlint complains about it.
> 
> By "discussion" you apparently mean "I said how I want to do it, then
> did it even after I was told to do it differently".

i posted the plan to the list explaining why your suggestion did
not work. I did not see a reply so assumed you agreed.

    http://docs.freebsd.org/cgi/getmsg.cgi?fetch=622504+0+current/freebsd-ports

	...
	Consider that there might well be people who want to use the
	linux-kmod-bsd stuff outside the ports tree, same as for any other
	tool they install. So I think there are only two viable options
	for places where ports/devel/linux-bsd-kmod installs its .mk file:

	1. bsd.linux_kmod.mk is installed in /usr/share/mk/

	2. bsd.linux_kmod.mk is installed in /usr/local/somewhere/else/
	   and /etc/make.conf is modified (automatically or asking the
	   sysadmin) adding a line

		.PATH: /usr/local/somewhere/else/

	Both ways make the include available without extra arguments.

	Other options don't seem to be as convenient:
	putting it in /usr/ports/Mk makes it available [without extra args]
	only within the ports, which is not enough.
	And as far as i can tell /usr/src is not in the search path for .mk
	files ; /usr/share/mk/bsd.kmod.mk does look in a few standard places
	but only for conf/kmod.mk

	All in all option #1 seems the best one, as it makes it
	easier to add/remove the extra file when installing/deinstalling the port.

	I am not a big fan of it because it touches the base system,
	but if there is no better way, and this is the only instance, why not...

so do you still think /usr/share/mk is not a good place for
the .mk file ? Do you have any good alternative that can be
useful also outside the port's Makefiles ? I cannot think of one.

> >   And finally - i have almost spent more time to prepare the port
> >   (including discussing choices, location and studying the ports
> >   infrastructure) than writing the linux emulation code. If some of
> >   the ports guru wants to help cleaning up mistakes that i may have
> >   made, i''l be grateful (but please don't set up a static pkg-plist,
> >   for the reasons above).
> 
> FYI, it's your own responsibility to clean up your mistakes (including
> the one above).  Yes, I will hold you to this.

I was asking for help, not purely delegating. So please tell me
whether you are objecting to the location of the .mk file,
or the content of pkg-plist or both.

	cheers
	luigi


More information about the cvs-ports mailing list