notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photos
All times are UTC
Ukraine
The recently imposed "must be logged in" restriction is a response to increased bot traffic on the site. This affects search, commits, and vuxml pages.
Search engines are not blocked. Try using "site:www.freshports.org" and your search terms.
After the ports freeze to fix some stuff, the freeze is over. I have some work to do before FreshPorts can start processing commits again before it can start processing again. I've created an issue for that.
Port details
py-lib389 Python library and administration tools for 389 Directory Server
3.2.2 net on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 3.2.1Version of this port present on the latest quarterly branch.
Maintainer: joneum@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-06-29 20:30:13
Last Update: 2026-08-19 07:10:08
Commit Hash: 02facc5
Also Listed In: python
License: GPLv3+
WWW:
https://www.port389.org/
Description:
lib389 is the Python administration library for 389 Directory Server. It provides APIs and command-line tools for creating, configuring, managing, and inspecting directory server instances.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
There is no configure plist information for this port.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}lib389>0:net/py-lib389@${PY_FLAVOR}
To install the port:
cd /usr/ports/net/py-lib389/ && make install clean
To add the package, run one of these commands:
  • pkg install net/py-lib389
  • pkg install py312-lib389
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py312-lib389 listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py312-lib389
Package flavors (<flavor>: <package>)
  • py312: py312-lib389
distinfo:
TIMESTAMP = 1787094160 SHA256 (389-ds-base-3.2.2.tar.bz2) = 30b5ba8ef2c4dddcf168e2ec9ba183a77950639b1c93d8ebf47208af9262a84a SIZE (389-ds-base-3.2.2.tar.bz2) = 23842375

Packages (timestamps in pop-ups are UTC):
py312-lib389
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest-----n/an/an/a
FreeBSD:13:quarterly-----n/an/an/a
FreeBSD:14:latest3.2.1_23.2.1_2--3.2.1_2---
FreeBSD:14:quarterly--------
FreeBSD:15:latest3.2.1_23.2.1_2n/a-n/an/a--
FreeBSD:15:quarterly3.2.13.2.1n/a-n/an/a--
FreeBSD:16:latest3.2.1_13.2.1_2n/a-n/an/a--
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py312-argcomplete>=0 : devel/py-argcomplete@py312
  2. py312-argparse-manpage>=0 : devel/py-argparse-manpage@py312
  3. py312-cryptography>=0 : security/py-cryptography@py312
  4. py312-distro>=0 : sysutils/py-distro@py312
  5. py312-psutil>=0 : sysutils/py-psutil@py312
  6. py312-pyasn1-modules>=0 : devel/py-pyasn1-modules@py312
  7. py312-pyasn1>=0 : devel/py-pyasn1@py312
  8. py312-python-ldap>=0 : net/py-python-ldap@py312
  9. py312-setuptools>=0 : devel/py-setuptools@py312
  10. py312-wheel>=0 : devel/py-wheel@py312
  11. python3.12 : lang/python312
  12. py312-build>=0 : devel/py-build@py312
  13. py312-installer>=0 : devel/py-installer@py312
Test dependencies:
  1. python3.12 : lang/python312
Runtime dependencies:
  1. py312-argcomplete>=0 : devel/py-argcomplete@py312
  2. py312-cryptography>=0 : security/py-cryptography@py312
  3. py312-distro>=0 : sysutils/py-distro@py312
  4. py312-psutil>=0 : sysutils/py-psutil@py312
  5. py312-pyasn1-modules>=0 : devel/py-pyasn1-modules@py312
  6. py312-pyasn1>=0 : devel/py-pyasn1@py312
  7. py312-python-ldap>=0 : net/py-python-ldap@py312
  8. 389-ds-base>=3.2.2 : net/389-ds-base
  9. python3.12 : lang/python312
This port is required by:
for Run
  1. net/freeipa-server

