From darius@midget.dons.net.au  Tue Nov 30 09:16:49 2004
Return-Path: <darius@midget.dons.net.au>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5BEC216A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 30 Nov 2004 09:16:49 +0000 (GMT)
Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181])
	by mx1.FreeBSD.org (Postfix) with ESMTP id A07C943D45
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 30 Nov 2004 09:16:48 +0000 (GMT)
	(envelope-from darius@midget.dons.net.au)
Received: from midget.dons.net.au (ppp36-163.lns1.adl1.internode.on.net [150.101.36.163])
	by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id iAU9Gi4Y058899
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 30 Nov 2004 19:46:46 +1030 (CST)
Received: from midget.dons.net.au (smmsp@localhost.dons.net.au [127.0.0.1])
	by midget.dons.net.au (8.13.1/8.13.1) with ESMTP id iAU9GhTZ089310
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 30 Nov 2004 19:46:43 +1030 (CST)
	(envelope-from darius@midget.dons.net.au)
Received: (from darius@localhost)
	by midget.dons.net.au (8.13.1/8.12.9/Submit) id iAU95sdn089233;
	Tue, 30 Nov 2004 19:35:54 +1030 (CST)
Message-Id: <200411300905.iAU95sdn089233@midget.dons.net.au>
Date: Tue, 30 Nov 2004 19:35:54 +1030 (CST)
From: "Daniel J. O'Connor" <darius@midget.dons.net.au>
Reply-To: "Daniel J. O'Connor" <darius@midget.dons.net.au>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Allow third party KLDs (eg ports) to be rebuilt with the kernel
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         74549
>Category:       kern
>Synopsis:       [modules] [patch] Allow third party KLDs (eg ports) to be rebuilt with the kernel
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    imp
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 30 09:20:30 GMT 2004
>Closed-Date:    Mon Oct 16 13:44:54 GMT 2006
>Last-Modified:  Mon Oct 16 13:44:54 GMT 2006
>Originator:     Daniel J. O'Connor
>Release:        FreeBSD 6.0-CURRENT
>Organization:
>Environment:
System: FreeBSD inchoate.localdomain 6.0-CURRENT FreeBSD 6.0-CURRENT #1: Mon Nov 29 21:27:13 CST 2004 darius@inchoate.localdomain:/usr/src/sys/i386/compile/INCHOATE  i386

>Description:
This patch and makefile allow third party KLDs to get rebuilt with the kernel (new and old way).

>How-To-Repeat:
>Fix:

mkdir /usr/local/kld
cd /usr/src
patch </tmp/port-kld.diff
cp /tmp/port-makefile.txt /usr/local/kld/Makefile

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#       port-kld.diff
#       port-makefile.txt
#
echo x - port-kld.diff
sed 's/^X//' >port-kld.diff << 'END-of-port-kld.diff'
XIndex: sys/modules/Makefile
X===================================================================
XRCS file: /usr/CVS-Repository/src/sys/modules/Makefile,v
Xretrieving revision 1.410
Xdiff -u -p -r1.410 Makefile
X--- sys/modules/Makefile       16 Nov 2004 17:19:04 -0000      1.410
X+++ sys/modules/Makefile       29 Nov 2004 12:21:58 -0000
X@@ -166,6 +166,7 @@ SUBDIR=    ${_3dfx} \
X       plip \
X       ${_pmc} \
X       portalfs \
X+      ${_ports} \
X       ppbus \
X       ppi \
X       pps \
X@@ -260,6 +261,11 @@ _syscons= syscons
X _ufs=         ufs
X .endif
X
X+PORTSKLD?=    /usr/local/kld
X+.if exists(${PORTSKLD}) && !defined(NO_PORTS_KLDS)
X+_ports=               ../../../../${PORTSKLD}
X+.endif
X+
X .if !defined(NOCRYPT) || defined(ALL_MODULES)
X .if exists(${.CURDIR}/../opencrypto)
X _crypto=      crypto
END-of-port-kld.diff
echo x - port-makefile.txt
sed 's/^X//' >port-makefile.txt << 'END-of-port-makefile.txt'
X# I live in /usr/local/kld/Makefile
X
XSUBDIR!=       /usr/bin/find . -maxdepth 1 -type d \! -name . \! -name CVS | /usr/bin/xargs /bin/echo
X
X.include <bsd.subdir.mk>
X
END-of-port-makefile.txt
exit


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: ru 
State-Changed-When: Mon Oct 16 13:42:24 UTC 2006 
State-Changed-Why:  
There's an officially supported mechanism that can do what you want; 
it's called PORTS_MODULES and is briefly documented in make.conf(5). 


Responsible-Changed-From-To: freebsd-bugs->imp 
Responsible-Changed-By: ru 
Responsible-Changed-When: Mon Oct 16 13:42:24 UTC 2006 
Responsible-Changed-Why:  
Warner added support for PORTS_MODULES. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=74549 
>Unformatted:
