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