History log of /freebsd-current/share/mk/bsd.libnames.mk
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 99ea6757 19-Feb-2024 Brooks Davis <brooks@FreeBSD.org>

lib{c,sys}: move auxargs more firmly into libsys

Continue to filter the public interface (elf_aux_info()), but entierly
relocate the private interfaces (_elf_aux_info(),
__init_elf_aux_vector(), and __elf_aux_vector) to libsys.

This ensures that rtld updates the correct (only) copy of
__elf_aux_vector. After 968a18975adc9c2a619bb52aa2f009de99fc9e24
updates were confused and __getosreldate was failing, causing
the system to fall back to compat compat12 syscalls in some cases.

Return to explicitly linking libc to libsys and link libthr with libc
and libsys (in that order).

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D43910


# a4e5e010 08-Feb-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@229b9f4ed

Notable upstream pull request merges:
#15769 082338875 Add 'zpool status -e' flag to see unhealthy vdevs
#15804 a0d3fe72b libzdb: Initial breakout of libzdb
#15847 229b9f4ed LUA: Backport CVE-2020-24370's patch

Obtained from: OpenZFS
OpenZFS commit: 229b9f4ed05e6d14fb4d73fa04a71e99b01bb534


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/

# 0aa27001 01-Oct-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

Put OPIE to rest.

Differential Revision: https://reviews.freebsd.org/D36592

# 4385a9f8 07-Sep-2022 Xin LI <delphij@FreeBSD.org>

Fix build.

Pointy hat to: delphij
MFC after: 2 weeks
X-MFC-with: c65e42dbde41

# cdcd52d4 23-May-2022 Bartosz Sobczak <bartosz.sobczak@intel.com>

irdma: Add RDMA driver for Intel(R) Ethernet Controller E810

This is an initial commit for RDMA FreeBSD driver for Intel(R) Ethernet
Controller E810, called irdma. Supporting both RoCEv2 and iWARP
protocols in per-PF manner, RoCEv2 being the default.

Testing has been done using krping tool, perftest, ucmatose, rping,
ud_pingpong, rc_pingpong and others.

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Reviewed by: #manpages (pauamma_gundo.com) [documentation]
MFC after: 1 week
Relnotes: yes
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D34690

# 63783933 22-Dec-2021 John Baldwin <jhb@FreeBSD.org>

Add an internal libiscsiutil library.

Move some of the code duplicated between ctld(8) and iscsid(8) into a
libiscsiutil library.

Sharing the low-level PDU code did require having a
'struct connection' base class with a method table to permit separate
initiator vs target behavior (e.g. in handling proxy PDUs).

Reviewed by: mav, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D33544

# 1cd0117f 24-Nov-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: libform is installed as libformw

Reported by: many

# 396851c2 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: split libtinfo from libncurses

many external program expects libncurses to not be provided as a single
library. Instead of fixing all ports, distribute ncurses the way
upstream distributes it

Turn libncursesw.so into a ldscript which will link automatically as
needed to libtinfow so so this change is seamless at compile time.

Differential Revision: https://reviews.freebsd.org/D32098

# 5cf6f1c4 30-Jan-2021 Alex Richardson <arichardson@FreeBSD.org>

Remove the MK_LIBCPLUSPLUS option

This option has been equivalent to any form of C++ support since libstdc++
was removed. Therefore, replace all MK_LIBCPLUSPLUS uses with MK_CXX.

Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D27974

# 556fcdce 16-Dec-2020 Bryan Drewery <bdrewery@FreeBSD.org>

bsd.compat.mk: Allow finding non-internal libraries

Currently only libexec/rtld-elf32 uses internal LIBC_NOSSP_PIC during
the build but it gets it directly from the objdir rather than a sysroot.
For example, /usr/obj/usr/src/amd64.amd64/obj-lib32/lib/libc/libc_nossp_pic.a.
We don't stage lib32 libraries in WORLDTMP/usr/lib32 and doing so doesn't
buy much. If we want to use a staged lib32 library then we need to look in
LIBCOMPATTMP where they were staged. For example if LIBC_PIC were wanted then
look for /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/usr/lib32/libc_pic.a.

Reported by: rlibby
Reviewed by: rlibby
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D27648

# 8aff76fb 22-Dec-2020 Kyle Evans <kevans@FreeBSD.org>

build: remove the option to build gnugrep

Unconditionally install bsdgrep as grep, bootstrap or not. Remove all
build glue and stop installing both gnugrep and libgnuregex now that
all consumers of the latter are gone.

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D27732

# 100353cf 03-Oct-2020 Jakub Wojciech Klama <jceel@FreeBSD.org>

Add virtio-9p (aka VirtFS) filesystem sharing to bhyve.

VirtFS allows sharing an arbitrary directory tree between bhyve virtual
machine and the host. Current implementation has a fairly complete support
for 9P2000.L protocol, except for the extended attribute support. It has
been verified to work with the qemu-kvm hypervisor.

Reviewed by: rgrimes, emaste, jhb, trasz
Approved by: trasz (mentor)
MFC after: 1 month
Relnotes: yes
Sponsored by: Conclusive Engineering (development), vStack.com (funding)
Differential Revision: https://reviews.freebsd.org/D10335

# e307eb94 21-Sep-2020 Toomas Soome <tsoome@FreeBSD.org>

loader: zfs should support bootonce an nextboot

bootonce feature is temporary, one time boot, activated by
"bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.

By default, the bootonce setting is reset on attempt to boot and the next
boot will use previously active BE.

By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will
be set permanently active.

bootonce dataset name is recorded in boot pool labels, bootenv area.

in case of nextboot, the nextboot_enable boolean variable is recorded in
freebsd:nvstore nvlist, also stored in boot pool label bootenv area.
On boot, the loader will process /boot/nextboot.conf if nextboot_enable
is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf
processing on next boot.

bootonce and nextboot features are usable in both UEFI and BIOS boot.

To use bootonce/nextboot features, the boot loader needs to be updated on disk;
if loader.efi is stored on ESP, then ESP needs to be updated and
for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated
(gpart or other tools).

At this time, only lua loader is updated.

Sponsored by: Netflix, Klara Inc.
Differential Revision: https://reviews.freebsd.org/D25512

# 5c4f8d80 28-Aug-2020 Vincenzo Maffione <vmaffione@FreeBSD.org>

lib: add libnetmap

This changeset introduces the new libnetmap library for writing
netmap applications.
Before libnetmap, applications could either use the kernel API
directly (e.g. NIOCREGIF/NIOCCTRL) or the simple header-only-library
netmap_user.h (e.g. nm_open(), nm_close(), nm_mmap() etc.)

The new library offers more functionalities than netmap_user.h:
- Support for complex netmap options, such as external memory
allocators or per-buffer offsets. This opens the way to future
extensions.
- More flexibility in the netmap port bind options, such as
non-numeric names for pipes, or the ability to specify the netmap
allocator that must be used for a given port.
- Automatic tracking of the netmap memory regions in use across the
open ports.

At the moment there is no man page, but the libnetmap.h header file
has in-depth documentation.

Reviewed by: hrs
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D26171

# 9e5787d2 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Merge OpenZFS support in to HEAD.

The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.

I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.

Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.

Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.

Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.

Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872

# 1a13f2e6 07-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Introduce stats(3), a flexible statistics gathering API.

This provides a framework to define a template describing
a set of "variables of interest" and the intended way for
the framework to maintain them (for example the maximum, sum,
t-digest, or a combination thereof). Afterwards the user
code feeds in the raw data, and the framework maintains
these variables inside a user-provided, opaque stats blobs.
The framework also provides a way to selectively extract the
stats from the blobs. The stats(3) framework can be used in
both userspace and the kernel.

See the stats(3) manual page for details.

This will be used by the upcoming TCP statistics gathering code,
https://reviews.freebsd.org/D20655.

The stats(3) framework is disabled by default for now, except
in the NOTES kernel (for QA); it is expected to be enabled
in amd64 GENERIC after a cool down period.

Reviewed by: sef (earlier version)
Obtained from: Netflix
Relnotes: yes
Sponsored by: Klara Inc, Netflix
Differential Revision: https://reviews.freebsd.org/D20477

# f5a95d9a 24-Jun-2019 Warner Losh <imp@FreeBSD.org>

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance and just for ancient arm
hardware. NAND parts have evolved significantly from this early work
and little to none of it would be relevant should someone need to
update to support raw nand. This code has been off by default for
years and has violated the vnode protocol leading to panics since it
was committed.

Numerous posts to arch@ and other locations have found no actual users
for this software.

Relnotes: Yes
No Objection From: arch@
Differential Revision: https://reviews.freebsd.org/D20745

# e1157dce 25-Feb-2019 Ed Maste <emaste@FreeBSD.org>

Make libifconfig INTERNALLIB

Instead of PRIVATELIB + NO_PIC. This avoids the need for the wlandebug
PIE special case added in r344211, and provides a stronger guarantee
against 3rd party software coming to depend on the API or ABI.

If / when we declare the API/ABI to be stable we can make it a normal
library.

Discussed with: bapt
Sponsored by: The FreeBSD Foundation

# a6061733 10-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

libbe(3): Add to bsd.libnames.mk

# b3a8db00 15-May-2018 Bryan Drewery <bdrewery@FreeBSD.org>

Fix stale dependencies on libcasper libraries.

Libcasper and its modules have no static libraries so don't define
paths to them. This fixes LIBADD automatically adding DPADD
entries for casper.

Reported by: sbruno
Sponsored by: Dell EMC Isilon

# cde6fa28 04-Apr-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libopencsd.

OpenCSD is an ARM CoreSight(tm) trace packets decoder.

- Connect libopencsd to the arm64 build.
- Install opencsd headers to /usr/include/opencsd/

Sponsored by: DARPA, AFRL

# 30b3274f 21-Mar-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libipt.

libipt is the Intel Processor Trace (Intel PT) packets decoder.

- Include libipt to amd64 build.
- Install libipt headers to /usr/include/libipt/

Sponsored by: DARPA, AFRL

# b37f6c98 21-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

Add libregex, connect it to the build

libregex is a regex(3) implementation intended to feature GNU extensions and
any other non-POSIX compliant extensions that are deemed worthy.

These extensions are separated out into a separate library for the sake of
not cluttering up libc further with them as well as not deteriorating the
speed (or lack thereof) of the libc implementation.

libregex is implemented as a build of the libc implementation with LIBREGEX
defined to distinguish this from a libc build. The reasons for
implementation like this are two-fold:

1.) Maintenance- This reduces the overhead induced by adding yet another
regex implementation to base.

2.) Ease of use- Flipping on GNU extensions will be as simple as linking
against libregex, and POSIX-compliant compilations can be guaranteed with a
REG_POSIX cflag that should be ignored by libc/regex and disables extensions
in libregex. It is also easier to keep REG_POSIX sane and POSIX pure when
implemented in this fashion.

Tests are added for future functionality, but left disconnected for the time
being while other testing is done.

Reviewed by: cem (previous version)
Differential Revision: https://reviews.freebsd.org/D12934

# 55b1c6e7 15-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r325663 through r325841.


# e110d077 12-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix OFED library dependencies.

Sponsored by: Mellanox Technologies

# 8dee9a7a 13-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Remove no longer supported mthca driver.

Sponsored by: Mellanox Technologies

# 7b4fce76 12-Nov-2017 Mariusz Zaborski <oshogbo@FreeBSD.org>

Introduce syslog service for Casper.

syslog in libc secretly reconnects to the daemon.
Another issue is that we don't have any information from openlog(3) if we
succeeded to open log or not so we don't know if we are ready
to enter cabability mode.
Because all of that we decided we need a syslog service for Caspser.

Reviewed by: bapt@
Differential Revision: https://reviews.freebsd.org/D12824

# c8550231 09-Oct-2017 Warner Losh <imp@FreeBSD.org>

Disconnect libstand from the build.

Remove libstand from the src/lib build. Remove LIBSTAND from
bsd.libnames.mk. Add affected files to the obsolete files list.

Sponsored by: Netflix

# 99ac8154 10-Jul-2017 Konstantin Belousov <kib@FreeBSD.org>

Provide libdl.

Create libdl.so.1 as a filter for libc.so.7 which exports public dl*
functions. The functions are resolved from the rtld instead, the goal
of creating library is to avoid errors from the static linker due to
missed libdl. For static binaries, an empty .o is compiled into
libdl.a so that static binaries still get dl stubs from libc.a.

Right now lld cannot create filter objects, disable libdl on arm64
when binutils are not used.

Reviewed by: bdrewery, dim (previos version); emaste
Exp run: PR 220525, done by antoine
Sponsored by: The FreeBSD Foundation
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D11504

# fb401369 20-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

LIBADD: Try to support partial tree checkouts in some limited cases.

LIBADD is only supported for in-tree builds because we do not install
share/mk/src.libnames.mk (which provides LIBADD support) into /usr/share/mk.
So if a partial checkout is done then the LIBADDs are ignored and no LDADD is
ever added.

Provide limited support for this case for when LIBADD is composed entirely of
base libraries. This is to avoid clashes with ports and other out-of-tree
LIBADD uses that should not be mapped to LDADD and because we do not want to
support LIBADD out-of-tree right now.

Reported by: mckusick, kib
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

# c99b67a7 19-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.

Since buildenv exports SYSROOT all of these uses will now look in
WORLDTMP by default.

sys/boot/efi/loader/Makefile
A LIBSTAND hack is no longer required for buildenv.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

# d0ab0ec2 17-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Fix Makefiles which override LIBDIR to not add incorrect dependencies into .depend.

This fixes these cases which would rebuild every time:
make[6]: /usr/obj/usr/src/libexec/rtld-elf/tests/libpythagoras/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/libexec/rtld-elf/libm.a
make[6]: /usr/obj/usr/src/lib/libxo/tests/encoder/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libxo/libxo.a
make[7]: /usr/obj/usr/src/lib/libthr/tests/dlopen/dso/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libthr/dlopen/libpthread.a

The problem is that some Makefiles will override LIBDIR to where they want
their library to install. bsd.libnames.mk will then use ${LIBDIR} to define
where *existing* libraries are. This then leads to looking for the
libraries in the *target* place rather than the *expected* place.

We may want to expand this (and all of the other *DIR variables in bsd.own.mk)
into something like what Ports has, a PREFIX and a LOCALBASE. PREFIX being
where things are being installed to and LOCALBASE being where they already are.

For now store the default expected LIBDIR into LIBDIR_BASE and use that for
library locations.

Reported by: sbruno
MFC after: 1 week
Sponsored by: Dell EMC Isilon

# d49a5ddd 11-Oct-2016 Warner Losh <imp@FreeBSD.org>

Create libefivar library. This library aims to provide
the same API as the GPL'd version of this library. It implements the common
Linux API for programatically manipulating UEFI environment varibales using
the UEFI Runtime Services the kernel provides. It replaces the old efi
library since it is programmed to a different interface, but retails the
CHAR16 to UTF-8 and vice versa conversion routines. The new name is to match
Linux program's expectations.

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche

# ec214349 02-Sep-2016 Kristof Provost <kp@FreeBSD.org>

Renaming libifc to libifconfig in response to feedback on initial commit of
this library. Sticking to 'libifconfig' (and 'ifconfig_' as function prefix)
should reduce chances of namespace collisions, make it more clear what the
library does, and be more in line with existing libraries.

Submitted by: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Differential Revision: https://reviews.freebsd.org/D7742
Reviewed by: cem, kp

# d14b24ef 25-Aug-2016 Kristof Provost <kp@FreeBSD.org>

Add libifc, a library implementing core functionality that exists in ifconfig(8) today.

libifc (pronounced lib-ifconfig) aims to be a light abstraction layer between
programs and the kernel APIs for managing the network configuration.
This should hopefully make programs easier to maintain, and reduce code
duplication.

Work will begin on making ifconfig(8) use this library in the near future.

This code is still evolving. The interface should not be considered stable until
it is announced as such.

Submitted By: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Reviewed By: kp
Differential Revision: https://reviews.freebsd.org/D7529

# 95856e14 02-Jun-2016 Kurt Lidl <lidl@FreeBSD.org>

Add basic blacklist build support

Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5913

# 7a0c41d5 28-May-2016 Alan Somers <asomers@FreeBSD.org>

zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

cddl/usr.sbin/zfsd
Add zfsd(8) and its unit tests

cddl/usr.sbin/Makefile
Add zfsd to the build

lib/libdevdctl
A C++ library that helps devd clients process events

lib/Makefile
share/mk/bsd.libnames.mk
share/mk/src.libnames.mk
Add libdevdctl to the build. It's a private library, unusable by
out-of-tree software.

etc/defaults/rc.conf
By default, set zfsd_enable to NO

etc/mtree/BSD.include.dist
Add a directory for libdevdctl's include files

etc/mtree/BSD.tests.dist
Add a directory for zfsd's unit tests

etc/mtree/BSD.var.dist
Add /var/db/zfsd/cases, where zfsd stores case files while it's shut
down.

etc/rc.d/Makefile
etc/rc.d/zfsd
Add zfsd's rc script

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
Fix the resource.fs.zfs.statechange message. It had a number of
problems:

It was only being emitted on a transition to the HEALTHY state.
That made it impossible for zfsd to take actions based on drives
getting sicker.

It compared the new state to vdev_prevstate, which is the state that
the vdev had the last time it was opened. That doesn't make sense,
because a vdev can change state multiple times without being
reopened.

vdev_set_state contains logic that will change the device's new
state based on various conditions. However, the statechange event
was being posted _before_ that logic took effect. Now it's being
posted after.

Submitted by: gibbs, asomers, mav, allanjude
Reviewed by: mav, delphij
Relnotes: yes
Sponsored by: Spectra Logic Corp, iX Systems
Differential Revision: https://reviews.freebsd.org/D6564

# d750b641 02-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Move casper library entries to proper places.

Sponsored by: EMC / Isilon Storage Division

# c501d73c 25-Feb-2016 Mariusz Zaborski <oshogbo@FreeBSD.org>

Convert casperd(8) daemon to the libcasper.
After calling the cap_init(3) function Casper will fork from it's original
process, using pdfork(2). Forking from a process has a lot of advantages:
1. We have the same cwd as the original process.
2. The same uid, gid and groups.
3. The same MAC labels.
4. The same descriptor table.
5. The same routing table.
6. The same umask.
7. The same cpuset(1).
From now services are also in form of libraries.
We also removed libcapsicum at all and converts existing program using Casper
to new architecture.

Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste
Partially reviewed by: drysdale@google.com, bdrewery
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4277

# d6fb4894 14-Dec-2015 John Baldwin <jhb@FreeBSD.org>

Start on a new library (libsysdecode) that provides routines for decoding
system call information such as system call arguments. Initially this
will consist of pulling duplicated code out of truss and kdump though it
may prove useful for other utilities in the future.

This commit moves the shared utrace(2) record parser out of kdump into
the library and updates kdump and truss to use it. One difference from
the previous version is that the library version treats unknown events
that start with the "RTLD" signature as unknown events. This simplifies
the interface and allows the consumer to decide how to handle all
non-recognized events. Instead, this function only generates a string
description for known malloc() and RTLD records.

Reviewed by: bdrewery
Differential Revision: https://reviews.freebsd.org/D4537

# de1f9ee2 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Convert contrib/ofed libraries to LIBADD.

Sponsored by: EMC / Isilon Storage Division

# 5e99f843 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Sort the LIB list.

Sponsored by: EMC / Isilon Storage Division

# 4b9378e3 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add LIBNANDFS.

Sponsored by: EMC / Isilon Storage Division

# 5afa1972 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add assertions that capture invalid configurations for new libraries.

Fix current findings, which should fix cases of NO_SHARED not building
properly.

Given libfoo:
- Ensure that a LIBFOO is set. For INTERNALLIBS advise setting this in
src.libnames.mk, otherwise bsd.libnames.mk.
- Ensure that a LIBFOODIR is properly set.
- Ensure that _DP_foo is set and matches the LIBADD in the build of foo's own
Makefile

Sponsored by: EMC / Isilon Storage Division

