FreeBSD/ports 520217head/sysutils/pftop Makefile distinfo

- Move the project to github and mark it as fetchable again.
- While here, do some cosmetic changes on ports Makefile.

Reported by:    many

FreeBSD/src 355799head/sys/dev/kbd kbd.c

kbd: patch linker set methods, too

This is needed after r355796. Some double-registration of kbd drivers needs
to be sorted out, then this sysinit will simply add these drivers into the
normal list and kill off any other bits in the driver that are aware of the
linker set, for simplicity.

FreeBSD/ports 520216head/sysutils/cfengine-devel distinfo Makefile, head/sysutils/cfengine-masterfiles-devel distinfo Makefile

Update to the latest cfengine commits on github.

FreeBSD/ports 520215head/shells/ksh93-devel distinfo Makefile

Update to the latest att/ast github commit.

FreeBSD/ports 520214head/audio/zam-plugins-lv2 distinfo Makefile

audio/zam-plugins-lv2: Update 3.11-1 -> 3.12

Reported by:    portscout

FreeBSD/ports 520213head/sysutils/doctl distinfo Makefile

sysutils/doctl: Update to v1.36.0

Upstream changes:

Sponsored by:   DigitalOcean [1]

[1] DigitalOcean provided VM credit to test doctl

FreeBSD/ports 520212head/textproc/py-genshi Makefile distinfo

textproc/py-genshi: Update to 0.7.3

Genshi 0.7 doesn't support Python 3.5+, but the port currently allows it
to be built with any Python version. This doesn't affect the build, but
produces a broken runtime, including for all Genshi dependents:

Genshi (0.7) tests:

  2.7: Ran 854 tests in 3.623s - FAILED (failures=1)
  3.5: Ran 858 tests in 3.607s - FAILED (failures=4, errors=34)
  3.6: Ran 858 tests in 3.610s - FAILED (failures=4, errors=34)
  3.7: Ran 858 tests in 3.313s - FAILED (failures=11, errors=91)
  3.8: Ran 858 tests in 3.094s - FAILED (failures=32, errors=359)

Genshi added 3.5+ support in subsequent versions [1]:

  0.7.2: Add support for Python 3.8.
  0.7.1: Add support for Python 3.5, 3.6 and 3.7

Given Genshi 0.7 -> 0.7.3 involves only additional Python version support
and bugfix-only changes, this change updates the port to 0.7.3, instead of
restricting (correctly) its use to USES=python:-3.4, and is intended to be
merged to the quarterly branch accordingly.

While I'm here:

    [18 lines not shown]

FreeBSD/src 355798head/sys/dev/kbd kbdreg.h kbd.c, head/sys/sys param.h

kbd: remove kbdsw, store pointer to driver in each keyboard_t

The previous implementation relied on a kbdsw array that mirrored the global
keyboards array. This is fine, but also requires extra locking consideration
when accessing to ensure that it's not being resized as new keyboards are

The extra pointer costs little in a struct that there are relatively few of
on any given system, and simplifies locking requirements ever-so-slightly as
we only need to consider the locking requirements of whichever method is
being invoked.

__FreeBSD_version is bumped as any kbd modules will need rebuilt following
this change.

FreeBSD/ports 520211head/math/libRmath distinfo Makefile

math/libRmath: Update to version 3.6.2

See the NEWS file for upstream changes:

FreeBSD/ports 520210head/math/libRmath Makefile

math/libRmath: Standardize formatting using ports-mgmt/portfmt

FreeBSD/src 355797head/sys/arm/samsung/exynos chrome_kb.c

chrome_kb: remove default get_fkeystr/diag implementations

This file was missed in r355796, but no harm would have come from this.

FreeBSD/ports 520209head/net/grpcurl distinfo Makefile

net/grpcurl: Update 0.1.0 -> 1.4.0

