Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Forcing poudriere to rebuild a package and all dependencies

269 views
Skip to first unread message

Russell L. Carter

unread,
Aug 26, 2016, 6:21:41 PM8/26/16
to
Hi,

So I'm in the middle of jumping a herd of 6 boxen from 10.3 to 11, and
I can't find how to update necessary ports modules such as, but not
limited to, the several nvidia kernel modules. This information does
not appear to be googleable, so let's correct that.

Here's my /usr/local/etc/poudriere.d/make.conf, which is indeed
appended at the beginning of a poudriere bulk run:

WITH_OPENSSL_PORT= yes
OPENSSL_PORT= security/openssl
DEFAULT_VERSIONS=pgsql=9.5 php=7.0
# 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
DISABLE_LICENSES=yes

Simply rm'ing the package file does not work. Ideas? Otherwise, the
upgrade is going fairly smoothly, kudos to the team. I've had worse
experiences with apt-get.

Thanks,
Russell
_______________________________________________
freebs...@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-port...@freebsd.org"

Bryan Drewery

unread,
Aug 27, 2016, 1:44:54 AM8/27/16
to
On 8/26/2016 3:21 PM, Russell L. Carter wrote:
> Hi,
>
> So I'm in the middle of jumping a herd of 6 boxen from 10.3 to 11, and

Upgrading/Replacing a poudriere jail from 10.3 to 11 normally would
rebuild all packages since there would either be no packages in the new
jail (if using a name such as 10-amd64 and 11-amd64), or it would
rebuild all packages for the major version updating (if you used a
simple jail name like 'foo').

So I'm not sure how you don't have all packages rebuilding in that case.

How did you upgrade your jail from 10.3 to 11?
--
Regards,
Bryan Drewery

signature.asc

Mathieu Arnold

unread,
Aug 27, 2016, 6:25:56 AM8/27/16
to
+--On 26 août 2016 15:21:16 -0700 "Russell L. Carter" <rca...@pinyon.org>
wrote:
| WITH_OPENSSL_PORT= yes
| OPENSSL_PORT= security/openssl
| DEFAULT_VERSIONS=pgsql=9.5 php=7.0

This should be:
DEFAULT_VERSIONS=pgsql=9.5 php=7.0 ssl=openssl

I'm sure all the ports using openssl are telling you this when you're
building them :-)

--
Mathieu Arnold

Matthew D. Fuller

unread,
Aug 27, 2016, 9:56:29 AM8/27/16
to
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.


--
Matthew Fuller (MF4839) | full...@over-yonder.net
Systems/Network Administrator | http://www.over-yonder.net/~fullermd/
On the Internet, nobody can hear you scream.

Russell L. Carter

unread,
Aug 27, 2016, 12:11:15 PM8/27/16
to
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

Russell L. Carter

unread,
Aug 27, 2016, 12:22:43 PM8/27/16
to

It seemed to work w/o problems, but I much prefer to stay on the one
true path. :-) I've updated, thanks.

Best,

Kevin Oberman

unread,
Aug 27, 2016, 12:59:42 PM8/27/16
to
On Sat, Aug 27, 2016 at 9:10 AM, Russell L. Carter <rca...@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: rkob...@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683

Mathieu Arnold

unread,
Aug 28, 2016, 5:52:07 AM8/28/16
to
+--On 27 août 2016 09:22:23 -0700 "Russell L. Carter" <rca...@pinyon.org>
wrote:
| On 08/27/16 03:25, Mathieu Arnold wrote:
|> +--On 26 août 2016 15:21:16 -0700 "Russell L. Carter"
|> <rca...@pinyon.org> wrote:
|> | WITH_OPENSSL_PORT= yes
|> | OPENSSL_PORT= security/openssl
|> | DEFAULT_VERSIONS=pgsql=9.5 php=7.0
|>
|> This should be:
|> DEFAULT_VERSIONS=pgsql=9.5 php=7.0 ssl=openssl
|>
|> I'm sure all the ports using openssl are telling you this when you're
|> building them :-)
|>
|
| It seemed to work w/o problems, but I much prefer to stay on the one
| true path. :-) I've updated, thanks.

Yes, right now, it works. Like all compat shims that is screaming at you
"hey, you should do that instead" it'll get removed one day, not too far in
the future.

--
Mathieu Arnold
0 new messages