# 87a2755d 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Revert incomplete r291623.

# eaa435e7 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add assertions that capture invalid configurations for new libraries.

Fix current findings.

Given libfoo:
- Ensure that a LIBFOO is set. For INTERNALLIBS advise setting this in
src.libnames.mk, otherwise bsd.libnames.mk.
- Ensure that a LIBFOODIR is properly set.
- Ensure that _DP_foo is set and matches the LIBADD in the build of foo's own
Makefile

Sponsored by: EMC / Isilon Storage Division

# de52e5bd 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Define a LIB*SRCDIR for all known _LIBRARIES.

This is a follow-up to r291327 which added a LIB*DIR for all known
_LIBRARIES.

Sponsored by: EMC / Isilon Storage Division

# 4910373c 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add missing LIB80211 entry for DPADD needs.

Sponsored by: EMC / Isilon Storage Division

# ebf076df 25-Nov-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Define a LIB<NAME>DIR for every library that LIBADD provides.

This is going to be used to allow DIRDEPS to be bootstrapped off of
LIBADD/DPADD. It currently works for internal libraries which have a
DIR defined for them but also use the .a library from a src-mapped obj
directory. It can also be useful for using -L without a --sysroot per
LIBADD to use the OBJDIR version of the libraries.

I didn't review every LIBADD, so it is possible this is missing some.

Sponsored by: EMC / Isilon Storage Division

# 43518607 23-Feb-2015 Kenneth D. Merry <ken@FreeBSD.org>

Significant upgrades to sa(4) and mt(1).

The primary focus of these changes is to modernize FreeBSD's
tape infrastructure so that we can take advantage of some of the
features of modern tape drives and allow support for LTFS.

Significant changes and new features include:

o sa(4) driver status and parameter information is now exported via an
XML structure. This will allow for changes and improvements later
on that will not break userland applications. The old MTIOCGET
status ioctl remains, so applications using the existing interface
will not break.

o 'mt status' now reports drive-reported tape position information
as well as the previously available calculated tape position
information. These numbers will be different at times, because
the drive-reported block numbers are relative to BOP (Beginning
of Partition), but the block numbers calculated previously via
sa(4) (and still provided) are relative to the last filemark.
Both numbers are now provided. 'mt status' now also shows the
drive INQUIRY information, serial number and any position flags
(BOP, EOT, etc.) provided with the tape position information.
'mt status -v' adds information on the maximum possible I/O size,
and the underlying values used to calculate it.

o The extra sa(4) /dev entries (/dev/saN.[0-3]) have been removed.

The extra devices were originally added as place holders for
density-specific device nodes. Some OSes (NetBSD, NetApp's OnTap
and Solaris) have had device nodes that, when you write to them,
will automatically select a given density for particular tape drives.

This is a convenient way of switching densities, but it was never
implemented in FreeBSD. Only the device nodes were there, and that
sometimes confused users.

For modern tape devices, the density is generally not selectable
(e.g. with LTO) or defaults to the highest availble density when
the tape is rewritten from BOT (e.g. TS11X0). So, for most users,
density selection won't be necessary. If they do need to select
the density, it is easy enough to use 'mt density' to change it.

o Protection information is now supported. This is either a
Reed-Solomon CRC or CRC32 that is included at the end of each block
read and written. On write, the tape drive verifies the CRC, and
on read, the tape drive provides a CRC for the userland application
to verify.

o New, extensible tape driver parameter get/set interface.

o Density reporting information. For drives that support it,
'mt getdensity' will show detailed information on what formats the
tape drive supports, and what formats the tape drive supports.

o Some mt(1) functionality moved into a new mt(3) library so that
external applications can reuse the code.

o The new mt(3) library includes helper routines to aid in parsing
the XML output of the sa(4) driver, and build a tree of driver
metadata.

o Support for the MTLOAD (load a tape in the drive) and MTWEOFI
(write filemark immediate) ioctls needed by IBM's LTFS
implementation.

o Improve device departure behavior for the sa(4) driver. The previous
implementation led to hangs when the device was open.

o This has been tested on the following types of drives:
IBM TS1150
IBM TS1140
IBM LTO-6
IBM LTO-5
HP LTO-2
Seagate DDS-4
Quantum DLT-4000
Exabyte 8505
Sony DDS-2

contrib/groff/tmac/doc-syms,
share/mk/bsd.libnames.mk,
lib/Makefile,
Add libmt.

lib/libmt/Makefile,
lib/libmt/mt.3,
lib/libmt/mtlib.c,
lib/libmt/mtlib.h,
New mt(3) library that contains functions moved from mt(1) and
new functions needed to interact with the updated sa(4) driver.

This includes XML parser helper functions that application writers
can use when writing code to query tape parameters.

rescue/rescue/Makefile:
Add -lmt to CRUNCH_LIBS.

src/share/man/man4/mtio.4
Clarify this man page a bit, and since it contains what is
essentially the mtio.h header file, add new ioctls and structure
definitions from mtio.h.

src/share/man/man4/sa.4
Update BUGS and maintainer section.

sys/cam/scsi/scsi_all.c,
sys/cam/scsi/scsi_all.h:
Add SCSI SECURITY PROTOCOL IN/OUT CDB definitions and CDB building
functions.

sys/cam/scsi/scsi_sa.c
sys/cam/scsi/scsi_sa.h
Many tape driver changes, largely outlined above.

Increase the sa(4) driver read/write timeout from 4 to 32
minutes. This is based on the recommended values for IBM LTO
5/6 drives. This may also avoid timeouts for other tape
hardware that can take a long time to do retries and error
recovery. Longer term, a better way to handle this is to ask
the drive for recommended timeout values using the REPORT
SUPPORTED OPCODES command. Modern IBM and Oracle tape drives
at least support that command, and it would allow for more
accurate timeout values.

Add XML status generation. This is done with a series of
macros to eliminate as much duplicate code as possible. The
new XML-based status values are reported through the new
MTIOCEXTGET ioctl.

Add XML driver parameter reporting, using the new MTIOCPARAMGET
ioctl.

Add a new driver parameter setting interface, using the new
MTIOCPARAMSET and MTIOCSETLIST ioctls.

Add a new MTIOCRBLIM ioctl to get block limits information.

Add CCB/CDB building routines scsi_locate_16, scsi_locate_10,
and scsi_read_position_10().

scsi_locate_10 implements the LOCATE command, as does the
existing scsi_set_position() command. It just supports
additional arguments and features. If/when we figure out a
good way to provide backward compatibility for older
applications using the old function API, we can just revamp
scsi_set_position(). The same goes for
scsi_read_position_10() and the existing scsi_read_position()
function.

Revamp sasetpos() to take the new mtlocate structure as an
argument. It now will use either scsi_locate_10() or
scsi_locate_16(), depending upon the arguments the user
supplies. As before, once we change position we don't have a
clear idea of what the current logical position of the tape
drive is.

For tape drives that support long form position data, we
read the current position and store that for later reporting
after changing the position. This should help applications
like Bacula speed tape access under FreeBSD once they are
modified to support the new ioctls.

Add a new quirk, SA_QUIRK_NO_LONG_POS, that is set for all
drives that report SCSI-2 or older, as well as drives that
report an Illegal Request type error for READ POSITION with
the long format. So we should automatically detect drives
that don't support the long form and stop asking for it after
an initial try.

Add a partition number to the sa(4) softc.

Improve device departure handling. The previous implementation
led to hangs when the device was open.

If an application had the sa(4) driver open, and attempted to
close it after it went away, the cam_periph_release() call in
saclose() would cause the periph to get destroyed because that
was the last reference to it. Because destroy_dev() was
called from the sa(4) driver's cleanup routine (sacleanup()),
and would block waiting for the close to happen, a deadlock
would result.

So instead of calling destroy_dev() from the cleanup routine,
call destroy_dev_sched_cb() from saoninvalidate() and wait for
the callback.

Acquire a reference for devfs in saregister(), and release it
in the new sadevgonecb() routine when all devfs devices for
the particular sa(4) driver instance are gone.

Add a new function, sasetupdev(), to centralize setting
per-instance devfs device parameters instead of repeating the
code in saregister().

Add an open count to the softc, so we know how many
peripheral driver references are a result of open
sessions.

Add the D_TRACKCLOSE flag to the cdevsw flags so
that we get a 1:1 mapping of open to close calls
instead of a N:1 mapping.

This should be a no-op for everything except the
control device, since we don't allow more than one
open on non-control devices.

However, since we do allow multiple opens on the
control device, the combination of the open count
and the D_TRACKCLOSE flag should result in an
accurate peripheral driver reference count, and an
accurate open count.

The accurate open count allows us to release all
peripheral driver references that are the result
of open contexts once we get the callback from devfs.

sys/sys/mtio.h:
Add a number of new mt(4) ioctls and the requisite data
structures. None of the existing interfaces been removed
or changed.

This includes definitions for the following new ioctls:

MTIOCRBLIM /* get block limits */
MTIOCEXTLOCATE /* seek to position */
MTIOCEXTGET /* get tape status */
MTIOCPARAMGET /* get tape params */
MTIOCPARAMSET /* set tape params */
MTIOCSETLIST /* set N params */

usr.bin/mt/Makefile:
mt(1) now depends on libmt, libsbuf and libbsdxml.

usr.bin/mt/mt.1:
Document new mt(1) features and subcommands.

usr.bin/mt/mt.c:
Implement support for mt(1) subcommands that need to
use getopt(3) for their arguments.

Implement a new 'mt status' command to replace the old
'mt status' command. The old status command has been
renamed 'ostatus'.

The new status function uses the MTIOCEXTGET ioctl, and
therefore parses the XML data to determine drive status.
The -x argument to 'mt status' allows the user to dump out
the raw XML reported by the kernel.

The new status display is mostly the same as the old status
display, except that it doesn't print the redundant density
mode information, and it does print the current partition
number and position flags.

Add a new command, 'mt locate', that will supersede the
old 'mt setspos' and 'mt sethpos' commands. 'mt locate'
implements all of the functionality of the MTIOCEXTLOCATE
ioctl, and allows the user to change the logical position
of the tape drive in a number of ways. (Partition,
block number, file number, set mark number, end of data.)
The immediate bit and the explicit address bits are
implemented, but not documented in the man page.

Add a new 'mt weofi' command to use the new MTWEOFI ioctl.
This allows the user to ask the drive to write a filemark
without waiting around for the operation to complete.

Add a new 'mt getdensity' command that gets the XML-based
tape drive density report from the sa(4) driver and displays
it. This uses the SCSI REPORT DENSITY SUPPORT command
to get comprehensive information from the tape drive about
what formats it is able to read and write.

Add a new 'mt protect' command that allows getting and setting
tape drive protection information. The protection information
is a CRC tacked on to the end of every read/write from and to
the tape drive.

Sponsored by: Spectra Logic
MFC after: 1 month

# cf9b923f 18-Feb-2015 Marcel Moolenaar <marcel@FreeBSD.org>

Add LIBXO.

# 64de8019 06-Feb-2015 John Baldwin <jhb@FreeBSD.org>

Add a new device control utility for new-bus devices called devctl. This
allows the user to request administrative changes to individual devices
such as attach or detaching drivers or disabling and re-enabling devices.
- Add a new /dev/devctl2 character device which uses ioctls for device
requests. The ioctls use a common 'struct devreq' which is somewhat
similar to 'struct ifreq'.
- The ioctls identify the device to operate on via a string. This
string can either by the device's name, or it can be a bus-specific
address. (For unattached devices, a bus address is the only way to
locate a device.) Bus drivers register an eventhandler to claim
unrecognized device names that the driver recognizes as a valid address.
Two buses currently support addresses: ACPI recognizes any device
in the ACPI namespace via its full path starting with "\" and
the PCI bus driver recognizes an address specification of
'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector
strings supported by pciconf).
- To make it easier to cut and paste, change the PnP location string
in the PCI bus driver to output a full PCI selector string rather
than 'slot=<slot> function=<func>'.
- Add a devctl(3) interface in libdevctl which provides a wrapper around
the ioctls and is the preferred interface for other userland code.
- Add a devctl(8) program which is a simple wrapper around the requests
supported by devctl(3).
- Add a device_is_suspended() function to check DF_SUSPENDED.
- Add a resource_unset_value() function that can be used to remove a
hint from the kernel environment. This is used to clear a
hint.<driver>.<unit>.disabled hint when re-enabling a boot-time
disabled device.

Reviewed by: imp (parts)
Requested by: imp (changing PCI location string)
Relnotes: yes

# 1ac18f08 26-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Remove MINUSLPAM the LIBADD framework handles static dependencies just fine

# f12128e4 24-Nov-2014 Rui Paulo <rpaulo@FreeBSD.org>

Import libgpio.

This is a thin wrapper around the kernel interface which should make
it easier to write GPIO applications. gpioctl(8) will be converted to
use this library in a separate commit.

Differential Revision: https://reviews.freebsd.org/D1183
Reviewed by: adrian, loos
Discussed on: arm@, embedded@
Relnotes: yes

# dec01358 21-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Enforce -lpthread and -lc to always be the 2 last components of the link list

Differential Revision: https://reviews.freebsd.org/D1118
Suggested by: kib

# 041394f3 04-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Add new libraries/utilities for data throughput visualization.
dpv(3): dialog progress view library
dpv(1): stream data from stdin or multiple paths with dialog progress view
figpar(3): configuration file parsing library

Reviews: D714
Reviewed by: jelischer, shurd
Discussed at: MeetBSD California 2014 Vendor/Dev Summit
Discussed on: -current
MFC after: 21 days
X-MFC-to: stable/10 stable/9

# 2dba8ab0 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Introduce missing definition for LIBTERMCAPW

Some Makefiles expect this value to exist

Approved by: rpaulo (mentor)
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762

# 3303bfc0 25-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Fix "make checkdpadd" for lib/libc when MK_SSP != no

Add LIBSSP_NONSHARED to bsd.libnames.mk and append LIBSSP_NONSHARED to DPADD in
lib/libc when MK_SSP != no

Approved by: rpaulo (mentor)
MFC after: 3 days
Phabric: D675 (as part of a larger diff)
PR: 192728

# d029c3aa 06-Aug-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Rework privatelib/internallib

Make sure everything linking to a privatelib and/or an internallib does it directly
from the OBJDIR rather than DESTDIR.
Add src.libnames.mk so bsd.libnames.mk is not polluted by libraries not existsing
in final installation
Introduce the LD* variable which is what ld(1) is expecting (via LDADD) to link to
internal/privatelib
Directly link to the .so in case of private library to avoid having to complexify
LDFLAGS.

Phabric: https://phabric.freebsd.org/D553
Reviewed by: imp, emaste

# 8a833bda 09-Jul-2014 Baptiste Daroussin <bapt@FreeBSD.org>

The GNU readline library is now an INTERNALLIB - that is, it is
statically linked into consumers (GDB and variants) in the base
system, and the shared library is no longer installed.

That also allows ports to be able to use a modern version of readline

PR: 162948
Reviewed by: emaste

# 17a286a9 24-May-2014 Julio Merino <jmmv@FreeBSD.org>

Change libatf-c and libatf-c++ to be private libraries.

We should not be leaking these interfaces to the outside world given
that it's much easier for third-party components to use the devel/atf
package from ports.

As a side-effect, we can also drop the ATF pkgconfig and aclocal files
from the base system. Nothing in the base system needs these, and it
was quite ugly to have to get them installed only so that a few ports
could build. The offending ports have been fixed to depend on
devel/atf explicitly.

Reviewed by: bapt

# fa3dfa61 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

LIBUNBOUND can be unconditionally set.

# 1e309af2 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

Don't need to make these conditional on MK_LIBCPLUSPLUS. They can be
defined all the time without ill effect.

# 54421a34 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

LIBMILTER can be defined always. No need to restrict to only when
we're building sendmail.

# 02504aec 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

Always define LIBLDNS. We don't need to only define it when it is
enabled.

# 2c284d93 13-Mar-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Remove IPX support.

IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.

# d0bfcaf8 23-Feb-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Remove libyaml, it has been replaced by libucl

# c99fb5f9 23-Feb-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Import libucl into head

UCL is heavily infused by nginx configuration as the example of a convenient
configuration system. However, UCL is fully compatible with JSON format and is
able to parse json files.

UCL is used by pkg(8) for its configuration file as well for the manifest format
in packages, it will be used in base for the pkg boostrap (signature checking
and configuration file parsing.)

libucl has been developped and is maintained by vsevolod@


# 46fec228 18-Jan-2014 Ed Schouten <ed@FreeBSD.org>

Correct value of LIBCOMPILER_RT.

Caught by: Luca Bayer

# 37656b87 18-Jan-2014 Ed Schouten <ed@FreeBSD.org>

Replace LIBGCC by LIBCOMPILER_RT.

We now use libcompiler_rt on all platforms now. Instead of referring
directly to -lgcc and LIBGCC, use -lcompiler_rt and LIBCOMPILER_RT.

# 42a85952 02-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Please welcome casperd daemon. It (and its services) will be responsible for
giving access to functionality that is not available in capability mode
sandbox. The functionality can be precisely restricted.