PR:            242309
Approved by:    seanc (maintainer's timeout 16 days)

FreeBSD/src 355796head/sys/dev/adb adb_kbd.c, head/sys/dev/atkbdc atkbd.c

kbd: provide default implementations of get_fkeystr/diag

Most keyboard drivers are using the genkbd implementations as it is;
formally use them for any that aren't set and make
genkbd_get_fkeystr/genkbd_diag private.

FreeBSD/src 355795stable/11/sys/contrib/ipfilter/netinet ip_fil_freebsd.c fil.c, stable/12/sys/contrib/ipfilter/netinet ip_fil_freebsd.c fil.c

MFC r355670:

Rather than pass the address of the packet information control block to
ipf_pcksum6(), directly pass the adddress of the mbuf to it. This reduces
one pointer dereference. ipf_pcksum6() doesn't use the packet information
control block except to obtain the mbuf address.

FreeBSD/ports 520208head/math/darknet Makefile distinfo

math/darknet: Update g20180914 -> 3-446

Update to a maintained fork under the AlexeyAB GitHub account.

FreeBSD/src 355794head/sys/dev/adb adb_kbd.c, head/sys/dev/atkbdc atkbd.c

keyboard switch definitions: standardize on c99 initializers

A future change will provide default implementations for some of these where
it makes sense and most of them are already using the genkbd
implementation (e.g. get_fkeystr, diag).

FreeBSD/ports 520207head/misc Makefile py-gluoncv, head/misc/py-gluoncv Makefile pkg-descr

New port: misc/py-gluoncv: Gluon CV toolkit for state-of-the-art deep learning in computer 

FreeBSD/src 355793head/sys/arm/versatile pl050.c, head/sys/dev/gpio gpiokeys.c

kbd drivers: use kbdd_* indirection for diag invocation

These invocations were directly calling enkbd_diag(), rather than
indirection back through kbdd_diag/kbdsw. While they're functionally
equivent, invoking kbdd_diag where feasible (i.e. not in a diag
implementation) makes it easier to visually identify locking needs in these
other drivers.

FreeBSD/src 355792head/sys/sys sched.h

Remove a declaration of sched_clock() redundant after r355779.

FreeBSD/ports 520206head/misc/mxnet Makefile

misc/mxnet: Add the OPENCV option

FreeBSD/ports 520205head/net-im/mikutter distinfo Makefile

FreeBSD/src 355791head/sys/tools vnode_if.awk

vfs: allow tail call optimisation in vops in the common case

Most frequently used vops boil down to checking SDT probes, doing the call and
checking again. There is no vop_post/pre in their case but the check after the
call prevents tail call optimisation from taking place. Instead, check once
upfront. Kernels with debug or vops with non-empty vop_post still don't short

Reviewed by:    kib
Tested by:      pho
Differential Revision:

FreeBSD/src 355790head/sys/fs/nfsclient nfs_clvnops.c, head/sys/kern vfs_lookup.c vfs_subr.c

vfs: flatten vop vectors

This eliminates the following loop from all VOP calls:

while(vop != NULL && \
    vop->vop_spare2 == NULL && vop->vop_bypass == NULL)
        vop = vop->vop_default;

Reviewed by:    jeff
Tesetd by:      pho
Differential Revision:

FreeBSD/src 355789head/sys/kern kern_mutex.c

mtx: eliminate recursion support from thread lock

Now that it is not used after schedlock changes got merged.

Note the unlock routine temporarily still checks for it on account of just using
regular spin unlock.

This is a prelude towards a general clean up.

FreeBSD/ports 520204head/lang/kotlin distinfo Makefile

- Update to 1.3.61

PR:            242264
Approved by:    maintainer timeout

FreeBSD/src 355788head/sbin/camcontrol camcontrol.c

Properly detect ATA sanitize errors.

It seems I read specifications not careful enough.  There are devices not
setting successful completion bit, causing previous code report false error.

MFC after:      1 week

FreeBSD/src 355787head/sys/arm64/arm64 pmap.c

Apply a small optimization to pmap_remove_l3_range().  Specifically, hoist a
PHYS_TO_VM_PAGE() operation that always returns the same vm_page_t out of
the loop.  (Since arm64 is configured as VM_PHYSSEG_SPARSE, the
implementation of PHYS_TO_VM_PAGE() is more costly than that of
VM_PHYSSEG_DENSE platforms, like amd64.)

MFC after:      1 week

FreeBSD/ports 520203head/net-mgmt/arpwatch Makefile pkg-plist

net-mgmt/arpwatch: Obey ETHERCODES option and really don't install
ethercodes.dat when not set.

Approved by:    matthew (mentor, implicit)

FreeBSD/src 355786head/stand/libsa/zfs zfsimpl.c, head/sys/cddl/boot/zfs zfsimpl.h zfssubr.c

loader: rewrite zfs vdev initialization

In some cases the pool discovery will get stuck in infinite loop while setting
up the vdev children.

To fix, we split the vdev setup into two parts, first we create vdevs based on
configuration we do get from pool label, then, we process pool config from MOS
and update the pool config if needed.

Testing done: confirm previously hung loader is not hung any more.

MFC after:      1 week

FreeBSD/ports 520202head/databases/geoserver-mysql-plugin distinfo Makefile

databases/geoserver-mysql-plugin: Update version 2.15.1=>2.16.1

FreeBSD/ports 520201head/graphics/geoserver pkg-plist Makefile

graphics/geoserver: Update version 2.15.1=>2.16.1

- Fix geoserver start [1]

PR:            222783 [1]
Reported by:    david at [1]

FreeBSD/ports 520200head/mail/mutt Makefile, head/mail/mutt/files extra-patch-ifdef extra-patch-reverse_reply

mail/mutt: update to 1.13.1

Too many changes to be listed here.


PR:     242534
Submitted by:   dereks at (maintainer)

FreeBSD/ports 520199head/sysutils/yadm Makefile

sysutils/yadm: change maintainership

Hand maintainership over to Adam Jimerson <vendion at>

PR:     242632

FreeBSD/src 355785stable 12 11, stable/11/sys/contrib/ipfilter/netinet fil.c

MFC r355669:

in6_cksum() returns zero when checksums are good.

FreeBSD/src 355784head/sys/kern sched_ule.c sched_4bsd.c

schedlock 4/4

Don't hold the scheduler lock while doing context switches.  Instead we
unlock after selecting the new thread and switch within a spinlock
section leaving interrupts and preemption disabled to prevent local
concurrency.  This means that mi_switch() is entered with the thread
locked but returns without.  This dramatically simplifies scheduler
locking because we will not hold the schedlock while spinning on
blocked lock in switch.

This change has not been made to 4BSD but in principle it would be
more straightforward.

Discussed with: markj
Reviewed by:    kib
Tested by:      pho
Differential Revision:

FreeBSD/src 355783head/sys/powerpc/powernv platform_powernv.c opal.h

powerpc/powernv: Set the PTCR for the Nest MMU

The Nest MMU manages address translation for accelerators on the POWER9.  To
do so, it needs a page table, so export the system page table to the Nest
MMU.  This will quietly fail on pre-POWER9 systems that do not have a NMMU.

The NMMU is currently unused, so this change is currently effectively a NOP,
but the NMMU and VAS will eventually be used.

FreeBSD/src 355782head/sys/kern subr_turnstile.c

schedlock 3/4

Eliminate lock recursion from turnstiles.  This was simply used to avoid
tracking the top-level turnstile lock.  explicitly check for it before
picking up and dropping locks.

Reviewed by:    kib
Tested by:      pho
Differential Revision:

FreeBSD/src 355781head/sys/kern subr_sleepqueue.c, head/sys/sys proc.h

schedlock 2/4

Do all sleepqueue post-processing in sleepq_remove_thread() so that we
do not require the thread lock after a context switch.

Reviewed by:    jhb, kib
Differential Revision:

FreeBSD/src 355780head/sys/arm/arm unwind.c elf_machdep.c, head/sys/arm/include stack.h

Rewrite arm kernel stack unwind code to work when unwinding through modules.

The arm kernel stack unwinder has apparently never been able to unwind when
the path of execution leads through a kernel module. There was code that
tried to handle modules by looking for the unwind data in them, but it did
so by trying to find symbols which have never existed in arm kernel
modules. That caused the unwind code to panic, and because part of panic
handling calls into the unwind code, that just created a recursion loop.

Locating the unwind data in a loaded module requires accessing the Elf
section headers to find the SHT_ARM_EXIDX section. For preloaded modules
those headers are present in a metadata blob. For dynamically loaded
modules, the headers are present only while the loading is in progress; the
memory is freed once the module is ready to use. For that reason, there is
new code in kern/link_elf.c, wrapped in #ifdef __arm__, to extract the
unwind info while the headers are loaded. The values are saved into new
fields in the linker_file structure which are also conditional on __arm__.

In arm/unwind.c there is new code to locally cache the per-module info
needed to find the unwind tables. The local cache is crafted for lockless
read access, because the unwind code often needs to run in context where
sleeping is not allowed.  A large comment block describes the local cache
list, so I won't repeat it all here.

FreeBSD/src 355779head/sys/kern subr_sleepqueue.c sched_ule.c

schedlock 1/4

Eliminate recursion from most thread_lock consumers.  Return from
sched_add() without the thread_lock held.  This eliminates unnecessary
atomics and lock word loads as well as reducing the hold time for
scheduler locks.  This will eventually allow for lockless remote adds.

Discussed with: kib
Reviewed by:    jhb
Tested by:      pho
Differential Revision:

FreeBSD/src 355778head/sys/powerpc/mpc85xx fsl_sata.c

powerpc/mpc85xx: Clean up Freescale SATA driver a little

* Remove unused ATA_IN/OUT macros, they just clutter up the file.
* Fix some RID management bits for the channel memory resource.

FreeBSD/ports 520198head/misc/mxnet Makefile

misc/mxnet: Python is only needed for build.

FreeBSD/ports 520197head/misc/py-mxnet Makefile

misc/py-mxnet: Enable the cython option

FreeBSD/ports 520196head/misc Makefile py-mxnet, head/misc/py-mxnet Makefile pkg-descr

New port: misc/py-mxnet: Apache MXNet: Ultra-scalable deep learning framework

FreeBSD/ports 520195head/sysutils/kubectl Makefile distinfo

- Replace embedded golang-sys by fead79001313 to fix build on aarch64

FreeBSD/ports 520194head/sysutils/istio distinfo Makefile

- Update to 1.4.2
- Update golang-sys to fead79001313 to fix build on aarch64

FreeBSD/ports 520193head/math/R pkg-plist distinfo

math/R: Update to version 3.6.2

See the NEWS file for upstream changes:

FreeBSD/ports 520192head/math/R Makefile

math/R: No-op to standardize formatting using ports-mgmt/portfmt
+66-641 files

FreeBSD/ports 520191head/editors/emacs-devel pkg-plist distinfo

editors/emacs-devel: Update to 2019-12-15 commit, 9ee5af3

FreeBSD/ports 520190head/misc/mxnet pkg-plist Makefile, head/misc/mxnet/files patch-src_operator_numpy_np__einsum__op-inl.h patch-CMakeLists.txt

New port: misc/mxnet: Apache MXNet: Ultra-scalable deep learning framework