Date: Sat, 09 Jun 2012 16:51:42 -0700 From: Doug Barton <dougb@FreeBSD.org> To: Garrett Cooper <yanegomi@gmail.com> Cc: Chris Rees <crees@freebsd.org>, Matthew Seaman <m.seaman@infracaninophile.co.uk>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: PORTS_MODULES fix Message-ID: <4FD3E18E.2000708@FreeBSD.org> In-Reply-To: <alpine.BSF.2.00.1206091442340.78301@bcgv.qbhto.arg> References: <4FD384B5.3050709@FreeBSD.org> <CADLo839AsqtRiDZt3HJatBy=0Peu6W2Bu7XrsfiMes3RewTtPg@mail.gmail.com> <4FD38A71.8070601@infracaninophile.co.uk> <4FD39099.3000208@FreeBSD.org> <CAGH67wT9udEOyZwcgbgHMpZitVD0d6FoMfxUnXCgK-uBP817yg@mail.gmail.com> <alpine.BSF.2.00.1206091442340.78301@bcgv.qbhto.arg>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010106090709050304050503
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Ok, never mind the last one ... this patch I've actually tested. :)
Doug
--
This .signature sanitized for your protection
--------------010106090709050304050503
Content-Type: text/plain; charset=UTF-8;
name="kern.post.mk.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="kern.post.mk.diff"
Index: kern.post.mk
===================================================================
--- kern.post.mk (revision 236818)
+++ kern.post.mk (working copy)
@@ -36,9 +36,30 @@
.endif
.endfor
-# Handle out of tree ports
+# Handle ports (as defined by the user) that build kernel modules
.if !defined(NO_MODULES) && defined(PORTS_MODULES)
-PORTSMODULESENV=SYSDIR=${SYSDIR}
+#
+# The ports tree needs some environment variables defined to match the new kernel
+#
+# Ports search for some dependencies in PATH, so add the location of the installed files
+LOCALBASE?= /usr/local
+# SRC_BASE is how the ports tree refers to the location of the base source files
+.if !defined(SRC_BASE)
+SRC_BASE!= realpath "${SYSDIR:H}/"
+.endif
+# OSVERSION is used by some ports to determine build options
+.if !defined(OSRELDATE)
+# Definition copied from src/Makefile.inc1
+OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
+ ${MAKEOBJDIRPREFIX}${SRC_BASE}/include/osreldate.h
+.endif
+# Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build
+WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF}
+PORTSMODULESENV=\
+ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \
+ SRC_BASE=${SRC_BASE} \
+ OSVERSION=${OSRELDATE} \
+ WRKDIRPREFIX=${WRKDIRPREFIX}
.for __target in all install reinstall clean
${__target}: ports-${__target}
ports-${__target}:
--------------010106090709050304050503--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FD3E18E.2000708>
