Page MenuHomeFreeBSD

Add pkg manifest support for 'vital' and custom ABI string.

Authored by kmoore on Apr 25 2019, 3:02 PM.


Group Reviewers

This patch adds support to the ports system for setting packages to be marked as both Vital, or to override the default ABI that will be set when building a package. This is required to build base system packages out of the ports tree, and could be useful for others as well.

Test Plan

This has been in usage in TrueOS and FreeNAS 12 for going on 3 months now, so far works as expected.

Diff Detail

Lint Skipped
Unit Tests Skipped

Event Timeline

kmoore created this revision.Apr 25 2019, 3:02 PM

-Gentle nudge- Would be nice to get this reviewed since it is a vital (haha) part of our package base solution:

mat added a comment.Apr 30 2019, 2:14 PM

Could you use devel/arcanist, or at least generate a diff with full context like it does, with svn diff -x -U9999 or git diff -U9999.


This is getting too complex. use if/else.

kmoore updated this revision to Diff 56863.Apr 30 2019, 3:35 PM

Cleaned up after some feedback from Mat. Using if/else logic to be neater now.


mat added a comment.Apr 30 2019, 3:47 PM

Now that the patch looks ok, I do not understand at all what you are doing here, what "base" package you are talking about, and if you are talking about the base system, why you would need to build it out of the ports tree, we have make package for that.

Ha, I guess you've not been following the threads about our pkg-base implementation. ;) We're in process of trying to upstream our package base solution that we feel is more viable than 'make packages' for a lot of reasons.

Here's the short version. This pkg base solution requires no changes to world sources, and can package "old" versions of FreeBSD as well. We do this with the patch mentioned here, along with a patch to poudriere and then a new "os/" category in ports that contains port makefiles to generate userland/kernel/debug/docs/foo/etc. This allows us to build world/kernel/ports all from poudriere, and ship a single unified repo that is "complete" and keeps things upgraded in lock-step. As well as nifty things like injecting depends on ports into base, such as using sysutils/zol vs base ZFS.

More details here:

bapt added a subscriber: bapt.Apr 30 2019, 4:15 PM

let's wait that the working group at bsdcan happened before getting any further on this imho

cy added a subscriber: cy.May 16 2019, 6:01 PM