Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Aug 2016 09:59:20 -0700
From:      Kevin Oberman <rkoberman@gmail.com>
To:        "Russell L. Carter" <rcarter@pinyon.org>
Cc:        "Matthew D. Fuller" <fullermd@over-yonder.net>, FreeBSD Ports ML <freebsd-ports@freebsd.org>
Subject:   Re: Forcing poudriere to rebuild a package and all dependencies
Message-ID:  <CAN6yY1tXD%2BTt_vn8rHb37XDs6B4e2LESAKZhAJOgF2z31eNyKw@mail.gmail.com>
In-Reply-To: <bbae8d87-4288-3261-6ff1-aae1db26098f@pinyon.org>
References:  <58f20db2-7d41-ee44-0ab3-0c57f638eee3@pinyon.org> <20160827134659.GT79735@over-yonder.net> <bbae8d87-4288-3261-6ff1-aae1db26098f@pinyon.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 27, 2016 at 9:10 AM, Russell L. Carter <rcarter@pinyon.org>
wrote:

> On 08/27/16 06:46, Matthew D. Fuller wrote:
>
>> On Fri, Aug 26, 2016 at 03:21:16PM -0700 I heard the voice of
>> Russell L. Carter, and lo! it spake thus:
>>
>>>
>>> Here's my /usr/local/etc/poudriere.d/make.conf, [...]
>>> [...]
>>> #  Set this to the list of ports you wish to rebuild every time the
>>> #  kernel is built.
>>> PORTS_MODULES=nvidia-driver-340  nvidia-driver virtualbox-ose-kmod
>>> sysutils/vm-bhyve sysutils/pefs-kmod
>>>
>>
>> Incidentally, PORTS_MODULES is a var used by the _kernel_ build, not
>> anything in the _ports_, so setting it in the poudriere environment
>> doesn't do anything.
>>
>>
>>
> Hmm, ok.  How would a kernel build know anything at all about building
> a specific port?  I'm apparently missing something...
>
> Thanks,
> Russell
>

It doesn't, really. PORT_MODULES simply tells the kernel build to kick off
a make for the specified ports. This is intended for ports which build
kernel modules that should always be rebuilt for a new kernel.

While there is an attempt made to keep the KBI stable within a major
release, it isnot realy always possible and, since the KBI is only used by
the kernel itself, changes to the KBI were always "safe". But with kernel
modules from external sources (i.e. ports), this is no longer true.

The result was the PORT_MODULES make variable which causes the kernel
install to rebuild the modules listed whenever the kernel is rebuilt. This
guarantees that the modules are in sync with the kernel on those occasions
when the KBI is changed. It also is relevant to when ports go mucking
around in the kernel such as with lsof.

My src.conf contains "PORTS_MODULES=emulators/virtualbox-ose-kmod
multimedia/cuse4bsd-kmod sysutils/lsof". I might also mention that this
fuction is very tricky and gets broken too often. As of about three weeks
ago cuse4bsd-kmod fails to build and I also see the PORTS_MODULES are
getting built in the buildkernel which seems wrong to me. It used to only
take place in installkernel.
--
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1tXD%2BTt_vn8rHb37XDs6B4e2LESAKZhAJOgF2z31eNyKw>