Start with the following services:
- system.dns - provides API compatible to:
- gethostbyname(3),
- gethostbyname2(3),
- gethostbyaddr(3),
- getaddrinfo(3),
- getnameinfo(3),
- system.grp - provides getgrent(3)-compatible API,
- system.pwd - provides getpwent(3)-compatible API,
- system.random - allows to obtain entropy from /dev/random,
- system.sysctl - provides sysctlbyname(3-compatible API.

Sponsored by: The FreeBSD Foundation

# 2f02600a 01-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Move my simple logging API to a separate library. It is now already used
by hastctl(8), hastd(8) and auditdistd(8) and will soon be also used
by casperd(8) and its services. There is no documentation and pjdlog.h
header file is not installed in /usr/include/ to keep it private.
Unfortunately we don't have /lib/private/ at this point, only
/usr/lib/private/, so the library is installed in /lib/.

Sponsored by: The FreeBSD Foundation

# 36da5199 12-Nov-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Bring in libnv library for managing name/value pairs. The following types
are currently supported:

- NV_TYPE_NULL - only name, no data;
- NV_TYPE_BOOL - boolean (true or false);
- NV_TYPE_NUMBER - 64bit unsigned integer;
- NV_TYPE_STRING - C string;
- NV_TYPE_NVLIST - nested nvlist;
- NV_TYPE_DESCRIPTOR - file descriptor;
- NV_TYPE_BINARY - binary data.

For detailed documentation and examples see nv(3) manual page.

Sponsored by: The FreeBSD Foundation

# e3ededfa 14-Oct-2013 Bryan Drewery <bdrewery@FreeBSD.org>

Rename libbsdyml to libyaml, make private, and bump
SHLIB_MAJOR to 1.0

Suggested by: des
Approved by: bapt
MFC after: 1 week

# 56b72efe 30-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove BIND.

Approved by: re (gjb)

# 66c2c71f 17-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Set the correct path for LIBUNBOUND.

Approved by: re (blanket)

# 8f8790cd 15-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Build and install the Unbound caching DNS resolver daemon.

Approved by: re (blanket)

# 0d410def 10-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Clean up the Kerberos build by turning libheimipcc and libheimipcs into
private shared libraries, instead of hacked-together archives of PIC
objects. This makes it possible to build a static libkrb5 that works.

Reviewed by: stas
Approved by: re (gjb)

# 0b2766bd 08-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Make libldns and libssh private.

Approved by: re (blanket)

# 4b1fb8ff 03-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Connect libexecinfo to the build

Sponsored by: DARPA, AFRL

# 237abf0c 28-Jun-2013 Davide Italiano <davide@FreeBSD.org>

- Trim an unused and bogus Makefile for mount_smbfs.
- Reconnect with some minor modifications, in particular now selsocket()
internals are adapted to use sbintime units after recent'ish calloutng
switch.

# a03fbc7e 09-Mar-2013 Martin Matuska <mm@FreeBSD.org>

MFC @248093


# dce1a726 05-Mar-2013 Martin Matuska <mm@FreeBSD.org>

WiP merge of libzfs_core (MFV r238590, r238592)
not yet working, ioctl handling needs to be changed


# e51c53f3 04-Mar-2013 Baptiste Daroussin <bapt@FreeBSD.org>

Import libyaml as libbsdyml (private brand name)

LibYAML is a YAML 1.1 parser and emitter under MIT license which will
soon be used by the pkg boostrap (usr.bin/pkg) and bhyve

Reviewed by: roberto, antoine


# 9c9425b7 15-Feb-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

fix leftover from an earlier experiment

# 7b5038d7 15-Feb-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Import LDNS and build it as an internal library.


# 46b1c55d 04-Jan-2013 Neel Natu <neel@FreeBSD.org>

IFC @ r244983.


# c857d06a 30-Dec-2012 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

With the old sade removed, libdisk is no longer used by anything in HEAD
and uses a number of problematic pre-gpart interfaces. Since it has been
entirely obsoleted by interfaces in geom, remove it.

# 32531ccb 03-Dec-2012 Neel Natu <neel@FreeBSD.org>

IFC @r243836


# d7649ea3 20-Nov-2012 Dimitry Andric <dim@FreeBSD.org>

Do not expose LIBCXXRT and LIBCPLUSPLUS in bsd.libnames.mk, if
WITHOUT_LIBCPLUSPLUS is specified.

Submitted by: Garrett Cooper <yanegomi@gmail.com>
MFC after: 3 days

# a10c6f55 10-Nov-2012 Neel Natu <neel@FreeBSD.org>

IFC @ r242684


# c175365c 21-Oct-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add ATF to the build. This is may be a bit rought around the egdes,
but committing it helps to get everyone on the same page and makes
sure we make progress.

Tinderbox breakages that are the result of this commit are entirely
the committer's fault -- in other words: buildworld testing on amd64
only.

Credits follow:

Submitted by: Garrett Cooper <yanegomi@gmail.com>
Sponsored by: Isilon Systems
Based on work by: keramida@
Thanks to: gnn@, mdf@, mlaier@, sjg@
Special thanks to: keramida@

# 2e564269 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE SMBFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netsmb, which is a base
requirement for SMBFS.

In the while SMBFS regular users can use FUSE interface and smbnetfs
port to work with their SMBFS partitions.

Also, there are ongoing efforts by vendor to support in-kernel smbfs,
so there are good chances that it will get relinked once properly locked.

This is not targeted for MFC.

# e6116d5b 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE NWFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netncp, which is a base
requirement for NWFS.

In the possibility of a future maintenance of the code and later
readd to the FreeBSD base, maybe we should think about a better location
for netncp. I'm not entirely sure the / top location is actually right,
however I will let network people to comment on that more specifically.

This is not targeted for MFC.

# b652778e 11-Jul-2012 Peter Grehan <grehan@FreeBSD.org>

IFC @ r238370


# 6639d35c 18-May-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add missing LIBPROCSTAT.

# 38f1b189 26-Apr-2012 Peter Grehan <grehan@FreeBSD.org>

IFC @ r234692

sys/amd64/include/cpufunc.h
sys/amd64/include/fpu.h
sys/amd64/amd64/fpu.c
sys/amd64/vmm/vmm.c

- Add API to allow vmm FPU state init/save/restore.

FP stuff discussed with: kib


# ae771770 22-Mar-2012 Stanislav Sedov <stas@FreeBSD.org>

- Update FreeBSD Heimdal distribution to version 1.5.1. This also brings
several new kerberos related libraries and applications to FreeBSD:
o kgetcred(1) allows one to manually get a ticket for a particular service.
o kf(1) securily forwards ticket to another host through an authenticated
and encrypted stream.
o kcc(1) is an umbrella program around klist(1), kswitch(1), kgetcred(1)
and other user kerberos operations. klist and kswitch are just symlinks
to kcc(1) now.
o kswitch(1) allows you to easily switch between kerberos credentials if
you're running KCM.
o hxtool(1) is a certificate management tool to use with PKINIT.
o string2key(1) maps a password into key.
o kdigest(8) is a userland tool to access the KDC's digest interface.
o kimpersonate(8) creates a "fake" ticket for a service.

We also now install manpages for some lirbaries that were not installed
before, libheimntlm and libhx509.

- The new HEIMDAL version no longer supports Kerberos 4. All users are
recommended to switch to Kerberos 5.

- Weak ciphers are now disabled by default. To enable DES support (used
by telnet(8)), use "allow_weak_crypto" option in krb5.conf.

- libtelnet, pam_ksu and pam_krb5 are now compiled with error on warnings
disabled due to the function they use (krb5_get_err_text(3)) being
deprecated. I plan to work on this next.

- Heimdal's KDC now require sqlite to operate. We use the bundled version
and install it as libheimsqlite. If some other FreeBSD components will
require it in the future we can rename it to libbsdsqlite and use for these
components as well.

- This is not a latest Heimdal version, the new one was released while I was
working on the update. I will update it to 1.5.2 soon, as it fixes some
important bugs and security issues.


# 80dbff4e 03-Jan-2012 Sean Bruno <sbruno@FreeBSD.org>

IFC to head to catch up the bhyve branch

Approved by: grehan@


# 7a984708 25-Nov-2011 David Chisnall <theraven@FreeBSD.org>

Import libc++ / libcxxrt into base. Not build by default yet (use
MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for
me, but is not guaranteed to work for anyone else and may eat your dog.

To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags.

Bug reports welcome, bug fixes even more welcome...

Approved by: dim (mentor)


# 24d1b19e 24-Nov-2011 Max Khon <fjoe@FreeBSD.org>

libodialog: disconnect from the build and obsolete.

# 87c3644c 24-May-2011 Peter Grehan <grehan@FreeBSD.org>

IFC @ r222256


# 2eb4b00c 17-May-2011 Florent Thoumie <flz@FreeBSD.org>

Backout libinstall.a -> libpkg commit.

Discussed with: erwin, brooks, bapt

# b67e81db 14-May-2011 John Baldwin <jhb@FreeBSD.org>

First cut to port bhyve, vmmctl, and libvmmapi to HEAD.


# 366f6083 12-May-2011 Peter Grehan <grehan@FreeBSD.org>

Import of bhyve hypervisor and utilities, part 1.
vmm.ko - kernel module for VT-x, VT-d and hypervisor control
bhyve - user-space sequencer and i/o emulation
vmmctl - dump of hypervisor register state
libvmm - front-end to vmm.ko chardev interface

bhyve was designed and implemented by Neel Natu.

Thanks to the following folk from NetApp who helped to make this available:
Joe CaraDonna
Peter Snyder
Jeff Heller
Sandeep Mann
Steve Miller
Brian Pawlowski

# 6d67f694 17-Apr-2011 Dimitry Andric <dim@FreeBSD.org>

Remove libobjc and other Objective-C related components, as these are
extremely outdated, and not used by anything in the base system.

Silence from: current@

# 4c8945a0 12-Jan-2011 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Update dialog to version 20100428. This changes the license under which
dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new
features and a new and better libdialog API. The existing libdialog will
be kept temporarily as libodialog for compatibility purposes until sade,
sysinstall and tzsetup have been either updated or replaced.

__FreeBSD_version is now 900030.

Discussed on: -current
Approved by: core
Obtained from: http://invisible-island.net/dialog

# 21022fe7 21-Aug-2010 Rui Paulo <rpaulo@FreeBSD.org>

Remove LIBELF_PIC.

Sponsored by: The FreeBSD Foundation

# 60b77a1e 21-Aug-2010 Rui Paulo <rpaulo@FreeBSD.org>

Add the definition of LIBELF_PIC.

Sponsored by: The FreeBSD Foundation

# 8589ca84 31-Jul-2010 Rui Paulo <rpaulo@FreeBSD.org>

Add LIBRTLD_DB.

Sponsored by: The FreeBSD Foundation

# 3829a734 18-May-2010 Martin Matuska <mm@FreeBSD.org>

MFC r207842, r207844, r208099:

MFC r207842:
Import of liblzma, xz, xzdec, lzmainfo from vendor branch
Add support for xz and lzma to lesspipe.sh (xzless, lzless)

MFC r207844:
Add two public headers missing in r207842
Adjust CFLAGS for lzmainfo, xz, xzdec

MFC r208099:
Add versioned symbols to liblzma
Use default SHLIB_MAJOR.

Approved by: delphij (mentor)

# 81ad8388 10-May-2010 Martin Matuska <mm@FreeBSD.org>

Import of liblzma, xz, xzdec, lzmainfo from vendor branch
Add support for xz and lzma to lesspipe.sh (xzless, lzless)
Bump __FreeBSD_version

Approved by: delphij (mentor)
MFC after: 2 weeks


# 762c7db2 23-Apr-2010 Florent Thoumie <flz@FreeBSD.org>

- Take libinstall.a out of pkg_install and make it a proper shared library.
- Rework the wrapper support to check libpkg version as well as pkg_install
version.
- Add libfetch to _prebuild_libs.
- There are no new features introduced.

Notes: the API is not stable, so basically, do not use libpkg in your
projects for now. Also there's no manpage for libpkg yet, because the API
will change drastically. I repeat, do not use libpkg for now.

# 9fd69f37 25-Feb-2010 Ruslan Ermilov <ru@FreeBSD.org>

Fixed missing or broken library dependencies.

# 2265536f 13-Feb-2010 Antoine Brodin <antoine@FreeBSD.org>

Merge r201920 to stable/8:
libusb20 was renamed libusb several months ago.

# 3bbf60ad 09-Jan-2010 Antoine Brodin <antoine@FreeBSD.org>

libusb20 was renamed libusb several months ago.

MFC after: 1 month

# 2208eadf 03-Dec-2009 Ed Schouten <ed@FreeBSD.org>

Add a new library: libulog.

One of the things I really want to do, is to get rid of the limitations
of our current utmp(5) mechanism:

- It only allows 8 byte TTY device names.
- The hostname only allows 16 bytes of storage.

I'm not a big fan of <utmpx.h>, but I think we should at least try to
add parts of it. Unfortunately we cannot implement <utmpx.h>, because we
miss various fields, such as ut_id, ut_pid, etc. The API provided by
libulog shares some similarities with <utmpx.h>, so it shouldn't be too
hard to port these applications eventually. In most simple cases, it
should just be a matter of removing the ulog_ prefix everywhere.

As a bonus, it also implements a function called ulog_login_pseudo(),
which allows unprivileged applications to write log entries, provided
they have a valid file descriptor to a pseudo-terminal master device.

libulog will allow a smoother transition to a new file format by adding
a library interface to deal with utmp/wtmp/lastlog files. I initially
thought about adding the functionality to libutil, but because I'm not
planning on keeping this library around forever, we'd better keep it
separated.

Next items on the todo list:

1. Port applications in the base system (and ports) to libulog, instead
of letting them use <utmp.h>.
2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on
top.
3. Port as many applications as possible back to <utmpx.h>.

# de6f3704 24-Jun-2009 Jamie Gritton <jamie@FreeBSD.org>

Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by: bz (mentor)

# 7a0a89d2 31-Dec-2008 Robert Watson <rwatson@FreeBSD.org>

Merge OpenBSM alpha 4 from OpenBSM vendor branch to head, both
contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual
merge). Add libauditd build parts and add to auditd's linkage;
force libbsm to build before libauditd.

OpenBSM history for imported revisions below for reference.

MFC after: 1 month
Sponsored by: Apple Inc.
Obtained from: TrustedBSD Project

OpenBSM 1.1 alpha 4

- With the addition of BSM error number mapping, we also need to map the
local error number passed to audit_submit(3) to a BSM error number,
rather than have the caller perform that conversion.
- Reallocate user audit events to avoid collisions with Solaris; adopt a
more formal allocation scheme, and add some events allocated in Solaris
that will be of immediate use on other platforms.
- Add an event for Calife.
- Add au_strerror(3), which allows generating strings for BSM errors
directly, rather than requiring applications to map to the local error
space, which might not be able to entirely represent the BSM error
number space.
- Major auditd rewrite for launchd(8) support. Add libauditd library
that is shared between launchd and auditd.
- Add AUDIT_TRIGGER_INITIALIZE trigger (sent via 'audit -i') for
(re)starting auditing under launchd(8) on Mac OS X.
- Add 'current' symlink to active audit trail.
- Add crash recovery of previous audit trail file when detected on audit
startup that it has not been properly terminated.
- Add the event AUE_audit_recovery to indicated when an audit trail file
has been recovered from not being properly terminated. This event is
stored in the new audit trail file and includes the path of recovered
audit trail file.
- Mac OS X and FreeBSD dependent code in auditd.c is separated into
auditd_darwin.c and auditd_fbsd.c files.
- Add an event for the posix_spawn(2) and fsgetpath(2) Mac OS X system
calls.
- For Mac OS X, we use ASL(3) instead of syslog(3) for logging.
- Add support for NOTICE level logging.

OpenBSM 1.1 alpha 3

- Add two new functions, au_bsm_to_errno() and au_errno_to_bsm(), to map
between BSM error numbers (largely the Solaris definitions) and local
errno(2) values for 32-bit and 64-bit return tokens. This is required
as operating systems don't agree on some of the values of more recent
error numbers.
- Fix a bug how au_to_exec_args(3) and au_to_exec_env(3) calculates the
total size for the token. This buge.
- Deprecated Darwin constants, such as TRAILER_PAD_MAGIC, removed.


# 6f0e1ffd 19-Nov-2008 Alfred Perlstein <alfred@FreeBSD.org>

src/sys/dev/usb2/controller/uss820dci_pccard.c
src/sys/dev/usb2/core/usbdevs
src/sys/dev/usb2/include/urio2_ioctl.h
src/sys/dev/usb2/storage/ustorage2_fs.h

These files are not used any more.

src/usr.sbin/Makefile
src/etc/mtree/BSD.include.dist
src/include/Makefile
src/lib/Makefile
src/share/man/man7/hier.7
src/share/mk/bsd.libnames.mk
src/etc/mtree/BSD.include.dist

Make "usbconfig" and "libusb20" a part of the default build.

src/sys/dev/usb/rio500_usb.h
src/sys/dev/usb2/storage/urio2.c

Use common include file.

src/sys/dev/usb2/bluetooth/ng_ubt2.c

Make USB bluetooth depend on "ng_hci" module.

src/sys/dev/usb2/controller/ehci2.c
src/sys/dev/usb2/controller/ehci2.h

Patches for Marvell EHCI.

src/sys/dev/usb2/core/usb2_busdma.c

Bugfix for 64-bit platforms. Need to unload the previously loaded DMA
map and some cleanup regarding some corner cases.

src/sys/dev/usb2/core/usb2_core.h
src/sys/dev/usb2/core/usb2_dev.c
src/sys/dev/usb2/core/usb2_dev.h

Bugfix for libusb filesystem interface.

New feature: Add support for filtering device data at the expense of the
userland process.

Add some more comments.

Some minor code styling.

Remove unused function, usb2_fifo_get_data_next().

Fix an issue about "fifo_index" being used instead of "ep_index".

src/sys/dev/usb2/core/usb2_device.c
src/sys/dev/usb2/core/usb2_generic.c

Bugfix for Linux USB compat layer. Do not free non-generic FIFOs when
doing an alternate setting.

Cleanup USB IOCTL and USB reference handling.
Fix a corner case where USB-FS was left initialised after
setting a new configuration or alternate setting.

src/sys/dev/usb2/core/usb2_hub.c

Improvement: Check all USB HUB ports by default at least one time.

src/sys/dev/usb2/core/usb2_request.c

Bugfix: Make sure destination ASCII string is properly zero terminated
in all cases.

Improvement: Skip invalid characters instead of replacing with a dot.

src/sys/dev/usb2/core/usb2_util.c
src/sys/dev/usb2/image/uscanner2.c

Spelling.

src/sys/dev/usb2/include/Makefile

Share "usbdevs" with the old USB stack.

src/sys/dev/usb2/include/usb2_devid.h
src/sys/dev/usb2/include/usb2_devtable.h

Regenerate files.

Alfred: Please fix the RCS tag at the top.

src/sys/dev/usb2/include/usb2_ioctl.h

Fix compilation of "kdump".

src/sys/dev/usb2/serial/ubsa2.c
src/sys/dev/usb2/serial/ugensa2.c

Remove device ID's which will end up in a new 3G driver.

src/sys/dev/usb2/sound/uaudio2.c

Correct a debug printout.

src/sys/dev/usb2/storage/umass2.c

Sync with old USB stack.

src/lib/libusb20/libusb20.3

Add more documentation.

src/lib/libusb20/libusb20.c

Various bugfixes and improvements.

src/usr.sbin/usbconfig/dump.c
src/usr.sbin/usbconfig/usbconfig.c

New commands for dumping strings and doing custom USB requests from
the command line.

Remove keyword requirements from generated files:
"head/sys/dev/usb2/include/usb2_devid.h"
"head/sys/dev/usb2/include/usb2_devtable.h"

# 770ac3b2 21-May-2008 John Birrell <jb@FreeBSD.org>

Add support for the Compact C Type (CTF) conversions throughout FreeBSD's
system makefiles.

Note that the CTF conversion defaults to off. We may choose to change this
default later if DTrace proves popular and people are prepared to wear
the compilation performance impact of compiling with debug symbols all the
time.

Setting NO_CTF in the make args or user environment turns off CTF conversion.
Even if we choose to default CTF generation to on later, we still need
NO_CTF so that the buildworld process can bootstrap the tools without
needlessly generating CTF data for temporary tools.

Setting WITH_CTF in the make args or user environment (and _NOT_ in
/etc/make.conf) is the only way to enable CTF data conversion. Nore that
this can't be implemented the same way that the WITH_ and WITHOUT_ stuff
is implemented throughout the buildworld because the CTF conversion needs
to work when building a simple object without a Makefile, using the
default rules in sys.mk.

Typing 'make test.o' with no makefile and just a source file test.c
should work. Also, typing 'make WITH_CTF=1 test.o without a makefile and
just a source file test.c should work and produce an object with a CTF
elf section. Typing 'make WITH_CTF=1 CFLAGS=-g test.o' without a makefile
and just a source file test.c should produce an object with both a CTF
elf section and the debug elf sections.

In the FreeBSD build where more .mk files are used than just sys.mk
which is included my make by default, the use of DEBUG_FLAGS is the
correct way to enable a debug build. The important thing to note here
is that it is the DEBUG_FLAGS setting that prevents libraries and
programs from being stripped on installation. So, for the addition of
CTF data conversion, setting DEBUG_FLAGS to contain -g, without NO_CTF,
will cause the ctfconvert and ctfmerge build programs to be executed
also with the -g arg so that debug symbols are retained rather than
being removed after the CTF data elf section has been added.

Add DTrace libraries to the list of libnames.

# 33f12199 07-May-2008 Doug Rabson <dfr@FreeBSD.org>

Fix conflicts after heimdal-1.1 import and add build infrastructure. Import
all non-style changes made by heimdal to our own libgssapi.

# e901b583 21-Feb-2008 Ruslan Ermilov <ru@FreeBSD.org>

Add LIBELF.

# 71ce49ae 01-Oct-2007 Ruslan Ermilov <ru@FreeBSD.org>

Fixed "make checkdpadd" (missing library dependencies).

Approved by: re (kensmith)

# 00fb440c 13-May-2007 Daniel Eischen <deischen@FreeBSD.org>

Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries. If necessary, this will happen later.

# 83423691 06-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Oops, keep things sorted.

Found by: ru

# f13a8260 05-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add new libraries. We may want to rename libumem to not colide with
ports/devel/umem.

# 31b4134f 08-Mar-2007 Rong-En Fan <rafan@FreeBSD.org>

Enable ncurses wide character support

Approved by: delphij (mentor)
Tested by: kris on pointyhat (early version), current@

# 438e97c0 01-Feb-2007 Rong-En Fan <rafan@FreeBSD.org>

Remove old libmytinfo link.

Approved by: delphij (mentor)
Requested by: ache

# 2e975006 30-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Removed libc_r build support.

# cea557ad 20-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Extend coverage of the MK_IPX build option to the following:

- <netipx> headers [1]
- IPX library (libipx)
- IPX support in ifconfig(8)
- IPXrouted(8)
- new MK_NCP option

New MK_NCP build option controls:

- <netncp> and <fs/nwfs> headers
- NCP library (libncp)
- ncplist(1) and ncplogin(1)
- mount_nwfs(8)
- ncp and nwfs kernel modules

User knobs: WITHOUT_IPX, WITHOUT_IPX_SUPPORT, WITHOUT_NCP.

[1] <netsmb/netbios.h> unconditionally uses <netipx> headers
so they are still installed. This needs to be dealt with.

# e1fe3dba 17-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Reimplementation of world/kernel build options. For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)

# 18d73856 02-Feb-2006 Robert Watson <rwatson@FreeBSD.org>

Define $LIBBSM.

Obtained from: TrustedBSD Project

# b9d4511f 17-Jul-2005 Robert Watson <rwatson@FreeBSD.org>

Add LIBMEMSTAT tp bsd.libnames.mk.

MFC after: 1 week

# ebccf1e3 18-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by: alc, jhb (kernel changes)

# d966048e 06-Jan-2005 Kirill Ponomarev <krion@FreeBSD.org>

Remove trailing spaces.

# a2161735 21-Dec-2004 Ruslan Ermilov <ru@FreeBSD.org>

NOCRYPT -> NO_CRYPT

# 6c58990d 13-Nov-2004 Bjoern A. Zeeb <bz@FreeBSD.org>

Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on no NIS support and related programs will be built.

Lost parts rediscovered by: Danny Braniss <danny at cs.huji.ac.il>
PR: bin/68303
No objections: des, gshapiro, nectar
Reviewed by: ru
Approved by: rwatson (mentor)
MFC after: 2 weeks

# 5f892a7f 24-Sep-2004 Tom Rhodes <trhodes@FreeBSD.org>

Fix build in the !NOATM case by using the begemot library in place of
using libisc which was a part of BIND8.

Discussed with: des, re, dougb
Submitted by: harti (one part)
Reviewed by: harti (previous version)

# a2af6bc2 24-Sep-2004 Doug Barton <dougb@FreeBSD.org>

Fix the WANT_BIND_LIBS knob by correctly spelling it as WITH_BIND_LIBS
to match how similar syntax is used in the ports system. Thanks to kris
for pointing out my mistake here.

Install the lwres library unless the user defines NO_BIND, or the new
knob, NO_BIND_LIBS_LWRES. There is at least one potential customer
for this library in the wings. Thanks to nectar for the reminder.

# 56216f68 24-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

Don't expose BIND libraries and their headers to the public by default,
but have a knob (WANT_BIND_LIBS) to build and install them in /usr/lib
and /usr/include. Rumors are that this may be useful at a later point,
let's see.

What this really means is that all BIND libraries are now internal to
buildworld (by default, unless WANT_BIND_LIBS is defined), and linked
statically into various BIND executables.

While here, removed redundant -I's from CFLAGS in lib/bind makefiles.

Sponsored by: des
OK'ed by: dougb

# 2371026f 23-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

- Wrapped BIND 9 libraries defines into !defined(NO_BIND).

- Added forgotten LIBLWRES to fix missing dependencies
revealed by "make checkdpadd".

# cd3ee173 21-Sep-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Switch from BIND 8 to BIND 9.

Submitted by: (in part) dougb@, trhodes@
Reviewed by: dougb@, trhodes@, re@
MFC after: 5 days

# 495b92b2 11-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

The last commit had one too many libs.

# 20164649 09-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

Bmake the library containing and processing the magic.

# b4435eb7 12-Feb-2004 Tim Kientzle <kientzle@FreeBSD.org>

Register libarchive in bsd.libnames.mk and mdoc.local

Submitted by: ru

# a4a62f5d 06-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

First round of cleanups to sys/boot/ makefiles:

- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on: i386, amd64
Prodded by: bde

# 002886c8 04-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

Nothing in libypclnt depends on librpcsvc.

Reported by: lorder(1) (modified to work with libraries)

# 53fcfc91 03-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed MINUSLPAM:

- Added missing NOCRYPT and NO_OPENSSL checks for Kerberos.

- Don't depend on -lcrypto and -lcrypt in pam_ssh to resolve
dependencies in pam_krb5 and pam_ksu -- the former may not
be compiled at all if NO_OPENSSH knob is enabled.

- Added missing -lcrypt to pam_ssh dependencies.

- Moved librpcsvc after libypclnt.

(The last two aren't strictly speaking necessary to resolve
the dependencies of static versions of pam_ssh and pam_unix,
respectively, but they correspond to dynamic dependencies
of libssh and libypclnt, and are put here for consistency.)

In collaboration with: bde
Reviewed by: des

# 2082e6d2 02-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

GC LIBPC and LIBPLOT: they never existed in unencumbered BSD versions.

Reviewed by: bde

# 2e381660 31-Jan-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Add LIBPTHREAD.

# c24c2f8c 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

1. Garbage-collected LIBDES (now in a different library), LIBPERL (banished
to ports) and LIBRESOLV (now in a different library.

2. Added comments about nonexistent libraries LIBPC and LIBPLOT.

Submitted by: ru (1)

# 47d4aab1 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

Fixed insertion sort errors for LIBBLUETOOTH and LIBSDP.

# 5e986729 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

Removed XXX comments about some libraries only being in the secure
distribution. This is not the place to document this, especially
now that the secure distribution is the normal one.

Reviewed by: ru

# 1c674396 10-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

Add a define for libbsnmp.

# df94c097 27-Oct-2003 Hartmut Brandt <harti@FreeBSD.org>

Add a definition for libngatm.

Reviewed by: ru

# 0986ab12 12-Oct-2003 Maksim Yevmenkin <emax@FreeBSD.org>

Update Bluetooth code.

Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)

# f0a7f80d 09-Oct-2003 Jacques Vidrine <nectar@FreeBSD.org>

Update build infrastructure for Heimdal 0.6.

# c4f02a89 26-Sep-2003 Max Khon <fjoe@FreeBSD.org>

- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by: Ryuichiro Imura <imura@ryu16.org>

# 7af822eb 02-Jul-2003 Ruslan Ermilov <ru@FreeBSD.org>

Libraries come.

# 73c29aeb 02-Jul-2003 Ruslan Ermilov <ru@FreeBSD.org>

Sort.

# 0800731a 13-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Build/install the PIC version of libgcc (libcc_pic.a) for use by shared
libraries that do exception unwinding.

# 3c0c681c 04-Jun-2003 Mark Murray <markm@FreeBSD.org>

Update some library names. Libraries come, libraries go.

# dbf104e6 05-May-2003 Mark Murray <markm@FreeBSD.org>

Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.

# c6885e26 21-Mar-2003 Ruslan Ermilov <ru@FreeBSD.org>

Added GEOM library to the bsd.libnames.mk namespace.

# 96594358 08-Mar-2003 Mark Murray <markm@FreeBSD.org>

KerberosIB deorbit: Remove library references.

# 77391fde 23-Jan-2003 Ruslan Ermilov <ru@FreeBSD.org>

Added UFS library to the bsd.libnames.mk namespace.

# 43e927ec 26-Nov-2002 Ruslan Ermilov <ru@FreeBSD.org>

NOSHARED is meaningless in the bsd.lib.mk context, so check LDFLAGS
for the -static flag instead when constructing LIBPAM.

(This fixes false warnings from ``make checkdpadd -DNOSHARED'' in
lib/libpam/modules/.)

Submitted by: bde, ru
Approved by: re

# b0eca2c8 04-Oct-2002 Ruslan Ermilov <ru@FreeBSD.org>

Sort in ``phone directory'' order (except for LIBC_*).

# 20247481 04-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Reflect the fact that we install our libexpat as libbsdxml.

# a70e34ac71 02-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Add LIBEXPAT definition.

# 4fd65a06 02-Aug-2002 Robert Watson <rwatson@FreeBSD.org>

Add a libnames entry for libugidfw.
Add a DPADD line for ${LIBUGIDFW} for ugidfw.

Submitted by: ru

# 2bdaf7e8 17-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Don't include bsd.own.mk from sys.mk, this makes it impossible
to use ``.if defined()'' inside bsd.own.mk to test for defines
in individual makefiles. For example, setting DEBUG_FLAGS in
Makefile didn't take the desired effect on the STRIP assignment.

Added bsd.init.mk (like in NetBSD) that handles the inclusion
of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that
"build something".

Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back
to sys.mk (several source tree makefiles want to check it early)
and removed MACHINE_ARCH initialization (it's hard to see from
looking at the commitlogs what the problem was at the time, but
now it serves no purpose).

Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk.

Protect bsd.obj.mk from repetitive inclusion. Prohibiting the
direct inclusion of bsd.obj.mk might be a good idea too.

# c3ec83e1 14-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add a dependency on libypclnt to libpam, in preperation for making pam_unix
use it to update NIS passwords.

# 533e4c33 13-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add libypclnt.

# d3b39427 09-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Fixed broken dependency in lib/libpam/modules/pam_krb5.

# 7b8cfc52 28-Mar-2002 Josef Karthauser <joe@FreeBSD.org>

Install libusbhid, and use it instead of libusb.

MFC after: 6 days

# 850dab17 17-Feb-2002 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Add two new libraries which are part of sendmail 8.12. libsm is used only
for building sendmail and the associated utilities. libmilter is a new
mail filtering API for sendmail.

# 0509dca0 23-Jan-2002 Ruslan Ermilov <ru@FreeBSD.org>

Add pam_ssh support to the static PAM library, libpam.a:

- Spam /usr/lib some more by making libssh a standard library.
- Tweak ${LIBPAM} and ${MINUSLPAM}.
- Garbage collect unused libssh_pic.a.
- Add fake -lz dependency to secure/ makefiles needed for
dynamic linkage with -lssh.

Reviewed by: des, markm
Approved by: markm

# 78eab690 21-Jan-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add the necessary dependencies and linker flags for linking with a
static PAM library that includes pam_ssh.

Sponsored by: DARPA, NAI Labs

# 068c487f 18-Dec-2001 Ruslan Ermilov <ru@FreeBSD.org>

Add LIBSMB.

# 21b6f9f4 29-Aug-2001 Bruce Evans <bde@FreeBSD.org>

Fixed world breakage in ftpd, rshd, login, su, telnetd and telnet. LIBPAM
and MINUSLPAM must be kept in sync with the libraries linked to by libpam
to support static linkage.

Moved libmd to the end of LIBPAM and MINUSLPAM. It was before libopie,
but libopie references it, so static linkage only worked accidentally.

# 41658727 29-Aug-2001 Bruce Evans <bde@FreeBSD.org>

Removed some garbage (LIBGMP, LIBSKEY). Using LIBSKEY in LIBPAM should
have been fatal since it gave a dependency on a nonexistent file, but it
worked because of an undocumented bugfeature in make(1): missing source
files named *.a are silently assumed to be up to date.

Fixed some style bugs (formatting).

# 11ec14cf 19-Aug-2001 Kris Kennaway <kris@FreeBSD.org>

Zap LIBSS

# ae394d3f 09-Jul-2001 David E. O'Brien <obrien@FreeBSD.org>

Add LIBBZ2.

# 546bc188 07-Jun-2001 Mark Murray <markm@FreeBSD.org>

Clean up the PAM lib lists. Particularly relevant to the KRB5 case.

# a81a52f5 14-May-2001 Mark Murray <markm@FreeBSD.org>

Kerberos updates for PAM.

# 2bd4318c 12-May-2001 Bruce Evans <bde@FreeBSD.org>

Fixed some bitrot:
- the changes that renamed libf2c to libg2c had not reached here
- there were no definitions for LIBDEVINFO, LIBMENU, LIBPANEL, LIBTINFO,
LIBUSB or LIBVGL. LIBUSB was used without it being defined, and
LIBDEVINFO and LIBVGL should have been used.
- the definitions of LIBDESCRYPT, LIBGCC_PIC, LIBGPLUSPLUS, LIBKZHEAD,
LIBKZTAIL, LIBSCRYPT and LIBSCSI were garbage.

Fixed some old bugs:
- LIBC_PIC and LIBCOM_ERR were assigned to using "=" instead of "?=".
- the definition of LIBC_R was disordered.
- LIBFORM was misspelled LIBFORMS (but not actually used).

# c7d9dcd3 28-Apr-2001 Mark Murray <markm@FreeBSD.org>

Cleaner method of making PAMable apps static (in the optional case of
wanting static apps).

# 53e11665 04-Apr-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Remove the recently-depricated LIBPOSIX1E

# 4ecbb303 27-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

Bye-bye /usr/lib/libtelnet.a. This should fix ``make release'' brokeness.

Approved by: markm

# 3393f8da 26-Mar-2001 Kenneth D. Merry <ken@FreeBSD.org>

Rewrite of the CAM error recovery code.

Some of the major changes include:

- The SCSI error handling portion of cam_periph_error() has
been broken out into a number of subfunctions to better
modularize the code that handles the hierarchy of SCSI errors.
As a result, the code is now much easier to read.

- String handling and error printing has been significantly
revamped. We now use sbufs to do string formatting instead
of using printfs (for the kernel) and snprintf/strncat (for
userland) as before.

There is a new catchall error printing routine,
cam_error_print() and its string-based counterpart,
cam_error_string() that allow the kernel and userland
applications to pass in a CCB and have errors printed out
properly, whether or not they're SCSI errors. Among other
things, this helped eliminate a fair amount of duplicate code
in camcontrol.

We now print out more information than before, including
the CAM status and SCSI status and the error recovery action
taken to remedy the problem.

- sbufs are now available in userland, via libsbuf. This
change was necessary since most of the error printing code
is shared between libcam and the kernel.

- A new transfer settings interface is included in this checkin.
This code is #ifdef'ed out, and is primarily intended to aid
discussion with HBA driver authors on the final form the
interface should take. There is example code in the ahc(4)
driver that implements the HBA driver side of the new
interface. The new transfer settings code won't be enabled
until we're ready to switch all HBA drivers over to the new
interface.

src/Makefile.inc1,
lib/Makefile: Add libsbuf. It must be built before libcam,
since libcam uses sbuf routines.

libcam/Makefile: libcam now depends on libsbuf.

libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the
sbuf sources from sys/kern.

bsd.libnames.mk: Add LIBSBUF.

camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically
linked, we can't depend on the dynamic linker
to pull in libsbuf.

camcontrol.c: Use cam_error_print() instead of checking for
CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9: Change the prototypes for sbuf_cat() and
sbuf_cpy() so that the source string is now a
const char *. This is more in line wth the
standard system string functions, and helps
eliminate warnings when dealing with a const
source buffer.

Fix a typo.

cam.c: Add description strings for the various CAM
error status values, as well as routines to
look up those strings.

Add new cam_error_string() and
cam_error_print() routines for userland and
the kernel.

cam.h: Add a new CAM flag, CAM_RETRY_SELTO.

Add enumerated types for the various options
available with cam_error_print() and
cam_error_string().

cam_ccb.h: Add new transfer negotiation structures/types.

Change inq_len in the ccb_getdev structure to
be "reserved". This field has never been
filled in, and will be removed when we next
bump the CAM version.

cam_debug.h: Fix typo.

cam_periph.c: Modularize cam_periph_error(). The SCSI error
handling part of cam_periph_error() is now
in camperiphscsistatuserror() and
camperiphscsisenseerror().

In cam_periph_lock(), increase the reference
count on the periph while we wait for our lock
attempt to succeed so that the periph won't go
away while we're sleeping.

cam_xpt.c: Add new transfer negotiation code. (ifdefed
out)

Add a new function, xpt_path_string(). This
is a string/sbuf analog to xpt_print_path().

scsi_all.c: Revamp string handing and error printing code.
We now use sbufs for much of the string
formatting code. More of that code is shared
between userland the kernel.

scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly
useful in the first place.

Add a new error action, SS_REQSENSE. (Send a
request sense and then retry the command.)
This is useful when the controller hasn't
performed autosense for some reason.

Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection
timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.

Get rid of the last vestiges of a read/write
interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files: Add bsearch.c, which is needed for some of the
new table lookup routines.

aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if
CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c: Add the appropriate #ifdefs so sbufs can
compile and run in userland.

Change sbuf_printf() to use vsnprintf()
instead of kvprintf(), which is only available
in the kernel.

Change the source string for sbuf_cpy() and
sbuf_cat() to be a const char *.

Add __BEGIN_DECLS and __END_DECLS around
function prototypes since they're now exported
to userland.

kdump/mkioctls: Include stdio.h before cam.h since cam.h now
includes a function with a FILE * argument.

Submitted by: gibbs (mostly)
Reviewed by: jdp, marcel (libsbuf makefile changes)
Reviewed by: des (sbuf changes)
Reviewed by: ken

# af24fca3 20-Mar-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

List libfetch.

Submitted by: bde

# 041629b3 19-Mar-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Add LIBPOSIX1E

# ffa3e136 18-Feb-2001 Kris Kennaway <kris@FreeBSD.org>

Zap LIBTCL, it's been superfluous for several years.

# 20d65f25 26-Nov-2000 Brian Somers <brian@FreeBSD.org>

Add ${LIBC_R}

# c06992e5 24-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Build the ISC library as libisc. This library comes as part of the
bind distribution, but until now was not being built as a separate
entity. For documentation, see these man pages:

assertions(3), eventlib(3), heap(3), logging(3), memcluster(3), tree(3).

Reviewed by: jdp

# 3dc4512a 10-Oct-2000 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Remove LIBRSAGLUE, add LIBSSL

Reviewed by: kris

# 3700a99c 15-Sep-2000 Andrey A. Chernov <ache@FreeBSD.org>

Replace ${LIBMYTINFO} with warning

# 90541e30 29-Apr-2000 Bruce Evans <bde@FreeBSD.org>

Fixed world breakage for the NOSHARED=yes case. libpam now depends on
libopie.

Don't say that libpam.a doesn't exist.

# c4544494 27-Feb-2000 Yoshinobu Inoue <shin@FreeBSD.org>

Add libipsec.

Approved by: jkh

# 1742a2be 24-Feb-2000 Mark Murray <markm@FreeBSD.org>

We have some new libraries; give them names.

# e5389fb1 27-Dec-1999 Bruce Evans <bde@FreeBSD.org>

Fixed breakage of static linkage of rlogind. Someone added -lutil and
-lcom_err to some libpam modules without updating LIBPAM here.

# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree

# ce0b1244 15-Oct-1999 Boris Popov <bp@FreeBSD.org>

Add libncp to the list of known libraries.

# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$

# e6514bfa 27-May-1999 Andrey A. Chernov <ache@FreeBSD.org>

add libhistory

# 5112f012 14-Mar-1999 Mark Murray <markm@FreeBSD.org>

New names for the list; the DES crypt and libwrap for tcp_wrappers.

# b0aaedc6 20-Jan-1999 John Polstra <jdp@FreeBSD.org>

Change the definition of LIBPAM to support the static PAM library.
When linking statically, LIBPAM is augmented with the extra libraries
that the PAM modules require. The idea is to centralize this
information rather than scattering it about in the Makefiles of
all the applications that use (OK, will use) PAM.

There is a new variable MINUSLPAM that should be used instead of
"-lpam". In the static case, it gets -l flags for the extra required
libraries.

This approach was suggested by <bde>, but he didn't actually review
my changes.

# a0a4fbec 17-Nov-1998 John Polstra <jdp@FreeBSD.org>

Add LIBPAM, LIBRADIUS, and LIBTACPLUS.

# d8004495 17-Sep-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Two patches from the HARP people:

Various Makefile related fixes.

-Wformat fixes.

Submitted by: Mike Spengler <mks@networkcs.com>

# b1758a28 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Define LIBCAM and LIBDEVSTAT.

# 07203918 09-Sep-1998 Mark Murray <markm@FreeBSD.org>

Add libperl for Perl5.

# 686544f0 01-Jun-1998 Peter Wemm <peter@FreeBSD.org>

add libcipher, and update comments about libdes, libkdb, libkrb etc
which do exist but are in the secure dist rather than the base.

# 67b780b0 31-May-1998 Bruce Evans <bde@FreeBSD.org>

Fixed double slashes in pathnames.

# cabb97dc 26-May-1998 Søren Schmidt <sos@FreeBSD.org>

ELF preparation step 2:

Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...

# 5d9599c8 15-May-1998 Bruce Evans <bde@FreeBSD.org>

Oops, forgot references in previous commit.

Submitted by: Brian Cully <shmit@erols.com>
PR: 6178

# 70a6e331 15-May-1998 Bruce Evans <bde@FreeBSD.org>

Support Objective C almost as well as C++.

Notes:
- We no longer use -fgnu-runtime in bsd.lib.mk, since it is the default
and bsd.lib.mk is the wrong place to override it.
- Gnu C doesn't have a special compiler driver for Objective C like it
does for C++. The defaults are suitable for Gnu C. Use `OBJCLIBS='
in /etc/make.conf for POC.

# e525599e 15-Dec-1997 Wolfgang Helbig <helbig@FreeBSD.org>

Add libcalendar

# 261d7bf1 09-Dec-1997 Wolfram Schneider <wosch@FreeBSD.org>

Add LIBZ

# 75795a87 22-May-1997 Brian Somers <brian@FreeBSD.org>

Add LIBALIAS.

# b97fa2ef 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$

# 125e9dcf 07-Feb-1997 Paul Traina <pst@FreeBSD.org>

Put libopie.a in libnames

# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.

# edc81357 12-Jan-1997 Wolfram Schneider <wosch@FreeBSD.org>

Add a general comment about this include file.

# fbb10fba 04-Oct-1996 Peter Wemm <peter@FreeBSD.org>

Add LIBSTDCPLUSPLUS
(can't use the '+' char in variable names, same as LIBGPLUSPLUS)

# 0ef8d11a 04-Oct-1996 Peter Wemm <peter@FreeBSD.org>

libresolv.a doesn't exist anymore... Hmm, what's the right thing to do
here? Can we just undefine it? What about 3rd party bmakefiles?

# 9b66eea4 05-Sep-1996 Bruce Evans <bde@FreeBSD.org>

Moved definitions of library names from bsd.prog.mk to a new central
file bsd.libnames.mk and include this file where necessary. This fixes
null library names in ${DPADD}'s in library makefiles.

# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 0aa27001 01-Oct-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

Put OPIE to rest.

Differential Revision: https://reviews.freebsd.org/D36592


# 4385a9f8 07-Sep-2022 Xin LI <delphij@FreeBSD.org>

Fix build.

Pointy hat to: delphij
MFC after: 2 weeks
X-MFC-with: c65e42dbde41


# cdcd52d4 23-May-2022 Bartosz Sobczak <bartosz.sobczak@intel.com>

irdma: Add RDMA driver for Intel(R) Ethernet Controller E810

This is an initial commit for RDMA FreeBSD driver for Intel(R) Ethernet
Controller E810, called irdma. Supporting both RoCEv2 and iWARP
protocols in per-PF manner, RoCEv2 being the default.

Testing has been done using krping tool, perftest, ucmatose, rping,
ud_pingpong, rc_pingpong and others.

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Reviewed by: #manpages (pauamma_gundo.com) [documentation]
MFC after: 1 week
Relnotes: yes
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D34690


# 63783933 22-Dec-2021 John Baldwin <jhb@FreeBSD.org>

Add an internal libiscsiutil library.

Move some of the code duplicated between ctld(8) and iscsid(8) into a
libiscsiutil library.

Sharing the low-level PDU code did require having a
'struct connection' base class with a method table to permit separate
initiator vs target behavior (e.g. in handling proxy PDUs).

Reviewed by: mav, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D33544


# 1cd0117f 24-Nov-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: libform is installed as libformw

Reported by: many


# 396851c2 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: split libtinfo from libncurses

many external program expects libncurses to not be provided as a single
library. Instead of fixing all ports, distribute ncurses the way
upstream distributes it

Turn libncursesw.so into a ldscript which will link automatically as
needed to libtinfow so so this change is seamless at compile time.

Differential Revision: https://reviews.freebsd.org/D32098


# 5cf6f1c4 30-Jan-2021 Alex Richardson <arichardson@FreeBSD.org>

Remove the MK_LIBCPLUSPLUS option

This option has been equivalent to any form of C++ support since libstdc++
was removed. Therefore, replace all MK_LIBCPLUSPLUS uses with MK_CXX.

Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D27974


# 556fcdce 16-Dec-2020 Bryan Drewery <bdrewery@FreeBSD.org>

bsd.compat.mk: Allow finding non-internal libraries

Currently only libexec/rtld-elf32 uses internal LIBC_NOSSP_PIC during
the build but it gets it directly from the objdir rather than a sysroot.
For example, /usr/obj/usr/src/amd64.amd64/obj-lib32/lib/libc/libc_nossp_pic.a.
We don't stage lib32 libraries in WORLDTMP/usr/lib32 and doing so doesn't
buy much. If we want to use a staged lib32 library then we need to look in
LIBCOMPATTMP where they were staged. For example if LIBC_PIC were wanted then
look for /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/usr/lib32/libc_pic.a.

Reported by: rlibby
Reviewed by: rlibby
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D27648


# 8aff76fb 22-Dec-2020 Kyle Evans <kevans@FreeBSD.org>

build: remove the option to build gnugrep

Unconditionally install bsdgrep as grep, bootstrap or not. Remove all
build glue and stop installing both gnugrep and libgnuregex now that
all consumers of the latter are gone.

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D27732


# 100353cf 03-Oct-2020 Jakub Wojciech Klama <jceel@FreeBSD.org>

Add virtio-9p (aka VirtFS) filesystem sharing to bhyve.

VirtFS allows sharing an arbitrary directory tree between bhyve virtual
machine and the host. Current implementation has a fairly complete support
for 9P2000.L protocol, except for the extended attribute support. It has
been verified to work with the qemu-kvm hypervisor.

Reviewed by: rgrimes, emaste, jhb, trasz
Approved by: trasz (mentor)
MFC after: 1 month
Relnotes: yes
Sponsored by: Conclusive Engineering (development), vStack.com (funding)
Differential Revision: https://reviews.freebsd.org/D10335


# e307eb94 21-Sep-2020 Toomas Soome <tsoome@FreeBSD.org>

loader: zfs should support bootonce an nextboot

bootonce feature is temporary, one time boot, activated by
"bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.

By default, the bootonce setting is reset on attempt to boot and the next
boot will use previously active BE.

By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will
be set permanently active.

bootonce dataset name is recorded in boot pool labels, bootenv area.

in case of nextboot, the nextboot_enable boolean variable is recorded in
freebsd:nvstore nvlist, also stored in boot pool label bootenv area.
On boot, the loader will process /boot/nextboot.conf if nextboot_enable
is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf
processing on next boot.

bootonce and nextboot features are usable in both UEFI and BIOS boot.

To use bootonce/nextboot features, the boot loader needs to be updated on disk;
if loader.efi is stored on ESP, then ESP needs to be updated and
for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated
(gpart or other tools).

At this time, only lua loader is updated.

Sponsored by: Netflix, Klara Inc.
Differential Revision: https://reviews.freebsd.org/D25512


# 5c4f8d80 28-Aug-2020 Vincenzo Maffione <vmaffione@FreeBSD.org>

lib: add libnetmap

This changeset introduces the new libnetmap library for writing
netmap applications.
Before libnetmap, applications could either use the kernel API
directly (e.g. NIOCREGIF/NIOCCTRL) or the simple header-only-library
netmap_user.h (e.g. nm_open(), nm_close(), nm_mmap() etc.)

The new library offers more functionalities than netmap_user.h:
- Support for complex netmap options, such as external memory
allocators or per-buffer offsets. This opens the way to future
extensions.
- More flexibility in the netmap port bind options, such as
non-numeric names for pipes, or the ability to specify the netmap
allocator that must be used for a given port.
- Automatic tracking of the netmap memory regions in use across the
open ports.

At the moment there is no man page, but the libnetmap.h header file
has in-depth documentation.

Reviewed by: hrs
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D26171


# 9e5787d2 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Merge OpenZFS support in to HEAD.

The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.

I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.

Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.

Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.

Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.

Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872


# 1a13f2e6 07-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Introduce stats(3), a flexible statistics gathering API.

This provides a framework to define a template describing
a set of "variables of interest" and the intended way for
the framework to maintain them (for example the maximum, sum,
t-digest, or a combination thereof). Afterwards the user
code feeds in the raw data, and the framework maintains
these variables inside a user-provided, opaque stats blobs.
The framework also provides a way to selectively extract the
stats from the blobs. The stats(3) framework can be used in
both userspace and the kernel.

See the stats(3) manual page for details.

This will be used by the upcoming TCP statistics gathering code,
https://reviews.freebsd.org/D20655.

The stats(3) framework is disabled by default for now, except
in the NOTES kernel (for QA); it is expected to be enabled
in amd64 GENERIC after a cool down period.

Reviewed by: sef (earlier version)
Obtained from: Netflix
Relnotes: yes
Sponsored by: Klara Inc, Netflix
Differential Revision: https://reviews.freebsd.org/D20477


# f5a95d9a 24-Jun-2019 Warner Losh <imp@FreeBSD.org>

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance and just for ancient arm
hardware. NAND parts have evolved significantly from this early work
and little to none of it would be relevant should someone need to
update to support raw nand. This code has been off by default for
years and has violated the vnode protocol leading to panics since it
was committed.

Numerous posts to arch@ and other locations have found no actual users
for this software.

Relnotes: Yes
No Objection From: arch@
Differential Revision: https://reviews.freebsd.org/D20745


# e1157dce 25-Feb-2019 Ed Maste <emaste@FreeBSD.org>

Make libifconfig INTERNALLIB

Instead of PRIVATELIB + NO_PIC. This avoids the need for the wlandebug
PIE special case added in r344211, and provides a stronger guarantee
against 3rd party software coming to depend on the API or ABI.

If / when we declare the API/ABI to be stable we can make it a normal
library.

Discussed with: bapt
Sponsored by: The FreeBSD Foundation


# a6061733 10-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

libbe(3): Add to bsd.libnames.mk


# b3a8db00 15-May-2018 Bryan Drewery <bdrewery@FreeBSD.org>

Fix stale dependencies on libcasper libraries.

Libcasper and its modules have no static libraries so don't define
paths to them. This fixes LIBADD automatically adding DPADD
entries for casper.

Reported by: sbruno
Sponsored by: Dell EMC Isilon


# cde6fa28 04-Apr-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libopencsd.

OpenCSD is an ARM CoreSight(tm) trace packets decoder.

- Connect libopencsd to the arm64 build.
- Install opencsd headers to /usr/include/opencsd/

Sponsored by: DARPA, AFRL


# 30b3274f 21-Mar-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libipt.

libipt is the Intel Processor Trace (Intel PT) packets decoder.

- Include libipt to amd64 build.
- Install libipt headers to /usr/include/libipt/

Sponsored by: DARPA, AFRL


# b37f6c98 21-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

Add libregex, connect it to the build

libregex is a regex(3) implementation intended to feature GNU extensions and
any other non-POSIX compliant extensions that are deemed worthy.

These extensions are separated out into a separate library for the sake of
not cluttering up libc further with them as well as not deteriorating the
speed (or lack thereof) of the libc implementation.

libregex is implemented as a build of the libc implementation with LIBREGEX
defined to distinguish this from a libc build. The reasons for
implementation like this are two-fold:

1.) Maintenance- This reduces the overhead induced by adding yet another
regex implementation to base.

2.) Ease of use- Flipping on GNU extensions will be as simple as linking
against libregex, and POSIX-compliant compilations can be guaranteed with a
REG_POSIX cflag that should be ignored by libc/regex and disables extensions
in libregex. It is also easier to keep REG_POSIX sane and POSIX pure when
implemented in this fashion.

Tests are added for future functionality, but left disconnected for the time
being while other testing is done.

Reviewed by: cem (previous version)
Differential Revision: https://reviews.freebsd.org/D12934


# e110d077 12-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix OFED library dependencies.

Sponsored by: Mellanox Technologies


# 8dee9a7a 13-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Remove no longer supported mthca driver.

Sponsored by: Mellanox Technologies


# 7b4fce76 12-Nov-2017 Mariusz Zaborski <oshogbo@FreeBSD.org>

Introduce syslog service for Casper.

syslog in libc secretly reconnects to the daemon.
Another issue is that we don't have any information from openlog(3) if we
succeeded to open log or not so we don't know if we are ready
to enter cabability mode.
Because all of that we decided we need a syslog service for Caspser.

Reviewed by: bapt@
Differential Revision: https://reviews.freebsd.org/D12824


# c8550231 09-Oct-2017 Warner Losh <imp@FreeBSD.org>

Disconnect libstand from the build.

Remove libstand from the src/lib build. Remove LIBSTAND from
bsd.libnames.mk. Add affected files to the obsolete files list.

Sponsored by: Netflix


# 99ac8154 10-Jul-2017 Konstantin Belousov <kib@FreeBSD.org>

Provide libdl.

Create libdl.so.1 as a filter for libc.so.7 which exports public dl*
functions. The functions are resolved from the rtld instead, the goal
of creating library is to avoid errors from the static linker due to
missed libdl. For static binaries, an empty .o is compiled into
libdl.a so that static binaries still get dl stubs from libc.a.

Right now lld cannot create filter objects, disable libdl on arm64
when binutils are not used.

Reviewed by: bdrewery, dim (previos version); emaste
Exp run: PR 220525, done by antoine
Sponsored by: The FreeBSD Foundation
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D11504


# fb401369 20-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

LIBADD: Try to support partial tree checkouts in some limited cases.

LIBADD is only supported for in-tree builds because we do not install
share/mk/src.libnames.mk (which provides LIBADD support) into /usr/share/mk.
So if a partial checkout is done then the LIBADDs are ignored and no LDADD is
ever added.

Provide limited support for this case for when LIBADD is composed entirely of
base libraries. This is to avoid clashes with ports and other out-of-tree
LIBADD uses that should not be mapped to LDADD and because we do not want to
support LIBADD out-of-tree right now.

Reported by: mckusick, kib
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon


# c99b67a7 19-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.

Since buildenv exports SYSROOT all of these uses will now look in
WORLDTMP by default.

sys/boot/efi/loader/Makefile
A LIBSTAND hack is no longer required for buildenv.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon


# d0ab0ec2 17-Jun-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Fix Makefiles which override LIBDIR to not add incorrect dependencies into .depend.

This fixes these cases which would rebuild every time:
make[6]: /usr/obj/usr/src/libexec/rtld-elf/tests/libpythagoras/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/libexec/rtld-elf/libm.a
make[6]: /usr/obj/usr/src/lib/libxo/tests/encoder/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libxo/libxo.a
make[7]: /usr/obj/usr/src/lib/libthr/tests/dlopen/dso/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libthr/dlopen/libpthread.a

The problem is that some Makefiles will override LIBDIR to where they want
their library to install. bsd.libnames.mk will then use ${LIBDIR} to define
where *existing* libraries are. This then leads to looking for the
libraries in the *target* place rather than the *expected* place.

We may want to expand this (and all of the other *DIR variables in bsd.own.mk)
into something like what Ports has, a PREFIX and a LOCALBASE. PREFIX being
where things are being installed to and LOCALBASE being where they already are.

For now store the default expected LIBDIR into LIBDIR_BASE and use that for
library locations.

Reported by: sbruno
MFC after: 1 week
Sponsored by: Dell EMC Isilon


# d49a5ddd 11-Oct-2016 Warner Losh <imp@FreeBSD.org>

Create libefivar library. This library aims to provide
the same API as the GPL'd version of this library. It implements the common
Linux API for programatically manipulating UEFI environment varibales using
the UEFI Runtime Services the kernel provides. It replaces the old efi
library since it is programmed to a different interface, but retails the
CHAR16 to UTF-8 and vice versa conversion routines. The new name is to match
Linux program's expectations.

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche


# ec214349 02-Sep-2016 Kristof Provost <kp@FreeBSD.org>

Renaming libifc to libifconfig in response to feedback on initial commit of
this library. Sticking to 'libifconfig' (and 'ifconfig_' as function prefix)
should reduce chances of namespace collisions, make it more clear what the
library does, and be more in line with existing libraries.

Submitted by: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Differential Revision: https://reviews.freebsd.org/D7742
Reviewed by: cem, kp


# d14b24ef 25-Aug-2016 Kristof Provost <kp@FreeBSD.org>

Add libifc, a library implementing core functionality that exists in ifconfig(8) today.

libifc (pronounced lib-ifconfig) aims to be a light abstraction layer between
programs and the kernel APIs for managing the network configuration.
This should hopefully make programs easier to maintain, and reduce code
duplication.

Work will begin on making ifconfig(8) use this library in the near future.

This code is still evolving. The interface should not be considered stable until
it is announced as such.

Submitted By: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Reviewed By: kp
Differential Revision: https://reviews.freebsd.org/D7529


# 95856e14 02-Jun-2016 Kurt Lidl <lidl@FreeBSD.org>

Add basic blacklist build support

Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5913


# 7a0c41d5 28-May-2016 Alan Somers <asomers@FreeBSD.org>

zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

cddl/usr.sbin/zfsd
Add zfsd(8) and its unit tests

cddl/usr.sbin/Makefile
Add zfsd to the build

lib/libdevdctl
A C++ library that helps devd clients process events

lib/Makefile
share/mk/bsd.libnames.mk
share/mk/src.libnames.mk
Add libdevdctl to the build. It's a private library, unusable by
out-of-tree software.

etc/defaults/rc.conf
By default, set zfsd_enable to NO

etc/mtree/BSD.include.dist
Add a directory for libdevdctl's include files

etc/mtree/BSD.tests.dist
Add a directory for zfsd's unit tests

etc/mtree/BSD.var.dist
Add /var/db/zfsd/cases, where zfsd stores case files while it's shut
down.

etc/rc.d/Makefile
etc/rc.d/zfsd
Add zfsd's rc script

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
Fix the resource.fs.zfs.statechange message. It had a number of
problems:

It was only being emitted on a transition to the HEALTHY state.
That made it impossible for zfsd to take actions based on drives
getting sicker.

It compared the new state to vdev_prevstate, which is the state that
the vdev had the last time it was opened. That doesn't make sense,
because a vdev can change state multiple times without being
reopened.

vdev_set_state contains logic that will change the device's new
state based on various conditions. However, the statechange event
was being posted _before_ that logic took effect. Now it's being
posted after.

Submitted by: gibbs, asomers, mav, allanjude
Reviewed by: mav, delphij
Relnotes: yes
Sponsored by: Spectra Logic Corp, iX Systems
Differential Revision: https://reviews.freebsd.org/D6564


# d750b641 02-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Move casper library entries to proper places.

Sponsored by: EMC / Isilon Storage Division


# c501d73c 25-Feb-2016 Mariusz Zaborski <oshogbo@FreeBSD.org>

Convert casperd(8) daemon to the libcasper.
After calling the cap_init(3) function Casper will fork from it's original
process, using pdfork(2). Forking from a process has a lot of advantages:
1. We have the same cwd as the original process.
2. The same uid, gid and groups.
3. The same MAC labels.
4. The same descriptor table.
5. The same routing table.
6. The same umask.
7. The same cpuset(1).
From now services are also in form of libraries.
We also removed libcapsicum at all and converts existing program using Casper
to new architecture.

Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste
Partially reviewed by: drysdale@google.com, bdrewery
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4277


# d6fb4894 14-Dec-2015 John Baldwin <jhb@FreeBSD.org>

Start on a new library (libsysdecode) that provides routines for decoding
system call information such as system call arguments. Initially this
will consist of pulling duplicated code out of truss and kdump though it
may prove useful for other utilities in the future.

This commit moves the shared utrace(2) record parser out of kdump into
the library and updates kdump and truss to use it. One difference from
the previous version is that the library version treats unknown events
that start with the "RTLD" signature as unknown events. This simplifies
the interface and allows the consumer to decide how to handle all
non-recognized events. Instead, this function only generates a string
description for known malloc() and RTLD records.

Reviewed by: bdrewery
Differential Revision: https://reviews.freebsd.org/D4537


# de1f9ee2 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Convert contrib/ofed libraries to LIBADD.

Sponsored by: EMC / Isilon Storage Division


# 5e99f843 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Sort the LIB list.

Sponsored by: EMC / Isilon Storage Division


# 4b9378e3 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add LIBNANDFS.

Sponsored by: EMC / Isilon Storage Division


# 5afa1972 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add assertions that capture invalid configurations for new libraries.

Fix current findings, which should fix cases of NO_SHARED not building
properly.

Given libfoo:
- Ensure that a LIBFOO is set. For INTERNALLIBS advise setting this in
src.libnames.mk, otherwise bsd.libnames.mk.
- Ensure that a LIBFOODIR is properly set.
- Ensure that _DP_foo is set and matches the LIBADD in the build of foo's own
Makefile

Sponsored by: EMC / Isilon Storage Division


# 87a2755d 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Revert incomplete r291623.


# eaa435e7 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add assertions that capture invalid configurations for new libraries.

Fix current findings.

Given libfoo:
- Ensure that a LIBFOO is set. For INTERNALLIBS advise setting this in
src.libnames.mk, otherwise bsd.libnames.mk.
- Ensure that a LIBFOODIR is properly set.
- Ensure that _DP_foo is set and matches the LIBADD in the build of foo's own
Makefile

Sponsored by: EMC / Isilon Storage Division


# de52e5bd 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Define a LIB*SRCDIR for all known _LIBRARIES.

This is a follow-up to r291327 which added a LIB*DIR for all known
_LIBRARIES.

Sponsored by: EMC / Isilon Storage Division


# 4910373c 01-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add missing LIB80211 entry for DPADD needs.

Sponsored by: EMC / Isilon Storage Division


# ebf076df 25-Nov-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Define a LIB<NAME>DIR for every library that LIBADD provides.

This is going to be used to allow DIRDEPS to be bootstrapped off of
LIBADD/DPADD. It currently works for internal libraries which have a
DIR defined for them but also use the .a library from a src-mapped obj
directory. It can also be useful for using -L without a --sysroot per
LIBADD to use the OBJDIR version of the libraries.

I didn't review every LIBADD, so it is possible this is missing some.

Sponsored by: EMC / Isilon Storage Division


# 43518607 23-Feb-2015 Kenneth D. Merry <ken@FreeBSD.org>

Significant upgrades to sa(4) and mt(1).

The primary focus of these changes is to modernize FreeBSD's
tape infrastructure so that we can take advantage of some of the
features of modern tape drives and allow support for LTFS.

Significant changes and new features include:

o sa(4) driver status and parameter information is now exported via an
XML structure. This will allow for changes and improvements later
on that will not break userland applications. The old MTIOCGET
status ioctl remains, so applications using the existing interface
will not break.

o 'mt status' now reports drive-reported tape position information
as well as the previously available calculated tape position
information. These numbers will be different at times, because
the drive-reported block numbers are relative to BOP (Beginning
of Partition), but the block numbers calculated previously via
sa(4) (and still provided) are relative to the last filemark.
Both numbers are now provided. 'mt status' now also shows the
drive INQUIRY information, serial number and any position flags
(BOP, EOT, etc.) provided with the tape position information.
'mt status -v' adds information on the maximum possible I/O size,
and the underlying values used to calculate it.

o The extra sa(4) /dev entries (/dev/saN.[0-3]) have been removed.

The extra devices were originally added as place holders for
density-specific device nodes. Some OSes (NetBSD, NetApp's OnTap
and Solaris) have had device nodes that, when you write to them,
will automatically select a given density for particular tape drives.

This is a convenient way of switching densities, but it was never
implemented in FreeBSD. Only the device nodes were there, and that
sometimes confused users.

For modern tape devices, the density is generally not selectable
(e.g. with LTO) or defaults to the highest availble density when
the tape is rewritten from BOT (e.g. TS11X0). So, for most users,
density selection won't be necessary. If they do need to select
the density, it is easy enough to use 'mt density' to change it.

o Protection information is now supported. This is either a
Reed-Solomon CRC or CRC32 that is included at the end of each block
read and written. On write, the tape drive verifies the CRC, and
on read, the tape drive provides a CRC for the userland application
to verify.

o New, extensible tape driver parameter get/set interface.

o Density reporting information. For drives that support it,
'mt getdensity' will show detailed information on what formats the
tape drive supports, and what formats the tape drive supports.

o Some mt(1) functionality moved into a new mt(3) library so that
external applications can reuse the code.

o The new mt(3) library includes helper routines to aid in parsing
the XML output of the sa(4) driver, and build a tree of driver
metadata.

o Support for the MTLOAD (load a tape in the drive) and MTWEOFI
(write filemark immediate) ioctls needed by IBM's LTFS
implementation.

o Improve device departure behavior for the sa(4) driver. The previous
implementation led to hangs when the device was open.

o This has been tested on the following types of drives:
IBM TS1150
IBM TS1140
IBM LTO-6
IBM LTO-5
HP LTO-2
Seagate DDS-4
Quantum DLT-4000
Exabyte 8505
Sony DDS-2

contrib/groff/tmac/doc-syms,
share/mk/bsd.libnames.mk,
lib/Makefile,
Add libmt.

lib/libmt/Makefile,
lib/libmt/mt.3,
lib/libmt/mtlib.c,
lib/libmt/mtlib.h,
New mt(3) library that contains functions moved from mt(1) and
new functions needed to interact with the updated sa(4) driver.

This includes XML parser helper functions that application writers
can use when writing code to query tape parameters.

rescue/rescue/Makefile:
Add -lmt to CRUNCH_LIBS.

src/share/man/man4/mtio.4
Clarify this man page a bit, and since it contains what is
essentially the mtio.h header file, add new ioctls and structure
definitions from mtio.h.

src/share/man/man4/sa.4
Update BUGS and maintainer section.

sys/cam/scsi/scsi_all.c,
sys/cam/scsi/scsi_all.h:
Add SCSI SECURITY PROTOCOL IN/OUT CDB definitions and CDB building
functions.

sys/cam/scsi/scsi_sa.c
sys/cam/scsi/scsi_sa.h
Many tape driver changes, largely outlined above.

Increase the sa(4) driver read/write timeout from 4 to 32
minutes. This is based on the recommended values for IBM LTO
5/6 drives. This may also avoid timeouts for other tape
hardware that can take a long time to do retries and error
recovery. Longer term, a better way to handle this is to ask
the drive for recommended timeout values using the REPORT
SUPPORTED OPCODES command. Modern IBM and Oracle tape drives
at least support that command, and it would allow for more
accurate timeout values.

Add XML status generation. This is done with a series of
macros to eliminate as much duplicate code as possible. The
new XML-based status values are reported through the new
MTIOCEXTGET ioctl.

Add XML driver parameter reporting, using the new MTIOCPARAMGET
ioctl.

Add a new driver parameter setting interface, using the new
MTIOCPARAMSET and MTIOCSETLIST ioctls.

Add a new MTIOCRBLIM ioctl to get block limits information.

Add CCB/CDB building routines scsi_locate_16, scsi_locate_10,
and scsi_read_position_10().

scsi_locate_10 implements the LOCATE command, as does the
existing scsi_set_position() command. It just supports
additional arguments and features. If/when we figure out a
good way to provide backward compatibility for older
applications using the old function API, we can just revamp
scsi_set_position(). The same goes for
scsi_read_position_10() and the existing scsi_read_position()
function.

Revamp sasetpos() to take the new mtlocate structure as an
argument. It now will use either scsi_locate_10() or
scsi_locate_16(), depending upon the arguments the user
supplies. As before, once we change position we don't have a
clear idea of what the current logical position of the tape
drive is.

For tape drives that support long form position data, we
read the current position and store that for later reporting
after changing the position. This should help applications
like Bacula speed tape access under FreeBSD once they are
modified to support the new ioctls.

Add a new quirk, SA_QUIRK_NO_LONG_POS, that is set for all
drives that report SCSI-2 or older, as well as drives that
report an Illegal Request type error for READ POSITION with
the long format. So we should automatically detect drives
that don't support the long form and stop asking for it after
an initial try.

Add a partition number to the sa(4) softc.

Improve device departure handling. The previous implementation
led to hangs when the device was open.

If an application had the sa(4) driver open, and attempted to
close it after it went away, the cam_periph_release() call in
saclose() would cause the periph to get destroyed because that
was the last reference to it. Because destroy_dev() was
called from the sa(4) driver's cleanup routine (sacleanup()),
and would block waiting for the close to happen, a deadlock
would result.

So instead of calling destroy_dev() from the cleanup routine,
call destroy_dev_sched_cb() from saoninvalidate() and wait for
the callback.

Acquire a reference for devfs in saregister(), and release it
in the new sadevgonecb() routine when all devfs devices for
the particular sa(4) driver instance are gone.

Add a new function, sasetupdev(), to centralize setting
per-instance devfs device parameters instead of repeating the
code in saregister().

Add an open count to the softc, so we know how many
peripheral driver references are a result of open
sessions.

Add the D_TRACKCLOSE flag to the cdevsw flags so
that we get a 1:1 mapping of open to close calls
instead of a N:1 mapping.

This should be a no-op for everything except the
control device, since we don't allow more than one
open on non-control devices.

However, since we do allow multiple opens on the
control device, the combination of the open count
and the D_TRACKCLOSE flag should result in an
accurate peripheral driver reference count, and an
accurate open count.

The accurate open count allows us to release all
peripheral driver references that are the result
of open contexts once we get the callback from devfs.

sys/sys/mtio.h:
Add a number of new mt(4) ioctls and the requisite data
structures. None of the existing interfaces been removed
or changed.

This includes definitions for the following new ioctls:

MTIOCRBLIM /* get block limits */
MTIOCEXTLOCATE /* seek to position */
MTIOCEXTGET /* get tape status */
MTIOCPARAMGET /* get tape params */
MTIOCPARAMSET /* set tape params */
MTIOCSETLIST /* set N params */

usr.bin/mt/Makefile:
mt(1) now depends on libmt, libsbuf and libbsdxml.

usr.bin/mt/mt.1:
Document new mt(1) features and subcommands.

usr.bin/mt/mt.c:
Implement support for mt(1) subcommands that need to
use getopt(3) for their arguments.

Implement a new 'mt status' command to replace the old
'mt status' command. The old status command has been
renamed 'ostatus'.

The new status function uses the MTIOCEXTGET ioctl, and
therefore parses the XML data to determine drive status.
The -x argument to 'mt status' allows the user to dump out
the raw XML reported by the kernel.

The new status display is mostly the same as the old status
display, except that it doesn't print the redundant density
mode information, and it does print the current partition
number and position flags.

Add a new command, 'mt locate', that will supersede the
old 'mt setspos' and 'mt sethpos' commands. 'mt locate'
implements all of the functionality of the MTIOCEXTLOCATE
ioctl, and allows the user to change the logical position
of the tape drive in a number of ways. (Partition,
block number, file number, set mark number, end of data.)
The immediate bit and the explicit address bits are
implemented, but not documented in the man page.

Add a new 'mt weofi' command to use the new MTWEOFI ioctl.
This allows the user to ask the drive to write a filemark
without waiting around for the operation to complete.

Add a new 'mt getdensity' command that gets the XML-based
tape drive density report from the sa(4) driver and displays
it. This uses the SCSI REPORT DENSITY SUPPORT command
to get comprehensive information from the tape drive about
what formats it is able to read and write.

Add a new 'mt protect' command that allows getting and setting
tape drive protection information. The protection information
is a CRC tacked on to the end of every read/write from and to
the tape drive.

Sponsored by: Spectra Logic
MFC after: 1 month


# cf9b923f 18-Feb-2015 Marcel Moolenaar <marcel@FreeBSD.org>

Add LIBXO.


# 64de8019 06-Feb-2015 John Baldwin <jhb@FreeBSD.org>

Add a new device control utility for new-bus devices called devctl. This
allows the user to request administrative changes to individual devices
such as attach or detaching drivers or disabling and re-enabling devices.
- Add a new /dev/devctl2 character device which uses ioctls for device
requests. The ioctls use a common 'struct devreq' which is somewhat
similar to 'struct ifreq'.
- The ioctls identify the device to operate on via a string. This
string can either by the device's name, or it can be a bus-specific
address. (For unattached devices, a bus address is the only way to
locate a device.) Bus drivers register an eventhandler to claim
unrecognized device names that the driver recognizes as a valid address.
Two buses currently support addresses: ACPI recognizes any device
in the ACPI namespace via its full path starting with "\" and
the PCI bus driver recognizes an address specification of
'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector
strings supported by pciconf).
- To make it easier to cut and paste, change the PnP location string
in the PCI bus driver to output a full PCI selector string rather
than 'slot=<slot> function=<func>'.
- Add a devctl(3) interface in libdevctl which provides a wrapper around
the ioctls and is the preferred interface for other userland code.
- Add a devctl(8) program which is a simple wrapper around the requests
supported by devctl(3).
- Add a device_is_suspended() function to check DF_SUSPENDED.
- Add a resource_unset_value() function that can be used to remove a
hint from the kernel environment. This is used to clear a
hint.<driver>.<unit>.disabled hint when re-enabling a boot-time
disabled device.

Reviewed by: imp (parts)
Requested by: imp (changing PCI location string)
Relnotes: yes


# 1ac18f08 26-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Remove MINUSLPAM the LIBADD framework handles static dependencies just fine


# f12128e4 24-Nov-2014 Rui Paulo <rpaulo@FreeBSD.org>

Import libgpio.

This is a thin wrapper around the kernel interface which should make
it easier to write GPIO applications. gpioctl(8) will be converted to
use this library in a separate commit.

Differential Revision: https://reviews.freebsd.org/D1183
Reviewed by: adrian, loos
Discussed on: arm@, embedded@
Relnotes: yes


# dec01358 21-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Enforce -lpthread and -lc to always be the 2 last components of the link list

Differential Revision: https://reviews.freebsd.org/D1118
Suggested by: kib


# 041394f3 04-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Add new libraries/utilities for data throughput visualization.
dpv(3): dialog progress view library
dpv(1): stream data from stdin or multiple paths with dialog progress view
figpar(3): configuration file parsing library

Reviews: D714
Reviewed by: jelischer, shurd
Discussed at: MeetBSD California 2014 Vendor/Dev Summit
Discussed on: -current
MFC after: 21 days
X-MFC-to: stable/10 stable/9


# 2dba8ab0 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Introduce missing definition for LIBTERMCAPW

Some Makefiles expect this value to exist

Approved by: rpaulo (mentor)
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762


# 3303bfc0 25-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Fix "make checkdpadd" for lib/libc when MK_SSP != no

Add LIBSSP_NONSHARED to bsd.libnames.mk and append LIBSSP_NONSHARED to DPADD in
lib/libc when MK_SSP != no

Approved by: rpaulo (mentor)
MFC after: 3 days
Phabric: D675 (as part of a larger diff)
PR: 192728


# d029c3aa 06-Aug-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Rework privatelib/internallib

Make sure everything linking to a privatelib and/or an internallib does it directly
from the OBJDIR rather than DESTDIR.
Add src.libnames.mk so bsd.libnames.mk is not polluted by libraries not existsing
in final installation
Introduce the LD* variable which is what ld(1) is expecting (via LDADD) to link to
internal/privatelib
Directly link to the .so in case of private library to avoid having to complexify
LDFLAGS.

Phabric: https://phabric.freebsd.org/D553
Reviewed by: imp, emaste


# 8a833bda 09-Jul-2014 Baptiste Daroussin <bapt@FreeBSD.org>

The GNU readline library is now an INTERNALLIB - that is, it is
statically linked into consumers (GDB and variants) in the base
system, and the shared library is no longer installed.

That also allows ports to be able to use a modern version of readline

PR: 162948
Reviewed by: emaste


# 17a286a9 24-May-2014 Julio Merino <jmmv@FreeBSD.org>

Change libatf-c and libatf-c++ to be private libraries.

We should not be leaking these interfaces to the outside world given
that it's much easier for third-party components to use the devel/atf
package from ports.

As a side-effect, we can also drop the ATF pkgconfig and aclocal files
from the base system. Nothing in the base system needs these, and it
was quite ugly to have to get them installed only so that a few ports
could build. The offending ports have been fixed to depend on
devel/atf explicitly.

Reviewed by: bapt


# fa3dfa61 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

LIBUNBOUND can be unconditionally set.


# 1e309af2 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

Don't need to make these conditional on MK_LIBCPLUSPLUS. They can be
defined all the time without ill effect.


# 54421a34 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

LIBMILTER can be defined always. No need to restrict to only when
we're building sendmail.


# 02504aec 24-Apr-2014 Warner Losh <imp@FreeBSD.org>

Always define LIBLDNS. We don't need to only define it when it is
enabled.


# 2c284d93 13-Mar-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Remove IPX support.

IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.


# d0bfcaf8 23-Feb-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Remove libyaml, it has been replaced by libucl


# 46fec228 18-Jan-2014 Ed Schouten <ed@FreeBSD.org>

Correct value of LIBCOMPILER_RT.

Caught by: Luca Bayer


# 37656b87 18-Jan-2014 Ed Schouten <ed@FreeBSD.org>

Replace LIBGCC by LIBCOMPILER_RT.

We now use libcompiler_rt on all platforms now. Instead of referring
directly to -lgcc and LIBGCC, use -lcompiler_rt and LIBCOMPILER_RT.


# 42a85952 02-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Please welcome casperd daemon. It (and its services) will be responsible for
giving access to functionality that is not available in capability mode
sandbox. The functionality can be precisely restricted.

Start with the following services:
- system.dns - provides API compatible to:
- gethostbyname(3),
- gethostbyname2(3),
- gethostbyaddr(3),
- getaddrinfo(3),
- getnameinfo(3),
- system.grp - provides getgrent(3)-compatible API,
- system.pwd - provides getpwent(3)-compatible API,
- system.random - allows to obtain entropy from /dev/random,
- system.sysctl - provides sysctlbyname(3-compatible API.

Sponsored by: The FreeBSD Foundation


# 2f02600a 01-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Move my simple logging API to a separate library. It is now already used
by hastctl(8), hastd(8) and auditdistd(8) and will soon be also used
by casperd(8) and its services. There is no documentation and pjdlog.h
header file is not installed in /usr/include/ to keep it private.
Unfortunately we don't have /lib/private/ at this point, only
/usr/lib/private/, so the library is installed in /lib/.

Sponsored by: The FreeBSD Foundation


# 36da5199 12-Nov-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Bring in libnv library for managing name/value pairs. The following types
are currently supported:

- NV_TYPE_NULL - only name, no data;
- NV_TYPE_BOOL - boolean (true or false);
- NV_TYPE_NUMBER - 64bit unsigned integer;
- NV_TYPE_STRING - C string;
- NV_TYPE_NVLIST - nested nvlist;
- NV_TYPE_DESCRIPTOR - file descriptor;
- NV_TYPE_BINARY - binary data.

For detailed documentation and examples see nv(3) manual page.

Sponsored by: The FreeBSD Foundation


# 31b1be9c 14-Oct-2013 Alan Somers <asomers@FreeBSD.org>

Extract devctl event processing support out of zfsd and into a new library:
libdevctl.

etc/mtree/BSD.include.dist:
Add the /usr/include/devctl directory to the base system.

lib/Makefile:
lib/libdevctl/Makefile:
Build support for the new library.

lib/libdevctl/consumer.cc:
lib/libdevctl/consumer.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
New class, DevCtl::Consumer, from functionality extracted
from ZfsDaemon, which can connect to devd, parse an event
stream, and invoke event handlers.

lib/libdevctl/event.cc:
lib/libdevctl/event.h:
cddl/sbin/zfsd/dev_ctl_event.cc:
cddl/sbin/zfsd/dev_ctl_event.h:
Strip Zfsd specific event handling from Zfsd's event classes
to create DevCtl::Event, DevCtl::DevfsEvent, and
DevCtl::ZfsEvent.

lib/libdevctl/event_buffer.cc:
lib/libdevctl/event_buffer.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::EventBuffer: buffer for incoming devctl stream used
to parse/extract individual event strings.

lib/libdevctl/event_factory.cc:
lib/libdevctl/event_factory.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::EventFactory: Method map for converting event
strings to Devctl::Event objects.

lib/libdevctl/exception.cc:
lib/libdevctl/exception.h:
cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
DevCtl::Exception and DevCtl::ParseException, the exceptions
which are thrown by this library.

lib/libdevctl/guid.cc:
lib/libdevctl/guid.h:
cddl/sbin/zfsd/guid.cc:
cddl/sbin/zfsd/guid.h:
DevCtl::Guid: Helper routines for dealing with 64bit GUIDs
such as found in Zfs pools and vdevs.

lib/libdevctl/reader.cc:
lib/libdevctl/reader.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::Reader class hierarchy. Used to direct a Consumer
to an event stream (e.g. from devd or a local/saved file).

cddl/sbin/zfsd/zfsd_event.cc:
cddl/sbin/zfsd/zfsd_event.h:
Zfsd specialization of DevCtl::Event types.

cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
Zfsd specific exception types, now derived from
DevCtl::Excpetion.

cddl/sbin/zfsd/Makefile:
cddl/sbin/zfsd/callout.cc:
cddl/sbin/zfsd/callout.h:
cddl/sbin/zfsd/case_file.cc:
cddl/sbin/zfsd/case_file.h:
cddl/sbin/zfsd/vdev.cc:
cddl/sbin/zfsd/vdev.h:
cddl/sbin/zfsd/vdev_iterator.cc:
cddl/sbin/zfsd/vdev_iterator.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
cddl/sbin/zfsd/zfsd_event.cc:
cddl/sbin/zfsd/zfsd_event.h:
cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
cddl/sbin/zfsd/zfsd_main.cc:
cddl/sbin/zfsd/zpool_list.cc:
cddl/sbin/zfsd/zpool_list.h:
Miscelaneuous refactoring to support using libdevctl instead
of local implementation.

cddl/sbin/zfsd/Makefile:
cddl/sbin/zfsd/Makefile.common:
tools/regression/zfsd/Makefile:
Export common build information for zfsd and its unit tests
to a "Makefile.common".

Submitted by: gibbs
Approved by: ken (mentor)
Sponsored by: Spectra Logic Corporation


# e3ededfa 14-Oct-2013 Bryan Drewery <bdrewery@FreeBSD.org>

Rename libbsdyml to libyaml, make private, and bump
SHLIB_MAJOR to 1.0

Suggested by: des
Approved by: bapt
MFC after: 1 week


# 56b72efe 30-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove BIND.

Approved by: re (gjb)


# 66c2c71f 17-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Set the correct path for LIBUNBOUND.

Approved by: re (blanket)


# 8f8790cd 15-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Build and install the Unbound caching DNS resolver daemon.

Approved by: re (blanket)


# 0d410def 10-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Clean up the Kerberos build by turning libheimipcc and libheimipcs into
private shared libraries, instead of hacked-together archives of PIC
objects. This makes it possible to build a static libkrb5 that works.

Reviewed by: stas
Approved by: re (gjb)


# 0b2766bd 08-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Make libldns and libssh private.

Approved by: re (blanket)


# 4b1fb8ff 03-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Connect libexecinfo to the build

Sponsored by: DARPA, AFRL


# 237abf0c 28-Jun-2013 Davide Italiano <davide@FreeBSD.org>

- Trim an unused and bogus Makefile for mount_smbfs.
- Reconnect with some minor modifications, in particular now selsocket()
internals are adapted to use sbintime units after recent'ish calloutng
switch.


# 9c9425b7 15-Feb-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

fix leftover from an earlier experiment


# c857d06a 30-Dec-2012 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

With the old sade removed, libdisk is no longer used by anything in HEAD
and uses a number of problematic pre-gpart interfaces. Since it has been
entirely obsoleted by interfaces in geom, remove it.


# d7649ea3 20-Nov-2012 Dimitry Andric <dim@FreeBSD.org>

Do not expose LIBCXXRT and LIBCPLUSPLUS in bsd.libnames.mk, if
WITHOUT_LIBCPLUSPLUS is specified.

Submitted by: Garrett Cooper <yanegomi@gmail.com>
MFC after: 3 days


# c175365c 21-Oct-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add ATF to the build. This is may be a bit rought around the egdes,
but committing it helps to get everyone on the same page and makes
sure we make progress.

Tinderbox breakages that are the result of this commit are entirely
the committer's fault -- in other words: buildworld testing on amd64
only.

Credits follow:

Submitted by: Garrett Cooper <yanegomi@gmail.com>
Sponsored by: Isilon Systems
Based on work by: keramida@
Thanks to: gnn@, mdf@, mlaier@, sjg@
Special thanks to: keramida@


# 2e564269 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE SMBFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netsmb, which is a base
requirement for SMBFS.

In the while SMBFS regular users can use FUSE interface and smbnetfs
port to work with their SMBFS partitions.

Also, there are ongoing efforts by vendor to support in-kernel smbfs,
so there are good chances that it will get relinked once properly locked.

This is not targeted for MFC.


# e6116d5b 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE NWFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netncp, which is a base
requirement for NWFS.

In the possibility of a future maintenance of the code and later
readd to the FreeBSD base, maybe we should think about a better location
for netncp. I'm not entirely sure the / top location is actually right,
however I will let network people to comment on that more specifically.

This is not targeted for MFC.


# 6639d35c 18-May-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add missing LIBPROCSTAT.


# 24d1b19e 24-Nov-2011 Max Khon <fjoe@FreeBSD.org>

libodialog: disconnect from the build and obsolete.


# 2eb4b00c 17-May-2011 Florent Thoumie <flz@FreeBSD.org>

Backout libinstall.a -> libpkg commit.

Discussed with: erwin, brooks, bapt


# 366f6083 12-May-2011 Peter Grehan <grehan@FreeBSD.org>

Import of bhyve hypervisor and utilities, part 1.
vmm.ko - kernel module for VT-x, VT-d and hypervisor control
bhyve - user-space sequencer and i/o emulation
vmmctl - dump of hypervisor register state
libvmm - front-end to vmm.ko chardev interface

bhyve was designed and implemented by Neel Natu.

Thanks to the following folk from NetApp who helped to make this available:
Joe CaraDonna
Peter Snyder
Jeff Heller
Sandeep Mann
Steve Miller
Brian Pawlowski


# 6d67f694 17-Apr-2011 Dimitry Andric <dim@FreeBSD.org>

Remove libobjc and other Objective-C related components, as these are
extremely outdated, and not used by anything in the base system.

Silence from: current@


# 4c8945a0 12-Jan-2011 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Update dialog to version 20100428. This changes the license under which
dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new
features and a new and better libdialog API. The existing libdialog will
be kept temporarily as libodialog for compatibility purposes until sade,
sysinstall and tzsetup have been either updated or replaced.

__FreeBSD_version is now 900030.

Discussed on: -current
Approved by: core
Obtained from: http://invisible-island.net/dialog


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 21022fe7 21-Aug-2010 Rui Paulo <rpaulo@FreeBSD.org>

Remove LIBELF_PIC.

Sponsored by: The FreeBSD Foundation


# 60b77a1e 21-Aug-2010 Rui Paulo <rpaulo@FreeBSD.org>

Add the definition of LIBELF_PIC.

Sponsored by: The FreeBSD Foundation


# 8589ca84 31-Jul-2010 Rui Paulo <rpaulo@FreeBSD.org>

Add LIBRTLD_DB.

Sponsored by: The FreeBSD Foundation


# 3829a734 18-May-2010 Martin Matuska <mm@FreeBSD.org>

MFC r207842, r207844, r208099:

MFC r207842:
Import of liblzma, xz, xzdec, lzmainfo from vendor branch
Add support for xz and lzma to lesspipe.sh (xzless, lzless)

MFC r207844:
Add two public headers missing in r207842
Adjust CFLAGS for lzmainfo, xz, xzdec

MFC r208099:
Add versioned symbols to liblzma
Use default SHLIB_MAJOR.

Approved by: delphij (mentor)


# 762c7db2 23-Apr-2010 Florent Thoumie <flz@FreeBSD.org>

- Take libinstall.a out of pkg_install and make it a proper shared library.
- Rework the wrapper support to check libpkg version as well as pkg_install
version.
- Add libfetch to _prebuild_libs.
- There are no new features introduced.

Notes: the API is not stable, so basically, do not use libpkg in your
projects for now. Also there's no manpage for libpkg yet, because the API
will change drastically. I repeat, do not use libpkg for now.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 9fd69f37 25-Feb-2010 Ruslan Ermilov <ru@FreeBSD.org>

Fixed missing or broken library dependencies.


# 2265536f 13-Feb-2010 Antoine Brodin <antoine@FreeBSD.org>

Merge r201920 to stable/8:
libusb20 was renamed libusb several months ago.


# 3bbf60ad 09-Jan-2010 Antoine Brodin <antoine@FreeBSD.org>

libusb20 was renamed libusb several months ago.

MFC after: 1 month


# 2208eadf 03-Dec-2009 Ed Schouten <ed@FreeBSD.org>

Add a new library: libulog.

One of the things I really want to do, is to get rid of the limitations
of our current utmp(5) mechanism:

- It only allows 8 byte TTY device names.
- The hostname only allows 16 bytes of storage.

I'm not a big fan of <utmpx.h>, but I think we should at least try to
add parts of it. Unfortunately we cannot implement <utmpx.h>, because we
miss various fields, such as ut_id, ut_pid, etc. The API provided by
libulog shares some similarities with <utmpx.h>, so it shouldn't be too
hard to port these applications eventually. In most simple cases, it
should just be a matter of removing the ulog_ prefix everywhere.

As a bonus, it also implements a function called ulog_login_pseudo(),
which allows unprivileged applications to write log entries, provided
they have a valid file descriptor to a pseudo-terminal master device.

libulog will allow a smoother transition to a new file format by adding
a library interface to deal with utmp/wtmp/lastlog files. I initially
thought about adding the functionality to libutil, but because I'm not
planning on keeping this library around forever, we'd better keep it
separated.

Next items on the todo list:

1. Port applications in the base system (and ports) to libulog, instead
of letting them use <utmp.h>.
2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on
top.
3. Port as many applications as possible back to <utmpx.h>.


# de6f3704 24-Jun-2009 Jamie Gritton <jamie@FreeBSD.org>

Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by: bz (mentor)


# 6f0e1ffd 19-Nov-2008 Alfred Perlstein <alfred@FreeBSD.org>

src/sys/dev/usb2/controller/uss820dci_pccard.c
src/sys/dev/usb2/core/usbdevs
src/sys/dev/usb2/include/urio2_ioctl.h
src/sys/dev/usb2/storage/ustorage2_fs.h

These files are not used any more.

src/usr.sbin/Makefile
src/etc/mtree/BSD.include.dist
src/include/Makefile
src/lib/Makefile
src/share/man/man7/hier.7
src/share/mk/bsd.libnames.mk
src/etc/mtree/BSD.include.dist

Make "usbconfig" and "libusb20" a part of the default build.

src/sys/dev/usb/rio500_usb.h
src/sys/dev/usb2/storage/urio2.c

Use common include file.

src/sys/dev/usb2/bluetooth/ng_ubt2.c

Make USB bluetooth depend on "ng_hci" module.

src/sys/dev/usb2/controller/ehci2.c
src/sys/dev/usb2/controller/ehci2.h

Patches for Marvell EHCI.

src/sys/dev/usb2/core/usb2_busdma.c

Bugfix for 64-bit platforms. Need to unload the previously loaded DMA
map and some cleanup regarding some corner cases.

src/sys/dev/usb2/core/usb2_core.h
src/sys/dev/usb2/core/usb2_dev.c
src/sys/dev/usb2/core/usb2_dev.h

Bugfix for libusb filesystem interface.

New feature: Add support for filtering device data at the expense of the
userland process.

Add some more comments.

Some minor code styling.

Remove unused function, usb2_fifo_get_data_next().

Fix an issue about "fifo_index" being used instead of "ep_index".

src/sys/dev/usb2/core/usb2_device.c
src/sys/dev/usb2/core/usb2_generic.c

Bugfix for Linux USB compat layer. Do not free non-generic FIFOs when
doing an alternate setting.

Cleanup USB IOCTL and USB reference handling.
Fix a corner case where USB-FS was left initialised after
setting a new configuration or alternate setting.

src/sys/dev/usb2/core/usb2_hub.c

Improvement: Check all USB HUB ports by default at least one time.

src/sys/dev/usb2/core/usb2_request.c

Bugfix: Make sure destination ASCII string is properly zero terminated
in all cases.

Improvement: Skip invalid characters instead of replacing with a dot.

src/sys/dev/usb2/core/usb2_util.c
src/sys/dev/usb2/image/uscanner2.c

Spelling.

src/sys/dev/usb2/include/Makefile

Share "usbdevs" with the old USB stack.

src/sys/dev/usb2/include/usb2_devid.h
src/sys/dev/usb2/include/usb2_devtable.h

Regenerate files.

Alfred: Please fix the RCS tag at the top.

src/sys/dev/usb2/include/usb2_ioctl.h

Fix compilation of "kdump".

src/sys/dev/usb2/serial/ubsa2.c
src/sys/dev/usb2/serial/ugensa2.c

Remove device ID's which will end up in a new 3G driver.

src/sys/dev/usb2/sound/uaudio2.c

Correct a debug printout.

src/sys/dev/usb2/storage/umass2.c

Sync with old USB stack.

src/lib/libusb20/libusb20.3

Add more documentation.

src/lib/libusb20/libusb20.c

Various bugfixes and improvements.

src/usr.sbin/usbconfig/dump.c
src/usr.sbin/usbconfig/usbconfig.c

New commands for dumping strings and doing custom USB requests from
the command line.

Remove keyword requirements from generated files:
"head/sys/dev/usb2/include/usb2_devid.h"
"head/sys/dev/usb2/include/usb2_devtable.h"


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 770ac3b2 21-May-2008 John Birrell <jb@FreeBSD.org>

Add support for the Compact C Type (CTF) conversions throughout FreeBSD's
system makefiles.

Note that the CTF conversion defaults to off. We may choose to change this
default later if DTrace proves popular and people are prepared to wear
the compilation performance impact of compiling with debug symbols all the
time.

Setting NO_CTF in the make args or user environment turns off CTF conversion.
Even if we choose to default CTF generation to on later, we still need
NO_CTF so that the buildworld process can bootstrap the tools without
needlessly generating CTF data for temporary tools.

Setting WITH_CTF in the make args or user environment (and _NOT_ in
/etc/make.conf) is the only way to enable CTF data conversion. Nore that
this can't be implemented the same way that the WITH_ and WITHOUT_ stuff
is implemented throughout the buildworld because the CTF conversion needs
to work when building a simple object without a Makefile, using the
default rules in sys.mk.

Typing 'make test.o' with no makefile and just a source file test.c
should work. Also, typing 'make WITH_CTF=1 test.o without a makefile and
just a source file test.c should work and produce an object with a CTF
elf section. Typing 'make WITH_CTF=1 CFLAGS=-g test.o' without a makefile
and just a source file test.c should produce an object with both a CTF
elf section and the debug elf sections.

In the FreeBSD build where more .mk files are used than just sys.mk
which is included my make by default, the use of DEBUG_FLAGS is the
correct way to enable a debug build. The important thing to note here
is that it is the DEBUG_FLAGS setting that prevents libraries and
programs from being stripped on installation. So, for the addition of
CTF data conversion, setting DEBUG_FLAGS to contain -g, without NO_CTF,
will cause the ctfconvert and ctfmerge build programs to be executed
also with the -g arg so that debug symbols are retained rather than
being removed after the CTF data elf section has been added.

Add DTrace libraries to the list of libnames.


# 33f12199 07-May-2008 Doug Rabson <dfr@FreeBSD.org>

Fix conflicts after heimdal-1.1 import and add build infrastructure. Import
all non-style changes made by heimdal to our own libgssapi.


# e901b583 21-Feb-2008 Ruslan Ermilov <ru@FreeBSD.org>

Add LIBELF.


# 71ce49ae 01-Oct-2007 Ruslan Ermilov <ru@FreeBSD.org>

Fixed "make checkdpadd" (missing library dependencies).

Approved by: re (kensmith)


# 00fb440c 13-May-2007 Daniel Eischen <deischen@FreeBSD.org>

Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries. If necessary, this will happen later.


# 83423691 06-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Oops, keep things sorted.

Found by: ru


# f13a8260 05-Apr-2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Add new libraries. We may want to rename libumem to not colide with
ports/devel/umem.


# 31b4134f 08-Mar-2007 Rong-En Fan <rafan@FreeBSD.org>

Enable ncurses wide character support

Approved by: delphij (mentor)
Tested by: kris on pointyhat (early version), current@


# 438e97c0 01-Feb-2007 Rong-En Fan <rafan@FreeBSD.org>

Remove old libmytinfo link.

Approved by: delphij (mentor)
Requested by: ache


# 2e975006 30-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Removed libc_r build support.


# cea557ad 20-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Extend coverage of the MK_IPX build option to the following:

- <netipx> headers [1]
- IPX library (libipx)
- IPX support in ifconfig(8)
- IPXrouted(8)
- new MK_NCP option

New MK_NCP build option controls:

- <netncp> and <fs/nwfs> headers
- NCP library (libncp)
- ncplist(1) and ncplogin(1)
- mount_nwfs(8)
- ncp and nwfs kernel modules

User knobs: WITHOUT_IPX, WITHOUT_IPX_SUPPORT, WITHOUT_NCP.

[1] <netsmb/netbios.h> unconditionally uses <netipx> headers
so they are still installed. This needs to be dealt with.


# e1fe3dba 17-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Reimplementation of world/kernel build options. For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)


# 18d73856 02-Feb-2006 Robert Watson <rwatson@FreeBSD.org>

Define $LIBBSM.

Obtained from: TrustedBSD Project


# b9d4511f 17-Jul-2005 Robert Watson <rwatson@FreeBSD.org>

Add LIBMEMSTAT tp bsd.libnames.mk.

MFC after: 1 week


# ebccf1e3 18-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by: alc, jhb (kernel changes)


# d966048e 06-Jan-2005 Kirill Ponomarev <krion@FreeBSD.org>

Remove trailing spaces.


# a2161735 21-Dec-2004 Ruslan Ermilov <ru@FreeBSD.org>

NOCRYPT -> NO_CRYPT


# 6c58990d 13-Nov-2004 Bjoern A. Zeeb <bz@FreeBSD.org>

Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on no NIS support and related programs will be built.

Lost parts rediscovered by: Danny Braniss <danny at cs.huji.ac.il>
PR: bin/68303
No objections: des, gshapiro, nectar
Reviewed by: ru
Approved by: rwatson (mentor)
MFC after: 2 weeks


# 5f892a7f 24-Sep-2004 Tom Rhodes <trhodes@FreeBSD.org>

Fix build in the !NOATM case by using the begemot library in place of
using libisc which was a part of BIND8.

Discussed with: des, re, dougb
Submitted by: harti (one part)
Reviewed by: harti (previous version)


# a2af6bc2 24-Sep-2004 Doug Barton <dougb@FreeBSD.org>

Fix the WANT_BIND_LIBS knob by correctly spelling it as WITH_BIND_LIBS
to match how similar syntax is used in the ports system. Thanks to kris
for pointing out my mistake here.

Install the lwres library unless the user defines NO_BIND, or the new
knob, NO_BIND_LIBS_LWRES. There is at least one potential customer
for this library in the wings. Thanks to nectar for the reminder.


# 56216f68 24-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

Don't expose BIND libraries and their headers to the public by default,
but have a knob (WANT_BIND_LIBS) to build and install them in /usr/lib
and /usr/include. Rumors are that this may be useful at a later point,
let's see.

What this really means is that all BIND libraries are now internal to
buildworld (by default, unless WANT_BIND_LIBS is defined), and linked
statically into various BIND executables.

While here, removed redundant -I's from CFLAGS in lib/bind makefiles.

Sponsored by: des
OK'ed by: dougb


# 2371026f 23-Sep-2004 Ruslan Ermilov <ru@FreeBSD.org>

- Wrapped BIND 9 libraries defines into !defined(NO_BIND).

- Added forgotten LIBLWRES to fix missing dependencies
revealed by "make checkdpadd".


# cd3ee173 21-Sep-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Switch from BIND 8 to BIND 9.

Submitted by: (in part) dougb@, trhodes@
Reviewed by: dougb@, trhodes@, re@
MFC after: 5 days


# 495b92b2 11-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

The last commit had one too many libs.


# 20164649 09-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

Bmake the library containing and processing the magic.


# b4435eb7 12-Feb-2004 Tim Kientzle <kientzle@FreeBSD.org>

Register libarchive in bsd.libnames.mk and mdoc.local

Submitted by: ru


# a4a62f5d 06-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

First round of cleanups to sys/boot/ makefiles:

- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on: i386, amd64
Prodded by: bde


# 002886c8 04-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

Nothing in libypclnt depends on librpcsvc.

Reported by: lorder(1) (modified to work with libraries)


# 53fcfc91 03-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed MINUSLPAM:

- Added missing NOCRYPT and NO_OPENSSL checks for Kerberos.

- Don't depend on -lcrypto and -lcrypt in pam_ssh to resolve
dependencies in pam_krb5 and pam_ksu -- the former may not
be compiled at all if NO_OPENSSH knob is enabled.

- Added missing -lcrypt to pam_ssh dependencies.

- Moved librpcsvc after libypclnt.

(The last two aren't strictly speaking necessary to resolve
the dependencies of static versions of pam_ssh and pam_unix,
respectively, but they correspond to dynamic dependencies
of libssh and libypclnt, and are put here for consistency.)

In collaboration with: bde
Reviewed by: des


# 2082e6d2 02-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

GC LIBPC and LIBPLOT: they never existed in unencumbered BSD versions.

Reviewed by: bde


# 2e381660 31-Jan-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Add LIBPTHREAD.


# c24c2f8c 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

1. Garbage-collected LIBDES (now in a different library), LIBPERL (banished
to ports) and LIBRESOLV (now in a different library.

2. Added comments about nonexistent libraries LIBPC and LIBPLOT.

Submitted by: ru (1)


# 47d4aab1 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

Fixed insertion sort errors for LIBBLUETOOTH and LIBSDP.


# 5e986729 30-Jan-2004 Bruce Evans <bde@FreeBSD.org>

Removed XXX comments about some libraries only being in the secure
distribution. This is not the place to document this, especially
now that the secure distribution is the normal one.

Reviewed by: ru


# 1c674396 10-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

Add a define for libbsnmp.


# df94c097 27-Oct-2003 Hartmut Brandt <harti@FreeBSD.org>

Add a definition for libngatm.

Reviewed by: ru


# 0986ab12 12-Oct-2003 Maksim Yevmenkin <emax@FreeBSD.org>

Update Bluetooth code.

Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)


# f0a7f80d 09-Oct-2003 Jacques Vidrine <nectar@FreeBSD.org>

Update build infrastructure for Heimdal 0.6.


# c4f02a89 26-Sep-2003 Max Khon <fjoe@FreeBSD.org>

- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 7af822eb 02-Jul-2003 Ruslan Ermilov <ru@FreeBSD.org>

Libraries come.


# 73c29aeb 02-Jul-2003 Ruslan Ermilov <ru@FreeBSD.org>

Sort.


# 0800731a 13-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Build/install the PIC version of libgcc (libcc_pic.a) for use by shared
libraries that do exception unwinding.


# 3c0c681c 04-Jun-2003 Mark Murray <markm@FreeBSD.org>

Update some library names. Libraries come, libraries go.


# dbf104e6 05-May-2003 Mark Murray <markm@FreeBSD.org>

Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.


# c6885e26 21-Mar-2003 Ruslan Ermilov <ru@FreeBSD.org>

Added GEOM library to the bsd.libnames.mk namespace.


# 96594358 08-Mar-2003 Mark Murray <markm@FreeBSD.org>

KerberosIB deorbit: Remove library references.


# 77391fde 23-Jan-2003 Ruslan Ermilov <ru@FreeBSD.org>

Added UFS library to the bsd.libnames.mk namespace.


# 43e927ec 26-Nov-2002 Ruslan Ermilov <ru@FreeBSD.org>

NOSHARED is meaningless in the bsd.lib.mk context, so check LDFLAGS
for the -static flag instead when constructing LIBPAM.

(This fixes false warnings from ``make checkdpadd -DNOSHARED'' in
lib/libpam/modules/.)

Submitted by: bde, ru
Approved by: re


# b0eca2c8 04-Oct-2002 Ruslan Ermilov <ru@FreeBSD.org>

Sort in ``phone directory'' order (except for LIBC_*).


# 20247481 04-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Reflect the fact that we install our libexpat as libbsdxml.


# a70e34ac71 02-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Add LIBEXPAT definition.


# 4fd65a06 02-Aug-2002 Robert Watson <rwatson@FreeBSD.org>

Add a libnames entry for libugidfw.
Add a DPADD line for ${LIBUGIDFW} for ugidfw.

Submitted by: ru


# 2bdaf7e8 17-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Don't include bsd.own.mk from sys.mk, this makes it impossible
to use ``.if defined()'' inside bsd.own.mk to test for defines
in individual makefiles. For example, setting DEBUG_FLAGS in
Makefile didn't take the desired effect on the STRIP assignment.

Added bsd.init.mk (like in NetBSD) that handles the inclusion
of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that
"build something".

Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back
to sys.mk (several source tree makefiles want to check it early)
and removed MACHINE_ARCH initialization (it's hard to see from
looking at the commitlogs what the problem was at the time, but
now it serves no purpose).

Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk.

Protect bsd.obj.mk from repetitive inclusion. Prohibiting the
direct inclusion of bsd.obj.mk might be a good idea too.


# c3ec83e1 14-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add a dependency on libypclnt to libpam, in preperation for making pam_unix
use it to update NIS passwords.


# 533e4c33 13-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add libypclnt.


# d3b39427 09-Apr-2002 Ruslan Ermilov <ru@FreeBSD.org>

Fixed broken dependency in lib/libpam/modules/pam_krb5.


# 7b8cfc52 28-Mar-2002 Josef Karthauser <joe@FreeBSD.org>

Install libusbhid, and use it instead of libusb.

MFC after: 6 days


# 850dab17 17-Feb-2002 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Add two new libraries which are part of sendmail 8.12. libsm is used only
for building sendmail and the associated utilities. libmilter is a new
mail filtering API for sendmail.


# 0509dca0 23-Jan-2002 Ruslan Ermilov <ru@FreeBSD.org>

Add pam_ssh support to the static PAM library, libpam.a:

- Spam /usr/lib some more by making libssh a standard library.
- Tweak ${LIBPAM} and ${MINUSLPAM}.
- Garbage collect unused libssh_pic.a.
- Add fake -lz dependency to secure/ makefiles needed for
dynamic linkage with -lssh.

Reviewed by: des, markm
Approved by: markm


# 78eab690 21-Jan-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Add the necessary dependencies and linker flags for linking with a
static PAM library that includes pam_ssh.

Sponsored by: DARPA, NAI Labs


# 068c487f 18-Dec-2001 Ruslan Ermilov <ru@FreeBSD.org>

Add LIBSMB.


# 21b6f9f4 29-Aug-2001 Bruce Evans <bde@FreeBSD.org>

Fixed world breakage in ftpd, rshd, login, su, telnetd and telnet. LIBPAM
and MINUSLPAM must be kept in sync with the libraries linked to by libpam
to support static linkage.

Moved libmd to the end of LIBPAM and MINUSLPAM. It was before libopie,
but libopie references it, so static linkage only worked accidentally.


# 41658727 29-Aug-2001 Bruce Evans <bde@FreeBSD.org>

Removed some garbage (LIBGMP, LIBSKEY). Using LIBSKEY in LIBPAM should
have been fatal since it gave a dependency on a nonexistent file, but it
worked because of an undocumented bugfeature in make(1): missing source
files named *.a are silently assumed to be up to date.

Fixed some style bugs (formatting).


# 11ec14cf 19-Aug-2001 Kris Kennaway <kris@FreeBSD.org>

Zap LIBSS


# ae394d3f 09-Jul-2001 David E. O'Brien <obrien@FreeBSD.org>

Add LIBBZ2.


# 546bc188 07-Jun-2001 Mark Murray <markm@FreeBSD.org>

Clean up the PAM lib lists. Particularly relevant to the KRB5 case.


# a81a52f5 14-May-2001 Mark Murray <markm@FreeBSD.org>

Kerberos updates for PAM.


# 2bd4318c 12-May-2001 Bruce Evans <bde@FreeBSD.org>

Fixed some bitrot:
- the changes that renamed libf2c to libg2c had not reached here
- there were no definitions for LIBDEVINFO, LIBMENU, LIBPANEL, LIBTINFO,
LIBUSB or LIBVGL. LIBUSB was used without it being defined, and
LIBDEVINFO and LIBVGL should have been used.
- the definitions of LIBDESCRYPT, LIBGCC_PIC, LIBGPLUSPLUS, LIBKZHEAD,
LIBKZTAIL, LIBSCRYPT and LIBSCSI were garbage.

Fixed some old bugs:
- LIBC_PIC and LIBCOM_ERR were assigned to using "=" instead of "?=".
- the definition of LIBC_R was disordered.
- LIBFORM was misspelled LIBFORMS (but not actually used).


# c7d9dcd3 28-Apr-2001 Mark Murray <markm@FreeBSD.org>

Cleaner method of making PAMable apps static (in the optional case of
wanting static apps).


# 53e11665 04-Apr-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Remove the recently-depricated LIBPOSIX1E


# 4ecbb303 27-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

Bye-bye /usr/lib/libtelnet.a. This should fix ``make release'' brokeness.

Approved by: markm


# 3393f8da 26-Mar-2001 Kenneth D. Merry <ken@FreeBSD.org>

Rewrite of the CAM error recovery code.

Some of the major changes include:

- The SCSI error handling portion of cam_periph_error() has
been broken out into a number of subfunctions to better
modularize the code that handles the hierarchy of SCSI errors.
As a result, the code is now much easier to read.

- String handling and error printing has been significantly
revamped. We now use sbufs to do string formatting instead
of using printfs (for the kernel) and snprintf/strncat (for
userland) as before.

There is a new catchall error printing routine,
cam_error_print() and its string-based counterpart,
cam_error_string() that allow the kernel and userland
applications to pass in a CCB and have errors printed out
properly, whether or not they're SCSI errors. Among other
things, this helped eliminate a fair amount of duplicate code
in camcontrol.

We now print out more information than before, including
the CAM status and SCSI status and the error recovery action
taken to remedy the problem.

- sbufs are now available in userland, via libsbuf. This
change was necessary since most of the error printing code
is shared between libcam and the kernel.

- A new transfer settings interface is included in this checkin.
This code is #ifdef'ed out, and is primarily intended to aid
discussion with HBA driver authors on the final form the
interface should take. There is example code in the ahc(4)
driver that implements the HBA driver side of the new
interface. The new transfer settings code won't be enabled
until we're ready to switch all HBA drivers over to the new
interface.

src/Makefile.inc1,
lib/Makefile: Add libsbuf. It must be built before libcam,
since libcam uses sbuf routines.

libcam/Makefile: libcam now depends on libsbuf.

libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the
sbuf sources from sys/kern.

bsd.libnames.mk: Add LIBSBUF.

camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically
linked, we can't depend on the dynamic linker
to pull in libsbuf.

camcontrol.c: Use cam_error_print() instead of checking for
CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9: Change the prototypes for sbuf_cat() and
sbuf_cpy() so that the source string is now a
const char *. This is more in line wth the
standard system string functions, and helps
eliminate warnings when dealing with a const
source buffer.

Fix a typo.

cam.c: Add description strings for the various CAM
error status values, as well as routines to
look up those strings.

Add new cam_error_string() and
cam_error_print() routines for userland and
the kernel.

cam.h: Add a new CAM flag, CAM_RETRY_SELTO.

Add enumerated types for the various options
available with cam_error_print() and
cam_error_string().

cam_ccb.h: Add new transfer negotiation structures/types.

Change inq_len in the ccb_getdev structure to
be "reserved". This field has never been
filled in, and will be removed when we next
bump the CAM version.

cam_debug.h: Fix typo.

cam_periph.c: Modularize cam_periph_error(). The SCSI error
handling part of cam_periph_error() is now
in camperiphscsistatuserror() and
camperiphscsisenseerror().

In cam_periph_lock(), increase the reference
count on the periph while we wait for our lock
attempt to succeed so that the periph won't go
away while we're sleeping.

cam_xpt.c: Add new transfer negotiation code. (ifdefed
out)

Add a new function, xpt_path_string(). This
is a string/sbuf analog to xpt_print_path().

scsi_all.c: Revamp string handing and error printing code.
We now use sbufs for much of the string
formatting code. More of that code is shared
between userland the kernel.

scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly
useful in the first place.

Add a new error action, SS_REQSENSE. (Send a
request sense and then retry the command.)
This is useful when the controller hasn't
performed autosense for some reason.

Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection
timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.

Get rid of the last vestiges of a read/write
interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files: Add bsearch.c, which is needed for some of the
new table lookup routines.

aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if
CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c: Add the appropriate #ifdefs so sbufs can
compile and run in userland.

Change sbuf_printf() to use vsnprintf()
instead of kvprintf(), which is only available
in the kernel.

Change the source string for sbuf_cpy() and
sbuf_cat() to be a const char *.

Add __BEGIN_DECLS and __END_DECLS around
function prototypes since they're now exported
to userland.

kdump/mkioctls: Include stdio.h before cam.h since cam.h now
includes a function with a FILE * argument.

Submitted by: gibbs (mostly)
Reviewed by: jdp, marcel (libsbuf makefile changes)
Reviewed by: des (sbuf changes)
Reviewed by: ken


# af24fca3 20-Mar-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

List libfetch.

Submitted by: bde


# 041629b3 19-Mar-2001 Chris D. Faulhaber <jedgar@FreeBSD.org>

Add LIBPOSIX1E


# ffa3e136 18-Feb-2001 Kris Kennaway <kris@FreeBSD.org>

Zap LIBTCL, it's been superfluous for several years.


# 20d65f25 26-Nov-2000 Brian Somers <brian@FreeBSD.org>

Add ${LIBC_R}


# c06992e5 24-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Build the ISC library as libisc. This library comes as part of the
bind distribution, but until now was not being built as a separate
entity. For documentation, see these man pages:

assertions(3), eventlib(3), heap(3), logging(3), memcluster(3), tree(3).

Reviewed by: jdp


# 3dc4512a 10-Oct-2000 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Remove LIBRSAGLUE, add LIBSSL

Reviewed by: kris


# 3700a99c 15-Sep-2000 Andrey A. Chernov <ache@FreeBSD.org>

Replace ${LIBMYTINFO} with warning


# 90541e30 29-Apr-2000 Bruce Evans <bde@FreeBSD.org>

Fixed world breakage for the NOSHARED=yes case. libpam now depends on
libopie.

Don't say that libpam.a doesn't exist.


# c4544494 27-Feb-2000 Yoshinobu Inoue <shin@FreeBSD.org>

Add libipsec.

Approved by: jkh


# 1742a2be 24-Feb-2000 Mark Murray <markm@FreeBSD.org>

We have some new libraries; give them names.


# e5389fb1 27-Dec-1999 Bruce Evans <bde@FreeBSD.org>

Fixed breakage of static linkage of rlogind. Someone added -lutil and
-lcom_err to some libpam modules without updating LIBPAM here.


# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree


# ce0b1244 15-Oct-1999 Boris Popov <bp@FreeBSD.org>

Add libncp to the list of known libraries.


# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# e6514bfa 27-May-1999 Andrey A. Chernov <ache@FreeBSD.org>

add libhistory


# 5112f012 14-Mar-1999 Mark Murray <markm@FreeBSD.org>

New names for the list; the DES crypt and libwrap for tcp_wrappers.


# b0aaedc6 20-Jan-1999 John Polstra <jdp@FreeBSD.org>

Change the definition of LIBPAM to support the static PAM library.
When linking statically, LIBPAM is augmented with the extra libraries
that the PAM modules require. The idea is to centralize this
information rather than scattering it about in the Makefiles of
all the applications that use (OK, will use) PAM.

There is a new variable MINUSLPAM that should be used instead of
"-lpam". In the static case, it gets -l flags for the extra required
libraries.

This approach was suggested by <bde>, but he didn't actually review
my changes.


# a0a4fbec 17-Nov-1998 John Polstra <jdp@FreeBSD.org>

Add LIBPAM, LIBRADIUS, and LIBTACPLUS.


# d8004495 17-Sep-1998 Poul-Henning Kamp <phk@FreeBSD.org>

Two patches from the HARP people:

Various Makefile related fixes.

-Wformat fixes.

Submitted by: Mike Spengler <mks@networkcs.com>


# b1758a28 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Define LIBCAM and LIBDEVSTAT.


# 07203918 09-Sep-1998 Mark Murray <markm@FreeBSD.org>

Add libperl for Perl5.


# 686544f0 01-Jun-1998 Peter Wemm <peter@FreeBSD.org>

add libcipher, and update comments about libdes, libkdb, libkrb etc
which do exist but are in the secure dist rather than the base.


# 67b780b0 31-May-1998 Bruce Evans <bde@FreeBSD.org>

Fixed double slashes in pathnames.


# cabb97dc 26-May-1998 Søren Schmidt <sos@FreeBSD.org>

ELF preparation step 2:

Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...


# 5d9599c8 15-May-1998 Bruce Evans <bde@FreeBSD.org>

Oops, forgot references in previous commit.

Submitted by: Brian Cully <shmit@erols.com>
PR: 6178


# 70a6e331 15-May-1998 Bruce Evans <bde@FreeBSD.org>

Support Objective C almost as well as C++.

Notes:
- We no longer use -fgnu-runtime in bsd.lib.mk, since it is the default
and bsd.lib.mk is the wrong place to override it.
- Gnu C doesn't have a special compiler driver for Objective C like it
does for C++. The defaults are suitable for Gnu C. Use `OBJCLIBS='
in /etc/make.conf for POC.


# e525599e 15-Dec-1997 Wolfgang Helbig <helbig@FreeBSD.org>

Add libcalendar


# 261d7bf1 09-Dec-1997 Wolfram Schneider <wosch@FreeBSD.org>

Add LIBZ


# 75795a87 22-May-1997 Brian Somers <brian@FreeBSD.org>

Add LIBALIAS.


# b97fa2ef 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 125e9dcf 07-Feb-1997 Paul Traina <pst@FreeBSD.org>

Put libopie.a in libnames


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# edc81357 12-Jan-1997 Wolfram Schneider <wosch@FreeBSD.org>

Add a general comment about this include file.


# fbb10fba 04-Oct-1996 Peter Wemm <peter@FreeBSD.org>

Add LIBSTDCPLUSPLUS
(can't use the '+' char in variable names, same as LIBGPLUSPLUS)


# 0ef8d11a 04-Oct-1996 Peter Wemm <peter@FreeBSD.org>

libresolv.a doesn't exist anymore... Hmm, what's the right thing to do
here? Can we just undefine it? What about 3rd party bmakefiles?


# 9b66eea4 05-Sep-1996 Bruce Evans <bde@FreeBSD.org>

Moved definitions of library names from bsd.prog.mk to a new central
file bsd.libnames.mk and include this file where necessary. This fixes
null library names in ${DPADD}'s in library makefiles.