problem with LOCAL_MODULES

Kyle Evans kevans at freebsd.org
Fri Aug 30 17:42:27 UTC 2019


On Fri, Aug 16, 2019 at 7:38 PM John Baldwin <jhb at freebsd.org> wrote:
>
> On 8/16/19 3:05 AM, Gary Jennejohn wrote:
> > I tried to build a kernel today and it failed in modules-all even
> > though I had LOCAL_MODULES="" in /etc/src.conf, as recommended by
> > jhb.
> >
> > That's wrong.  It has to be LOCAL_MODULES=, otherwise
> > /sys/conf/kern.post.mk seems to conclude that there should be a
> > module under /usr/local/sys/modules with the name "".
>
> I think this will permit both versions to work:
>
> Index: sys/conf/kern.post.mk
> ===================================================================
> --- kern.post.mk        (revision 351151)
> +++ kern.post.mk        (working copy)
> @@ -76,6 +76,7 @@ modules-${target}:
>         cd $S/modules; ${MKMODULESENV} ${MAKE} \
>             ${target:S/^reinstall$/install/:S/^clobber$/cleandir/}
>  .endif
> +.if !empty(LOCAL_MODULES)
>  .for module in ${LOCAL_MODULES}
>         @${ECHODIR} "===> ${module} (${target:S/^reinstall$/install/:S/^clobber$/cleandir/})"
>         @cd ${LOCAL_MODULES_DIR}/${module}; ${MKMODULESENV} ${MAKE} \
> @@ -83,6 +84,7 @@ modules-${target}:
>             ${target:S/^reinstall$/install/:S/^clobber$/cleandir/}
>  .endfor
>  .endif
> +.endif
>  .endfor
>
>  # Handle ports (as defined by the user) that build kernel modules
>

I think I'd like to see this with !empty(LOCAL_MODULES) &&
EXISTS(${LOCAL_MODULES_DIR}) or maybe just the latter condition to
prevent accidental foot-shooting... I was testing a problem with doing
this stuff in a poudriere build for swills@ and set LOCAL_MODULES=""
only to get an error because LOCAL_MODULES_DIR doesn't yet exist on
the machine I was testing with -- which we can trivially avoid.

Thanks,

Kyle Evans


More information about the freebsd-current mailing list