This one has failed on me multiple times under high contention.
It appears that its is trying to create objects files in the objs
directory before that directory is created (a race between c++
and mkdir)
The previous commit cleaned up a bit too much. The MAKE_ENV was
guarded as FreeBSD-only and that guard was stripped out with the
cleanup. Return the guard back but without the now-unncessary
OPSYS check. This restores the build on DragonFly.
- Switch to using pkg-plist rather than automatically generate it
(it is easy enough to maintain).
- Switch to modern option helpers.
- Set DIST_SUBDIR due to version-less Docs.zip file.
The changes since version 1.0.2 were significant enough to warrant
a major library version bump. However, libnvpair.so.2 exists in
FreeBSD base, so the port version builds libnvpair.so.3 instead.
With one exception, all of the Solaris/Illumos types have been
replaced with BSD equivalents, including boolean_t. This changes
several prototypes, and also allows for the type compatibility header
to be removed. The one type that remains is hrtime_t (equivalent to
int64_t).
Internally, the regression tests for print_json (functionality that
does not exist in FreeBSD base, at least on F9) have been added from
Illumos regression tests and both DragonFly and FreeBSD pass.
Due to the way .for loop work, opt_VARS was being expanded too early
evaluation, which made it impossible to use vars that are set/modifies
afterwards (such as PREFIX or PKGDIR)
Fix this by changing opt_VARS handling logic so that the right side is
not prematurely expanded:
- Loop not by words (each word here is single VAR=val / VAR+=val tuple)
but by unique left sides of assignments (VAR, VAR+ here)
- Using the left side, extract all corresponding right sides and
append/assign them to a variable
This changes the way this opt_VARS line work, which behavior is between
invalid and undefined:
opt_VARS= FOO=bar FOO=baz
Before it would end up with "FOO=baz", now it ends up with "FOO=bar baz"
Submitted by: amdmi3
Reviewed by: antoine, mat
Approved by: my portmgr hat
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3729
libuutil is a library of userland utilities originating from solaris
This library provides both a doubly linked-list implementation and a
AVL tree implementation. This has been a private library best known
as a core component for ZFS and SMF.
The performance is considered excellent. As this has always been a
private library, it is not well documented and there is no man page
for it. The best documentation is located in the source code and
reading OpenSolaris/Illumos ZFS and SMF sources will help as well.