Configuration Options:
No options to configure
Options name:
net_py-lib389
USES:
python:3.12+ shebangfix tar:bzip2
pkg-message:
For install:
The lib389 command-line tools can be used to create and manage 389 Directory Server instances. Create an instance interactively: dscreate interactive Create an instance from an INF file: dscreate from-file /path/to/instance.inf Manage an existing instance: dsctl <instance> status dsctl <instance> start dsctl <instance> stop dsctl <instance> remove --do-it Use dsconf to manage the server configuration and dsidm to manage directory entries.
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://github.com/389ds/389-ds-base/releases/download/389-ds-base-3.2.2/
Collapse this list.

Number of commits found: 5

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
3.2.2
19 Aug 2026 07:10:08
commit hash: 02facc579d8bc7715f91e24fa4e085d4dcb7358ecommit hash: 02facc579d8bc7715f91e24fa4e085d4dcb7358ecommit hash: 02facc579d8bc7715f91e24fa4e085d4dcb7358ecommit hash: 02facc579d8bc7715f91e24fa4e085d4dcb7358e files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
net/py-lib389: Update to 3.2.2

Built from the same tarball as net/389-ds-base, which it requires in a
matching version.

Sponsored by:	Netzkommune GmbH
3.2.1_2
13 Aug 2026 08:58:48
commit hash: d1e6825867ddd65734df44255115c2e31961d85ccommit hash: d1e6825867ddd65734df44255115c2e31961d85ccommit hash: d1e6825867ddd65734df44255115c2e31961d85ccommit hash: d1e6825867ddd65734df44255115c2e31961d85c files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
net/py-lib389: pass the process environment when starting dirsrv

Extend the FreeBSD start patch so lib389 launches the ns-slapd process
with a copy of the current environment (env = dict(os.environ)) instead
of an empty one. This lets the Kerberos settings (e.g. KRB5_KTNAME) reach
the directory server process, which is required for GSSAPI/GSS-SPNEGO binds
on FreeBSD.

Sponsored by:	Netzkommune GmbH
3.2.1_1
06 Aug 2026 16:42:38
commit hash: e297efc8850c237df2593bc23137fca36787d8b3commit hash: e297efc8850c237df2593bc23137fca36787d8b3commit hash: e297efc8850c237df2593bc23137fca36787d8b3commit hash: e297efc8850c237df2593bc23137fca36787d8b3 files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
net/py-lib389: Fix instance creation on FreeBSD

Adjust the FreeBSD patch for lib389's instance setup code.

Guard the container detection against a missing systemd-detect-virt
binary.  Upstream initializes container_result to an integer and then
unconditionally executes systemd-detect-virt on non-containerised
systems, which aborts instance creation with a FileNotFoundError on
FreeBSD.  The check now only runs when the binary is present and
falls back to the non-container code path otherwise.

Use a plain localhost LDAP connection with the generated temporary
Directory Manager password for the authenticated setup session, as
LDAPI autobind via SASL EXTERNAL did not work reliably during setup
on FreeBSD.

Sponsored by:	Netzkommune GmbH
3.2.1
30 Jun 2026 16:54:14
commit hash: b9869c7cd72c709ec9ff9bc7f4672eb2fe0e1cdccommit hash: b9869c7cd72c709ec9ff9bc7f4672eb2fe0e1cdccommit hash: b9869c7cd72c709ec9ff9bc7f4672eb2fe0e1cdccommit hash: b9869c7cd72c709ec9ff9bc7f4672eb2fe0e1cdc files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
net/py-lib389: Pet portclippy and portfmt

Fix the Makefile and make portclippy happy.

Sponsored by:	Netzkommune GmbH
3.2.1
29 Jun 2026 20:27:24
commit hash: d10cb9f3925e39cf9da8e59975fac96e1edc66c0commit hash: d10cb9f3925e39cf9da8e59975fac96e1edc66c0commit hash: d10cb9f3925e39cf9da8e59975fac96e1edc66c0commit hash: d10cb9f3925e39cf9da8e59975fac96e1edc66c0 files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
net/py-lib389: Add new port

lib389 provides the Python library and command-line administration
tools for 389 Directory Server.

It includes tools for creating and managing Directory Server
instances, configuring servers, and managing directory entries.

This port is required for the development of net/freeipa-server.

WWW: https://www.port389.org/

Sponsored by:	Netzkommune GmbH

Number of commits found: 5