feat: packages, services and updates #2
@@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Packages: `get_packages`, `install_package`, `uninstall_package`.
|
||||
- Updates: `get_available_updates`, with VuXML's verdict as `security` on
|
||||
FreeBSD and base-system patches as one `base-system` entry (OpenBSD
|
||||
`syspatch`, classic FreeBSD `freebsd-update`).
|
||||
- Services: `get_services` and `manage_service` (start, stop, restart,
|
||||
enable, disable) through `service` and `rcctl`.
|
||||
- `get_listening_sockets()` in the shape of `ListeningSocketsMixin`: FreeBSD
|
||||
through `sockstat`, OpenBSD through `fstat` as root and `netstat -an`
|
||||
without, which the reading reports as `attributed: False`.
|
||||
|
||||
@@ -33,6 +33,9 @@ over SSH, built on [napalm-device-types](https://git.netork.io/NAPALM/napalm-dev
|
||||
| `get_lldp_neighbors` | `{}` | `{}` | no LLDP daemon in either base system |
|
||||
| `get_users`, `get_processes`, `get_cron_jobs` | ✓ | ✓ | `/etc/passwd`+`/etc/group`, `ps … lstart`, system crontab + `crontab -l` |
|
||||
| `get_listening_sockets` | ✓ | ✓ | `sockstat -46lq` / `fstat -n` as root, `netstat -an` without |
|
||||
| `get_packages`, `install_package`, `uninstall_package` | ✓ | ✓ | `pkg query` / `pkg install`, `pkg delete`; `pkg_info` / `pkg_add -I`, `pkg_delete` |
|
||||
| `get_available_updates` | ✓ | ✓ | `pkg upgrade -n` + `pkg audit` (VuXML); `pkg_add -u -n -v` + `syspatch -c` |
|
||||
| `get_services`, `manage_service` | ✓ | ✓ | `service -e` + `service … status` / `service … <action>`; `rcctl ls on` + `rcctl check` / `rcctl <action>` |
|
||||
|
||||
`get_listening_sockets` has the shape of napalm-device-types'
|
||||
`ListeningSocketsMixin` (whose `ss`/cgroup reading is Linux's) and its rule:
|
||||
@@ -45,7 +48,20 @@ There is deliberately no `get_kernel_facts`: `KernelFactsMixin` reports a
|
||||
Linux kernel's modules and `CONFIG_*` options, which a BSD kernel does not
|
||||
have, and `hasattr(driver, "get_kernel_facts")` has to stay truthful.
|
||||
|
||||
Packages, services, updates (#799) and SNMP (#800) follow.
|
||||
**Updates.** `security` on FreeBSD comes from VuXML (`pkg audit`): True for a
|
||||
package it lists as vulnerable, False for one it does not, None when the audit
|
||||
could not run. OpenBSD's tools do not say, so it is None there. Base-system
|
||||
patches are one entry, `base-system` (NetOrk/netork#799): OpenBSD's
|
||||
`syspatch` applies its patches together and in order; a classic FreeBSD base
|
||||
reports what `freebsd-update` has fetched (`updatesready`). On FreeBSD with
|
||||
pkgbase the base system is packages from the `FreeBSD-base` repository and
|
||||
needs no extra entry.
|
||||
|
||||
**Services** are the enabled ones. FreeBSD reads their status as root, as
|
||||
root-only pidfiles hide a daemon from anyone else, and without root when sudo
|
||||
refuses; OpenBSD's `rcctl check` needs no root. Actions run as root.
|
||||
|
||||
SNMP (#800) follows.
|
||||
|
||||
## Connection arguments
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ stdin, as napalm-linux does it.
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import re
|
||||
import socket
|
||||
from shlex import quote
|
||||
from typing import Any, Optional
|
||||
@@ -27,6 +28,14 @@ from napalm_bsd import parse
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
#: The update-list entry for base-system patches (OpenBSD syspatch, classic
|
||||
#: FreeBSD freebsd-update): one entry, as they are applied together (#799).
|
||||
BASE_SYSTEM = "base-system"
|
||||
|
||||
_SERVICE_ACTIONS = frozenset({"start", "stop", "restart", "enable", "disable"})
|
||||
_SERVICE_NAME = re.compile(r"^[A-Za-z0-9][A-Za-z0-9_.-]*$")
|
||||
_PACKAGE_NAME = re.compile(r"^[A-Za-z0-9][A-Za-z0-9_.+-]*$")
|
||||
|
||||
|
||||
class BsdDriver(OSDriver):
|
||||
"""Base for the BSD drivers; a concrete one names the commands that differ."""
|
||||
@@ -277,6 +286,64 @@ class BsdDriver(OSDriver):
|
||||
"sockets": self._parse_listening(plain.stdout, attributed=False),
|
||||
}
|
||||
|
||||
# -- packages -----------------------------------------------------------------
|
||||
|
||||
#: ``{name}`` is the package (with its version, when one is asked for).
|
||||
INSTALL_COMMAND = ""
|
||||
UNINSTALL_COMMAND = ""
|
||||
|
||||
def _package_command(self, template: str, name: str) -> None:
|
||||
"""Run a package command as root; a failure raises with what it printed."""
|
||||
result = self.run_command(template.format(name=name), privileged=True, timeout=600)
|
||||
if result.exit_code != 0:
|
||||
raise RuntimeError(
|
||||
(result.stderr or result.stdout).strip() or f"{name}: exit {result.exit_code}"
|
||||
)
|
||||
|
||||
def install_package(self, name: str, version: str = "") -> None:
|
||||
if not _PACKAGE_NAME.match(name) or (version and not _PACKAGE_NAME.match(version)):
|
||||
raise ValueError(f"Not a package name: {name!r}")
|
||||
self._package_command(self.INSTALL_COMMAND, f"{name}-{version}" if version else name)
|
||||
|
||||
def uninstall_package(self, name: str) -> None:
|
||||
if not _PACKAGE_NAME.match(name):
|
||||
raise ValueError(f"Not a package name: {name!r}")
|
||||
self._package_command(self.UNINSTALL_COMMAND, name)
|
||||
|
||||
# -- services -----------------------------------------------------------------
|
||||
|
||||
#: Prints ``name<TAB>status`` per enabled service; parsed by :meth:`_parse_services`.
|
||||
SERVICE_STATUS_COMMAND = ""
|
||||
#: ``{name}`` and ``{action}`` (start, stop, restart, enable, disable).
|
||||
SERVICE_ACTION_COMMAND = ""
|
||||
|
||||
def _parse_services(self, output: str) -> list[dict[str, Any]]:
|
||||
raise NotImplementedError
|
||||
|
||||
def get_services(self) -> list[dict[str, Any]]:
|
||||
"""The enabled services, whether each runs, and its PID where known.
|
||||
|
||||
Read as root where the status needs it, and without root otherwise.
|
||||
"""
|
||||
result = self.run_command(self.SERVICE_STATUS_COMMAND, privileged=True, timeout=120)
|
||||
if result.exit_code != 0 or not result.stdout.strip(): # no root: sudo refused
|
||||
result = self.run_command(self.SERVICE_STATUS_COMMAND, timeout=120)
|
||||
return self._parse_services(result.stdout)
|
||||
|
||||
def manage_service(self, name: str, action: str) -> dict[str, Any]:
|
||||
"""Applies *action* to the service *name*, as root.
|
||||
|
||||
:returns: ``{"success": bool, "output": str}``
|
||||
:raises ValueError: for an unknown action or an invalid name, before
|
||||
anything is sent.
|
||||
"""
|
||||
if action not in _SERVICE_ACTIONS or not _SERVICE_NAME.match(name):
|
||||
raise ValueError(f"Cannot {action!r} service {name!r}")
|
||||
command = self.SERVICE_ACTION_COMMAND.format(name=name, action=action)
|
||||
result = self.run_command(command, privileged=True, timeout=120)
|
||||
output = "\n".join(filter(None, (result.stdout.strip(), result.stderr.strip())))
|
||||
return {"success": result.exit_code == 0, "output": output}
|
||||
|
||||
# -- accounts, processes, cron -----------------------------------------------
|
||||
|
||||
def get_users(self) -> list[dict[str, Any]]:
|
||||
|
||||
+63
-1
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
from napalm_device_types import FingerprintRule
|
||||
|
||||
from napalm_bsd import parse
|
||||
from napalm_bsd.base import BsdDriver
|
||||
from napalm_bsd.base import BASE_SYSTEM, BsdDriver
|
||||
|
||||
|
||||
class FreeBSDDriver(BsdDriver):
|
||||
@@ -35,6 +35,68 @@ class FreeBSDDriver(BsdDriver):
|
||||
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
||||
return parse.sockstat(output)
|
||||
|
||||
PKG_QUERY = "pkg query '%n\t%v\t%R\t%sb\t%c'"
|
||||
INSTALL_COMMAND = "pkg install -y {name}"
|
||||
UNINSTALL_COMMAND = "pkg delete -y {name}"
|
||||
# Root reads every daemon's pidfile; one-shot scripts have no status.
|
||||
SERVICE_STATUS_COMMAND = (
|
||||
"for s in $(service -e); do n=${s##*/}; "
|
||||
'printf "%s\\t%s\\n" "$n" "$(service $n status 2>&1 | head -1)"; done'
|
||||
)
|
||||
SERVICE_ACTION_COMMAND = "service {name} {action}"
|
||||
|
||||
def _parse_services(self, output: str) -> list[dict]:
|
||||
return parse.service_status(output)
|
||||
|
||||
def _has_pkg(self) -> bool:
|
||||
"""pkg is bootstrapped; a hand-installed classic system may have only the stub."""
|
||||
return self.run_command("pkg -N").exit_code == 0
|
||||
|
||||
def get_packages(self) -> list[dict]:
|
||||
return parse.pkg_query(self._out(self.PKG_QUERY)) if self._has_pkg() else []
|
||||
|
||||
def get_available_updates(self) -> list[dict]:
|
||||
"""Package updates from ``pkg upgrade -n``, and fetched base-system updates.
|
||||
|
||||
``security`` comes from VuXML (``pkg audit``): True for a package it
|
||||
lists as vulnerable, False for one it does not, None when the audit
|
||||
could not run. On pkgbase the base system is packages from the
|
||||
FreeBSD-base repository; a classic base reports one entry (#799).
|
||||
"""
|
||||
updates: list[dict] = []
|
||||
if self._has_pkg():
|
||||
updates = parse.pkg_upgrades(self._out("pkg upgrade -n", privileged=True, timeout=300))
|
||||
audit = self.run_command("pkg audit -Fq", privileged=True, timeout=120)
|
||||
known = audit.exit_code in (0, 1) # 1: vulnerable packages found
|
||||
vulnerable = parse.pkg_audit(audit.stdout) if known else set()
|
||||
for update in updates:
|
||||
update["security"] = (update["name"] in vulnerable) if known else None
|
||||
if "FreeBSD-base" in self._out("pkg repos -l").split():
|
||||
return updates
|
||||
return updates + self._base_updates()
|
||||
|
||||
def _base_updates(self) -> list[dict]:
|
||||
"""A classic base system's updates, as freebsd-update fetched them.
|
||||
|
||||
``updatesready`` exits 0 when fetched updates wait to be installed and
|
||||
2 when there are none; it does not fetch, which ``freebsd-update cron``
|
||||
does daily where it is enabled.
|
||||
"""
|
||||
ready = self.run_command(
|
||||
"freebsd-update --not-running-from-cron updatesready", privileged=True, timeout=60
|
||||
)
|
||||
if ready.exit_code != 0:
|
||||
return []
|
||||
return [
|
||||
{
|
||||
"name": BASE_SYSTEM,
|
||||
"current_version": self._out("freebsd-version -u"),
|
||||
"new_version": "fetched by freebsd-update",
|
||||
"origin": "freebsd-update",
|
||||
"security": None,
|
||||
}
|
||||
]
|
||||
|
||||
def _os_version(self) -> str:
|
||||
version = super()._os_version()
|
||||
return f"FreeBSD {version}" if version else ""
|
||||
|
||||
+51
-1
@@ -5,7 +5,7 @@ from __future__ import annotations
|
||||
from napalm_device_types import FingerprintRule
|
||||
|
||||
from napalm_bsd import parse
|
||||
from napalm_bsd.base import BsdDriver
|
||||
from napalm_bsd.base import BASE_SYSTEM, BsdDriver
|
||||
|
||||
|
||||
class OpenBSDDriver(BsdDriver):
|
||||
@@ -33,6 +33,56 @@ class OpenBSDDriver(BsdDriver):
|
||||
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
||||
return parse.fstat_sockets(output) if attributed else parse.netstat_listening(output)
|
||||
|
||||
INSTALL_COMMAND = "pkg_add -I {name}"
|
||||
UNINSTALL_COMMAND = "pkg_delete {name}"
|
||||
# rcctl check needs no root; "rcctl ls started" does.
|
||||
SERVICE_STATUS_COMMAND = (
|
||||
"for s in $(rcctl ls on); do "
|
||||
"if rcctl check $s >/dev/null 2>&1; then r=1; else r=0; fi; "
|
||||
'printf "%s\\t%s\\n" "$s" "$r"; done'
|
||||
)
|
||||
SERVICE_ACTION_COMMAND = "rcctl {action} {name}"
|
||||
|
||||
def _parse_services(self, output: str) -> list[dict]:
|
||||
return parse.rcctl_check(output)
|
||||
|
||||
def get_services(self) -> list[dict]:
|
||||
return self._parse_services(self._out(self.SERVICE_STATUS_COMMAND, timeout=120))
|
||||
|
||||
def get_packages(self) -> list[dict]:
|
||||
return parse.pkg_info(self._out("pkg_info"))
|
||||
|
||||
def get_available_updates(self) -> list[dict]:
|
||||
"""Package updates from ``pkg_add -u -n -v``, and the base system's syspatches.
|
||||
|
||||
syspatch applies its patches together and in order, so they are one
|
||||
entry (#799). Neither tool says which update is a security fix.
|
||||
"""
|
||||
updates: list[dict] = [
|
||||
{**candidate, "origin": None, "security": None}
|
||||
for candidate in parse.pkg_add_candidates(
|
||||
self._out("pkg_add -u -n -v", privileged=True, timeout=300)
|
||||
)
|
||||
]
|
||||
patches = parse.syspatch(self._out("syspatch -c", privileged=True, timeout=120))
|
||||
if patches:
|
||||
installed = parse.syspatch(self._out("syspatch -l", privileged=True))
|
||||
summary = (
|
||||
", ".join(patches)
|
||||
if len(patches) <= 3
|
||||
else f"{len(patches)} patches: {patches[0]} … {patches[-1]}"
|
||||
)
|
||||
updates.append(
|
||||
{
|
||||
"name": BASE_SYSTEM,
|
||||
"current_version": installed[-1] if installed else self._out("uname -r"),
|
||||
"new_version": summary,
|
||||
"origin": "syspatch",
|
||||
"security": None,
|
||||
}
|
||||
)
|
||||
return updates
|
||||
|
||||
def _hardware(self) -> tuple[str, str, str]:
|
||||
hw = self._platform()
|
||||
return hw.get("vendor", ""), hw.get("product", ""), hw.get("serialno", "")
|
||||
|
||||
@@ -347,3 +347,146 @@ def netstat_listening(text: str) -> list[dict[str, Any]]:
|
||||
continue
|
||||
sockets.append(_socket(proto, local, family, None, None))
|
||||
return _unique(sockets)
|
||||
|
||||
|
||||
# -- packages, updates, services ---------------------------------------------------
|
||||
|
||||
_PACKAGE_NAME = re.compile(r"^(?P<name>\S+?)-(?P<version>\d\S*)$")
|
||||
|
||||
|
||||
def split_package(full: str) -> tuple[str, str]:
|
||||
"""An OpenBSD package name: ``bash-completion-2.17.0`` -> (``bash-completion``, ``2.17.0``).
|
||||
|
||||
The version starts at the first ``-`` followed by a digit.
|
||||
"""
|
||||
match = _PACKAGE_NAME.match(full)
|
||||
return (match["name"], match["version"]) if match else (full, "")
|
||||
|
||||
|
||||
def pkg_query(text: str) -> list[dict[str, Any]]:
|
||||
"""FreeBSD ``pkg query '%n\\t%v\\t%R\\t%sb\\t%c'``; the source is the repository."""
|
||||
packages = []
|
||||
for line in text.splitlines():
|
||||
parts = line.split("\t")
|
||||
if len(parts) < 5:
|
||||
continue
|
||||
name, version, repo, size, comment = parts[:5]
|
||||
packages.append(
|
||||
{
|
||||
"name": name,
|
||||
"version": version,
|
||||
"installed": True,
|
||||
"description": comment,
|
||||
"size": int(size) if size.isdigit() else 0,
|
||||
"source": repo,
|
||||
}
|
||||
)
|
||||
return packages
|
||||
|
||||
|
||||
def pkg_info(text: str) -> list[dict[str, Any]]:
|
||||
"""OpenBSD ``pkg_info``: ``name-version comment`` per installed package."""
|
||||
packages = []
|
||||
for line in text.splitlines():
|
||||
full, _, comment = line.partition(" ")
|
||||
if not full:
|
||||
continue
|
||||
name, version = split_package(full)
|
||||
packages.append(
|
||||
{
|
||||
"name": name,
|
||||
"version": version,
|
||||
"installed": True,
|
||||
"description": comment.strip(),
|
||||
"size": 0,
|
||||
"source": "pkg_add",
|
||||
}
|
||||
)
|
||||
return packages
|
||||
|
||||
|
||||
_PKG_UPGRADE = re.compile(
|
||||
r"^\s+(?P<name>\S+): (?P<old>\S+) -> (?P<new>\S+)(?: \[(?P<repo>[^\]]+)\])?"
|
||||
)
|
||||
|
||||
|
||||
def pkg_upgrades(text: str) -> list[dict[str, Any]]:
|
||||
"""FreeBSD ``pkg upgrade -n``: the packages it would upgrade, with their repository."""
|
||||
updates = []
|
||||
for line in text.splitlines():
|
||||
match = _PKG_UPGRADE.match(line)
|
||||
if match:
|
||||
updates.append(
|
||||
{
|
||||
"name": match["name"],
|
||||
"current_version": match["old"],
|
||||
"new_version": match["new"],
|
||||
"origin": match["repo"],
|
||||
}
|
||||
)
|
||||
return updates
|
||||
|
||||
|
||||
def pkg_audit(text: str) -> set[str]:
|
||||
"""FreeBSD ``pkg audit -q``: the names of the vulnerable packages (VuXML)."""
|
||||
names = set()
|
||||
for line in text.splitlines():
|
||||
line = line.strip()
|
||||
if line:
|
||||
names.add(line.rpartition("-")[0] or line)
|
||||
return names
|
||||
|
||||
|
||||
_CANDIDATE = re.compile(r"^Update candidates: (?P<old>\S+) -> (?P<new>\S+)$")
|
||||
|
||||
|
||||
def pkg_add_candidates(text: str) -> list[dict[str, Any]]:
|
||||
"""OpenBSD ``pkg_add -u -n -v``: the candidates whose version changes."""
|
||||
updates: list[dict[str, Any]] = []
|
||||
seen = set()
|
||||
for line in text.splitlines():
|
||||
match = _CANDIDATE.match(line.strip())
|
||||
if not match or match["old"] == match["new"] or match["old"] in seen:
|
||||
continue
|
||||
seen.add(match["old"])
|
||||
name, old = split_package(match["old"])
|
||||
_, new = split_package(match["new"])
|
||||
updates.append({"name": name, "current_version": old, "new_version": new})
|
||||
return updates
|
||||
|
||||
|
||||
def syspatch(text: str) -> list[str]:
|
||||
"""OpenBSD ``syspatch -c`` / ``-l``: one patch name per line."""
|
||||
return [line.strip() for line in text.splitlines() if re.match(r"^\d{3}_\S+$", line.strip())]
|
||||
|
||||
|
||||
_RUNNING = re.compile(r"is running as pid (\d+)")
|
||||
|
||||
|
||||
def service_status(text: str) -> list[dict[str, Any]]:
|
||||
"""FreeBSD: ``name<TAB>first line of 'service name status'`` per enabled service."""
|
||||
services = []
|
||||
for line in text.splitlines():
|
||||
name, _, status = line.partition("\t")
|
||||
if not name:
|
||||
continue
|
||||
running = _RUNNING.search(status)
|
||||
services.append(
|
||||
{
|
||||
"name": name,
|
||||
"running": bool(running),
|
||||
"enabled": True,
|
||||
"pid": int(running[1]) if running else 0,
|
||||
}
|
||||
)
|
||||
return services
|
||||
|
||||
|
||||
def rcctl_check(text: str) -> list[dict[str, Any]]:
|
||||
"""OpenBSD: ``name<TAB>1|0`` per enabled service, from ``rcctl check``."""
|
||||
services = []
|
||||
for line in text.splitlines():
|
||||
name, _, ok = line.partition("\t")
|
||||
if name:
|
||||
services.append({"name": name, "running": ok.strip() == "1", "enabled": True, "pid": 0})
|
||||
return services
|
||||
|
||||
+8
@@ -35,3 +35,11 @@ freebsd-update -h
|
||||
id
|
||||
sockstat -46lq -P tcp,udp
|
||||
sudo sockstat -46lq -P tcp,udp
|
||||
pkg version -vRL= (repo FreeBSD-ports -> latest)
|
||||
sudo pkg upgrade -n (repo -> latest)
|
||||
pkg query -e '%a = 0' '%n\t%v\t%R\t%sb\t%c'
|
||||
service -e; service -l | head -5
|
||||
pkg query '%n\t%v\t%R\t%sb\t%c'
|
||||
for s in $(service -e); do n=${s##*/}; printf "%s\t%s\n" "$n" "$(service $n status 2>&1 | head -1)"; done
|
||||
sudo pkg audit -Fq
|
||||
sudo for s in $(service -e); do n=${s##*/}; printf "%s\t%s\n" "$n" "$(service $n status 2>&1 | head -1)"; done
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
FreeBSD-set-base 15.1 FreeBSD-base 0 Base system (metapackage)
|
||||
FreeBSD-set-base-dbg 15.1 FreeBSD-base 0 Base system debug symbols (metapackage)
|
||||
FreeBSD-set-kernels 15.1 FreeBSD-base 0 Base system kernels (metapackage)
|
||||
FreeBSD-set-kernels-dbg 15.1 FreeBSD-base 0 Base system kernels debugging symbols (metapackage)
|
||||
FreeBSD-set-lib32 15.1 FreeBSD-base 0 32-bit compatibility libraries (metapackage)
|
||||
FreeBSD-set-lib32-dbg 15.1 FreeBSD-base 0 32-bit compatibility library debugging symbols (metapackage)
|
||||
FreeBSD-set-tests 15.1 FreeBSD-base 0 System test suite
|
||||
firstboot-pkg-upgrade 1.2 FreeBSD-ports 1757 Update the system using pkg when it first boots
|
||||
pkg 2.7.5 FreeBSD-ports 27719861 Package manager
|
||||
qemu-guest-agent 11.0.2 FreeBSD-ports 31962444 QEMU CPU Emulator (guest agent)
|
||||
sudo 1.9.17p2_2 FreeBSD-ports 8429090 Allow others to run commands as root
|
||||
+514
@@ -0,0 +1,514 @@
|
||||
FreeBSD-acct 15.1p4 FreeBSD-base 118976 System resource accounting
|
||||
FreeBSD-acct-dbg 15.1p4 FreeBSD-base 162712 System resource accounting (debugging symbols)
|
||||
FreeBSD-acpi 15.1 FreeBSD-base 2312577 Advanced Configuration and Power Interface (ACPI) utilities
|
||||
FreeBSD-acpi-dbg 15.1 FreeBSD-base 3022016 Advanced Configuration and Power Interface (ACPI) utilities (debugging symbols)
|
||||
FreeBSD-apm 15.1 FreeBSD-base 15685 Intel / Microsoft APM BIOS utility
|
||||
FreeBSD-apm-dbg 15.1 FreeBSD-base 13912 Intel / Microsoft APM BIOS utility (debugging symbols)
|
||||
FreeBSD-at 15.1 FreeBSD-base 50088 Scheduled and batch command utilities
|
||||
FreeBSD-at-dbg 15.1 FreeBSD-base 48776 Scheduled and batch command utilities (debugging symbols)
|
||||
FreeBSD-atf 15.1 FreeBSD-base 184430 Automated Testing Framework
|
||||
FreeBSD-atf-dbg 15.1 FreeBSD-base 1996064 Automated Testing Framework (debugging symbols)
|
||||
FreeBSD-atf-dev 15.1 FreeBSD-base 2034771 Automated Testing Framework (development files)
|
||||
FreeBSD-atf-lib 15.1 FreeBSD-base 208520 Automated Testing Framework (libraries)
|
||||
FreeBSD-audit 15.1p4 FreeBSD-base 265124 OpenBSM auditing utilities
|
||||
FreeBSD-audit-dbg 15.1p4 FreeBSD-base 532848 OpenBSM auditing utilities (debugging symbols)
|
||||
FreeBSD-audit-dbg-lib32 15.1 FreeBSD-base 231920 OpenBSM auditing utilities (32-bit debugging symbols)
|
||||
FreeBSD-audit-dev 15.1 FreeBSD-base 739988 OpenBSM auditing utilities (development files)
|
||||
FreeBSD-audit-dev-lib32 15.1 FreeBSD-base 315584 OpenBSM auditing utilities (32-bit development files)
|
||||
FreeBSD-audit-lib 15.1 FreeBSD-base 108992 OpenBSM auditing utilities (libraries)
|
||||
FreeBSD-audit-lib32 15.1 FreeBSD-base 115800 OpenBSM auditing utilities (32-bit libraries)
|
||||
FreeBSD-autofs 15.1p2 FreeBSD-base 71482 File system automounter
|
||||
FreeBSD-autofs-dbg 15.1p2 FreeBSD-base 60280 File system automounter (debugging symbols)
|
||||
FreeBSD-bhyve 15.1p4 FreeBSD-base 679492 bhyve virtual machine hypervisor
|
||||
FreeBSD-bhyve-dbg 15.1p4 FreeBSD-base 752856 bhyve virtual machine hypervisor (debugging symbols)
|
||||
FreeBSD-blocklist 15.1 FreeBSD-base 233452 Network blocklist daemon
|
||||
FreeBSD-blocklist-dbg 15.1 FreeBSD-base 266888 Network blocklist daemon (debugging symbols)
|
||||
FreeBSD-blocklist-dbg-lib32 15.1 FreeBSD-base 39864 Network blocklist daemon (32-bit debugging symbols)
|
||||
FreeBSD-blocklist-dev 15.1 FreeBSD-base 80665 Network blocklist daemon (development files)
|
||||
FreeBSD-blocklist-dev-lib32 15.1 FreeBSD-base 44646 Network blocklist daemon (32-bit development files)
|
||||
FreeBSD-blocklist-lib32 15.1 FreeBSD-base 19824 Network blocklist daemon (32-bit libraries)
|
||||
FreeBSD-bluetooth 15.1 FreeBSD-base 640827 Bluetooth support
|
||||
FreeBSD-bluetooth-dbg 15.1 FreeBSD-base 610992 Bluetooth support (debugging symbols)
|
||||
FreeBSD-bluetooth-dbg-lib32 15.1 FreeBSD-base 62392 Bluetooth support (32-bit debugging symbols)
|
||||
FreeBSD-bluetooth-dev 15.1 FreeBSD-base 164663 Bluetooth support (development files)
|
||||
FreeBSD-bluetooth-dev-lib32 15.1 FreeBSD-base 78122 Bluetooth support (32-bit development files)
|
||||
FreeBSD-bluetooth-lib 15.1 FreeBSD-base 39496 Bluetooth support (libraries)
|
||||
FreeBSD-bluetooth-lib32 15.1 FreeBSD-base 32192 Bluetooth support (32-bit libraries)
|
||||
FreeBSD-bmake 15.1 FreeBSD-base 667182 Program maintenance utility
|
||||
FreeBSD-bmake-dbg 15.1 FreeBSD-base 324496 Program maintenance utility (debugging symbols)
|
||||
FreeBSD-bootloader 15.1 FreeBSD-base 6813408 System boot loader
|
||||
FreeBSD-bootloader-dbg 15.1 FreeBSD-base 4374144 System boot loader (debugging symbols)
|
||||
FreeBSD-bootloader-dev 15.1 FreeBSD-base 7431 System boot loader (development files)
|
||||
FreeBSD-bsdconfig 15.1 FreeBSD-base 1178152 System configuration utility
|
||||
FreeBSD-bsdinstall 15.1 FreeBSD-base 300909 System installer
|
||||
FreeBSD-bsdinstall-dbg 15.1 FreeBSD-base 98112 System installer (debugging symbols)
|
||||
FreeBSD-bsnmp 15.1p1 FreeBSD-base 1905434 Simple and extensible SNMP daemon
|
||||
FreeBSD-bsnmp-dbg 15.1p1 FreeBSD-base 2122296 Simple and extensible SNMP daemon (debugging symbols)
|
||||
FreeBSD-bsnmp-dbg-lib32 15.1 FreeBSD-base 118132 Simple and extensible SNMP daemon (32-bit debugging symbols)
|
||||
FreeBSD-bsnmp-dev 15.1 FreeBSD-base 395170 Simple and extensible SNMP daemon (development files)
|
||||
FreeBSD-bsnmp-dev-lib32 15.1 FreeBSD-base 168235 Simple and extensible SNMP daemon (32-bit development files)
|
||||
FreeBSD-bsnmp-lib32 15.1 FreeBSD-base 71664 Simple and extensible SNMP daemon (32-bit libraries)
|
||||
FreeBSD-bzip2 15.1 FreeBSD-base 52032 A block-sorting data compressor
|
||||
FreeBSD-bzip2-dbg 15.1 FreeBSD-base 187488 A block-sorting data compressor (debugging symbols)
|
||||
FreeBSD-bzip2-dbg-lib32 15.1 FreeBSD-base 105796 A block-sorting data compressor (32-bit debugging symbols)
|
||||
FreeBSD-bzip2-dev 15.1 FreeBSD-base 214032 A block-sorting data compressor (development files)
|
||||
FreeBSD-bzip2-dev-lib32 15.1 FreeBSD-base 144480 A block-sorting data compressor (32-bit development files)
|
||||
FreeBSD-bzip2-lib 15.1 FreeBSD-base 82648 A block-sorting data compressor (libraries)
|
||||
FreeBSD-bzip2-lib32 15.1 FreeBSD-base 70976 A block-sorting data compressor (32-bit libraries)
|
||||
FreeBSD-caroot 15.1 FreeBSD-base 936376 Mozilla Root Store trusted TLS certificates
|
||||
FreeBSD-ccdconfig 15.1 FreeBSD-base 17180 Concatenated disk driver (ccd) configuration utility
|
||||
FreeBSD-ccdconfig-dbg 15.1 FreeBSD-base 14840 Concatenated disk driver (ccd) configuration utility (debugging symbols)
|
||||
FreeBSD-certctl 15.1 FreeBSD-base 27612 Tool for managing trusted and untrusted TLS certificates
|
||||
FreeBSD-certctl-dbg 15.1 FreeBSD-base 27832 Tool for managing trusted and untrusted TLS certificates (debugging symbols)
|
||||
FreeBSD-clang 15.1p2 FreeBSD-base 164289993 The Clang C, C++, and Objective-C compiler
|
||||
FreeBSD-clang-dbg 15.1p2 FreeBSD-base 438402744 The Clang C, C++, and Objective-C compiler (debugging symbols)
|
||||
FreeBSD-clang-dev 15.1p1 FreeBSD-base 73790614 The Clang C, C++, and Objective-C compiler (development files)
|
||||
FreeBSD-clibs 15.1p4 FreeBSD-base 3987631 Core runtime libraries
|
||||
FreeBSD-clibs-dbg 15.1p4 FreeBSD-base 16750984 Core runtime libraries (debugging symbols)
|
||||
FreeBSD-clibs-dbg-lib32 15.1p4 FreeBSD-base 13223536 Core runtime libraries (32-bit debugging symbols)
|
||||
FreeBSD-clibs-dev 15.1p4 FreeBSD-base 64062010 Core runtime libraries (development files)
|
||||
FreeBSD-clibs-dev-lib32 15.1p4 FreeBSD-base 27776056 Core runtime libraries (32-bit development files)
|
||||
FreeBSD-clibs-lib32 15.1p4 FreeBSD-base 3697906 Core runtime libraries (32-bit libraries)
|
||||
FreeBSD-console-tools 15.1p2 FreeBSD-base 278222 Video console utilities
|
||||
FreeBSD-console-tools-dbg 15.1p2 FreeBSD-base 196976 Video console utilities (debugging symbols)
|
||||
FreeBSD-cron 15.1 FreeBSD-base 95131 Command scheduling facility
|
||||
FreeBSD-cron-dbg 15.1 FreeBSD-base 97000 Command scheduling facility (debugging symbols)
|
||||
FreeBSD-csh 15.1 FreeBSD-base 921990 C shell with file name completion and command line editing
|
||||
FreeBSD-csh-dbg 15.1 FreeBSD-base 487000 C shell with file name completion and command line editing (debugging symbols)
|
||||
FreeBSD-ctf 15.1 FreeBSD-base 199436 Compact C Type Format (CTF)
|
||||
FreeBSD-ctf-dbg 15.1 FreeBSD-base 485992 Compact C Type Format (CTF) (debugging symbols)
|
||||
FreeBSD-ctf-dbg-lib32 15.1 FreeBSD-base 158968 Compact C Type Format (CTF) (32-bit debugging symbols)
|
||||
FreeBSD-ctf-dev 15.1 FreeBSD-base 339279 Compact C Type Format (CTF) (development files)
|
||||
FreeBSD-ctf-dev-lib32 15.1 FreeBSD-base 203151 Compact C Type Format (CTF) (32-bit development files)
|
||||
FreeBSD-ctf-lib 15.1 FreeBSD-base 67880 Compact C Type Format (CTF) (libraries)
|
||||
FreeBSD-ctf-lib32 15.1 FreeBSD-base 59904 Compact C Type Format (CTF) (32-bit libraries)
|
||||
FreeBSD-ctl 15.1p4 FreeBSD-base 474350 CAM Target Layer / iSCSI target daemon
|
||||
FreeBSD-ctl-dbg 15.1p4 FreeBSD-base 1714888 CAM Target Layer / iSCSI target daemon (debugging symbols)
|
||||
FreeBSD-cxgbe-tools 15.1 FreeBSD-base 6923427 Configuration utility for Chelsio cxbge(4) network interfaces
|
||||
FreeBSD-cxgbe-tools-dbg 15.1 FreeBSD-base 179768 Configuration utility for Chelsio cxbge(4) network interfaces (debugging symbols)
|
||||
FreeBSD-devd 15.1 FreeBSD-base 89174 Kernel event handling daemon
|
||||
FreeBSD-devd-dbg 15.1 FreeBSD-base 188160 Kernel event handling daemon (debugging symbols)
|
||||
FreeBSD-devmatch 15.1 FreeBSD-base 42868 Automatically load kernel drivers for attached hardware
|
||||
FreeBSD-devmatch-dbg 15.1 FreeBSD-base 52072 Automatically load kernel drivers for attached hardware (debugging symbols)
|
||||
FreeBSD-devmatch-dbg-lib32 15.1 FreeBSD-base 16536 Automatically load kernel drivers for attached hardware (32-bit debugging symbols)
|
||||
FreeBSD-devmatch-dev 15.1 FreeBSD-base 32391 Automatically load kernel drivers for attached hardware (development files)
|
||||
FreeBSD-devmatch-dev-lib32 15.1 FreeBSD-base 15641 Automatically load kernel drivers for attached hardware (32-bit development files)
|
||||
FreeBSD-devmatch-lib32 15.1 FreeBSD-base 8512 Automatically load kernel drivers for attached hardware (32-bit libraries)
|
||||
FreeBSD-dhclient 15.1p4 FreeBSD-base 154160 Dynamic Host Configuration Protocol (DHCP) client
|
||||
FreeBSD-dhclient-dbg 15.1p4 FreeBSD-base 109592 Dynamic Host Configuration Protocol (DHCP) client (debugging symbols)
|
||||
FreeBSD-diff3 15.1 FreeBSD-base 29549 GNU 3-way file comparison and merge utility
|
||||
FreeBSD-diff3-dbg 15.1 FreeBSD-base 35064 GNU 3-way file comparison and merge utility (debugging symbols)
|
||||
FreeBSD-dma 15.1p4 FreeBSD-base 82628 DragonFly Mail Agent
|
||||
FreeBSD-dma-dbg 15.1p4 FreeBSD-base 86936 DragonFly Mail Agent (debugging symbols)
|
||||
FreeBSD-dtrace 15.1 FreeBSD-base 977498 DTrace dynamic tracing framework
|
||||
FreeBSD-dtrace-dbg 15.1 FreeBSD-base 1906968 DTrace dynamic tracing framework (debugging symbols)
|
||||
FreeBSD-dtrace-dbg-lib32 15.1 FreeBSD-base 1445892 DTrace dynamic tracing framework (32-bit debugging symbols)
|
||||
FreeBSD-dtrace-dev 15.1 FreeBSD-base 3644945 DTrace dynamic tracing framework (development files)
|
||||
FreeBSD-dtrace-dev-lib32 15.1 FreeBSD-base 2137418 DTrace dynamic tracing framework (32-bit development files)
|
||||
FreeBSD-dtrace-lib32 15.1 FreeBSD-base 606808 DTrace dynamic tracing framework (32-bit libraries)
|
||||
FreeBSD-dwatch 15.1 FreeBSD-base 107846 Watch processes as they trigger a particular DTrace probe
|
||||
FreeBSD-ee 15.1 FreeBSD-base 167158 Easy Editor
|
||||
FreeBSD-ee-dbg 15.1 FreeBSD-base 81744 Easy Editor (debugging symbols)
|
||||
FreeBSD-efi-tools 15.1 FreeBSD-base 155307 Utilities for the Unified Extensible Firmware Interface (UEFI)
|
||||
FreeBSD-efi-tools-dbg 15.1 FreeBSD-base 293464 Utilities for the Unified Extensible Firmware Interface (UEFI) (debugging symbols)
|
||||
FreeBSD-efi-tools-dev 15.1 FreeBSD-base 317287 Utilities for the Unified Extensible Firmware Interface (UEFI) (development files)
|
||||
FreeBSD-examples 15.1 FreeBSD-base 555435 System interface examples
|
||||
FreeBSD-fd 15.1 FreeBSD-base 72329 Floppy disk utilities
|
||||
FreeBSD-fd-dbg 15.1 FreeBSD-base 61424 Floppy disk utilities (debugging symbols)
|
||||
FreeBSD-fetch 15.1 FreeBSD-base 112434 Retrieve a file from a remote URL
|
||||
FreeBSD-fetch-dbg 15.1 FreeBSD-base 207520 Retrieve a file from a remote URL (debugging symbols)
|
||||
FreeBSD-fetch-dbg-lib32 15.1 FreeBSD-base 132244 Retrieve a file from a remote URL (32-bit debugging symbols)
|
||||
FreeBSD-fetch-dev 15.1 FreeBSD-base 296303 Retrieve a file from a remote URL (development files)
|
||||
FreeBSD-fetch-dev-lib32 15.1 FreeBSD-base 175739 Retrieve a file from a remote URL (32-bit development files)
|
||||
FreeBSD-fetch-lib32 15.1 FreeBSD-base 70264 Retrieve a file from a remote URL (32-bit libraries)
|
||||
FreeBSD-firmware-iwm 15.1 FreeBSD-base 14493588 Firmware for iwm(4) Intel 802.11ac network interfaces
|
||||
FreeBSD-flua 15.1 FreeBSD-base 441149 Private Lua implementation
|
||||
FreeBSD-flua-dbg 15.1 FreeBSD-base 672552 Private Lua implementation (debugging symbols)
|
||||
FreeBSD-flua-dev 15.1 FreeBSD-base 4138 Private Lua implementation (development files)
|
||||
FreeBSD-ftp 15.1 FreeBSD-base 176150 File Transfer Protocol (FTP) client
|
||||
FreeBSD-ftp-dbg 15.1 FreeBSD-base 144392 File Transfer Protocol (FTP) client (debugging symbols)
|
||||
FreeBSD-fwget 15.1 FreeBSD-base 48026 Install firmware packages for the running system
|
||||
FreeBSD-games 15.1p4 FreeBSD-base 35736 Games
|
||||
FreeBSD-games-dbg 15.1p4 FreeBSD-base 33272 Games (debugging symbols)
|
||||
FreeBSD-geom 15.1 FreeBSD-base 526070 GEOM configuration utilities
|
||||
FreeBSD-geom-dbg 15.1 FreeBSD-base 726784 GEOM configuration utilities (debugging symbols)
|
||||
FreeBSD-geom-dbg-lib32 15.1 FreeBSD-base 521932 GEOM configuration utilities (32-bit debugging symbols)
|
||||
FreeBSD-geom-lib32 15.1 FreeBSD-base 317672 GEOM configuration utilities (32-bit libraries)
|
||||
FreeBSD-ggate 15.1 FreeBSD-base 71502 GEOM Gate client and server
|
||||
FreeBSD-ggate-dbg 15.1 FreeBSD-base 73336 GEOM Gate client and server (debugging symbols)
|
||||
FreeBSD-gssd 15.1 FreeBSD-base 42054 gssd(8) daemon for kernel GSS-API
|
||||
FreeBSD-gssd-dbg 15.1 FreeBSD-base 52632 gssd(8) daemon for kernel GSS-API (debugging symbols)
|
||||
FreeBSD-hast 15.1p4 FreeBSD-base 313689 Highly Available Storage daemon
|
||||
FreeBSD-hast-dbg 15.1p4 FreeBSD-base 302664 Highly Available Storage daemon (debugging symbols)
|
||||
FreeBSD-hostapd 15.1 FreeBSD-base 1176639 IEEE Std 802.11 Access Point authentication daemon
|
||||
FreeBSD-hostapd-dbg 15.1 FreeBSD-base 1844408 IEEE Std 802.11 Access Point authentication daemon (debugging symbols)
|
||||
FreeBSD-hyperv-tools 15.1 FreeBSD-base 44956 Microsoft Hyper-V utilities
|
||||
FreeBSD-hyperv-tools-dbg 15.1 FreeBSD-base 38928 Microsoft Hyper-V utilities (debugging symbols)
|
||||
FreeBSD-inetd 15.1 FreeBSD-base 65071 Internet super-server
|
||||
FreeBSD-inetd-dbg 15.1 FreeBSD-base 51584 Internet super-server (debugging symbols)
|
||||
FreeBSD-ipf 15.1 FreeBSD-base 1016982 IP Filter (ipf) packet filter management tools
|
||||
FreeBSD-ipf-dbg 15.1 FreeBSD-base 995496 IP Filter (ipf) packet filter management tools (debugging symbols)
|
||||
FreeBSD-ipfw 15.1 FreeBSD-base 261982 ipfw (IP firewall) management utilities
|
||||
FreeBSD-ipfw-dbg 15.1 FreeBSD-base 209272 ipfw (IP firewall) management utilities (debugging symbols)
|
||||
FreeBSD-iscsi 15.1p4 FreeBSD-base 105951 iSCSI initiator
|
||||
FreeBSD-iscsi-dbg 15.1p4 FreeBSD-base 111320 iSCSI initiator (debugging symbols)
|
||||
FreeBSD-jail 15.1p2 FreeBSD-base 137381 Jail management tools
|
||||
FreeBSD-jail-dbg 15.1p2 FreeBSD-base 115488 Jail management tools (debugging symbols)
|
||||
FreeBSD-kerberos 15.1 FreeBSD-base 467964 Kerberos client
|
||||
FreeBSD-kerberos-dbg 15.1 FreeBSD-base 6960496 Kerberos client (debugging symbols)
|
||||
FreeBSD-kerberos-dbg-lib32 15.1 FreeBSD-base 4939464 Kerberos client (32-bit debugging symbols)
|
||||
FreeBSD-kerberos-dev 15.1 FreeBSD-base 11169640 Kerberos client (development files)
|
||||
FreeBSD-kerberos-dev-lib32 15.1 FreeBSD-base 6564664 Kerberos client (32-bit development files)
|
||||
FreeBSD-kerberos-kdc 15.1 FreeBSD-base 1044038 Kerberos key distribution center
|
||||
FreeBSD-kerberos-kdc-dbg 15.1 FreeBSD-base 2364296 Kerberos key distribution center (debugging symbols)
|
||||
FreeBSD-kerberos-lib 15.1 FreeBSD-base 1987568 Kerberos client (libraries)
|
||||
FreeBSD-kerberos-lib32 15.1 FreeBSD-base 1813021 Kerberos client (32-bit libraries)
|
||||
FreeBSD-kernel-generic 15.1p4 FreeBSD-base 161420246 FreeBSD GENERIC Kernel
|
||||
FreeBSD-kernel-generic-dbg 15.1p4 FreeBSD-base 605419763 FreeBSD GENERIC Kernel -dbg (debugging symbols)
|
||||
FreeBSD-kernel-man 15.1p4 FreeBSD-base 2770335 Kernel manual pages
|
||||
FreeBSD-kyua 15.1 FreeBSD-base 1415388 Testing framework for infrastructure software
|
||||
FreeBSD-kyua-dbg 15.1 FreeBSD-base 7211888 Testing framework for infrastructure software (debugging symbols)
|
||||
FreeBSD-lib9p 15.1p2 FreeBSD-base 100928 9P network protocol library
|
||||
FreeBSD-lib9p-dbg 15.1p2 FreeBSD-base 296200 9P network protocol library (debugging symbols)
|
||||
FreeBSD-lib9p-dbg-lib32 15.1p2 FreeBSD-base 216936 9P network protocol library (32-bit debugging symbols)
|
||||
FreeBSD-lib9p-dev 15.1p2 FreeBSD-base 487581 9P network protocol library (development files)
|
||||
FreeBSD-lib9p-dev-lib32 15.1p2 FreeBSD-base 281388 9P network protocol library (32-bit development files)
|
||||
FreeBSD-lib9p-lib32 15.1p2 FreeBSD-base 85620 9P network protocol library (32-bit libraries)
|
||||
FreeBSD-libarchive 15.1 FreeBSD-base 908662 Library for reading and writing streaming archives
|
||||
FreeBSD-libarchive-dbg 15.1 FreeBSD-base 2756288 Library for reading and writing streaming archives (debugging symbols)
|
||||
FreeBSD-libarchive-dbg-lib32 15.1 FreeBSD-base 2114812 Library for reading and writing streaming archives (32-bit debugging symbols)
|
||||
FreeBSD-libarchive-dev 15.1 FreeBSD-base 4267893 Library for reading and writing streaming archives (development files)
|
||||
FreeBSD-libarchive-dev-lib32 15.1 FreeBSD-base 2701451 Library for reading and writing streaming archives (32-bit development files)
|
||||
FreeBSD-libarchive-lib32 15.1 FreeBSD-base 847384 Library for reading and writing streaming archives (32-bit libraries)
|
||||
FreeBSD-libbegemot 15.1 FreeBSD-base 11176 rpoll(3) interface for event-driven I/O
|
||||
FreeBSD-libbegemot-dbg 15.1 FreeBSD-base 20352 rpoll(3) interface for event-driven I/O (debugging symbols)
|
||||
FreeBSD-libbegemot-dbg-lib32 15.1 FreeBSD-base 16720 rpoll(3) interface for event-driven I/O (32-bit debugging symbols)
|
||||
FreeBSD-libbegemot-dev 15.1 FreeBSD-base 32469 rpoll(3) interface for event-driven I/O (development files)
|
||||
FreeBSD-libbegemot-dev-lib32 15.1 FreeBSD-base 17199 rpoll(3) interface for event-driven I/O (32-bit development files)
|
||||
FreeBSD-libbegemot-lib32 15.1 FreeBSD-base 9636 rpoll(3) interface for event-driven I/O (32-bit libraries)
|
||||
FreeBSD-libblocksruntime 15.1 FreeBSD-base 10912 LLVM BlocksRuntime library
|
||||
FreeBSD-libblocksruntime-dbg 15.1 FreeBSD-base 22440 LLVM BlocksRuntime library (debugging symbols)
|
||||
FreeBSD-libblocksruntime-dbg-lib32 15.1 FreeBSD-base 17244 LLVM BlocksRuntime library (32-bit debugging symbols)
|
||||
FreeBSD-libblocksruntime-dev 15.1 FreeBSD-base 37538 LLVM BlocksRuntime library (development files)
|
||||
FreeBSD-libblocksruntime-dev-lib32 15.1 FreeBSD-base 19079 LLVM BlocksRuntime library (32-bit development files)
|
||||
FreeBSD-libblocksruntime-lib32 15.1 FreeBSD-base 9136 LLVM BlocksRuntime library (32-bit libraries)
|
||||
FreeBSD-libbsdstat 15.1 FreeBSD-base 8304 Periodic statistics library
|
||||
FreeBSD-libbsdstat-dbg 15.1 FreeBSD-base 16688 Periodic statistics library (debugging symbols)
|
||||
FreeBSD-libbsdstat-dbg-lib32 15.1 FreeBSD-base 12400 Periodic statistics library (32-bit debugging symbols)
|
||||
FreeBSD-libbsdstat-dev 15.1 FreeBSD-base 22865 Periodic statistics library (development files)
|
||||
FreeBSD-libbsdstat-dev-lib32 15.1 FreeBSD-base 10860 Periodic statistics library (32-bit development files)
|
||||
FreeBSD-libbsdstat-lib32 15.1 FreeBSD-base 6656 Periodic statistics library (32-bit libraries)
|
||||
FreeBSD-libcasper 15.1p4 FreeBSD-base 145104 Casper library
|
||||
FreeBSD-libcasper-dbg 15.1p4 FreeBSD-base 318848 Casper library (debugging symbols)
|
||||
FreeBSD-libcasper-dbg-lib32 15.1p4 FreeBSD-base 217440 Casper library (32-bit debugging symbols)
|
||||
FreeBSD-libcasper-dev 15.1 FreeBSD-base 62447 Casper library (development files)
|
||||
FreeBSD-libcasper-dev-lib32 15.1 FreeBSD-base 147 Casper library (32-bit development files)
|
||||
FreeBSD-libcasper-lib32 15.1p4 FreeBSD-base 121336 Casper library (32-bit libraries)
|
||||
FreeBSD-libcompat-dev 15.1 FreeBSD-base 45054 Compatibility library (development files)
|
||||
FreeBSD-libcompat-dev-lib32 15.1 FreeBSD-base 26092 Compatibility library (32-bit development files)
|
||||
FreeBSD-libcompiler_rt-dev 15.1 FreeBSD-base 804538 LLVM compiler_rt library (development files)
|
||||
FreeBSD-libcompiler_rt-dev-lib32 15.1 FreeBSD-base 362204 LLVM compiler_rt library (32-bit development files)
|
||||
FreeBSD-libcuse 15.1 FreeBSD-base 14128 Userland character device library
|
||||
FreeBSD-libcuse-dbg 15.1 FreeBSD-base 26816 Userland character device library (debugging symbols)
|
||||
FreeBSD-libcuse-dbg-lib32 15.1 FreeBSD-base 19136 Userland character device library (32-bit debugging symbols)
|
||||
FreeBSD-libcuse-dev 15.1 FreeBSD-base 41992 Userland character device library (development files)
|
||||
FreeBSD-libcuse-dev-lib32 15.1 FreeBSD-base 20738 Userland character device library (32-bit development files)
|
||||
FreeBSD-libcuse-lib32 15.1 FreeBSD-base 11660 Userland character device library (32-bit libraries)
|
||||
FreeBSD-libdwarf 15.1 FreeBSD-base 199416 DWARF access library
|
||||
FreeBSD-libdwarf-dbg 15.1 FreeBSD-base 979800 DWARF access library (debugging symbols)
|
||||
FreeBSD-libdwarf-dbg-lib32 15.1 FreeBSD-base 759884 DWARF access library (32-bit debugging symbols)
|
||||
FreeBSD-libdwarf-dev 15.1 FreeBSD-base 2270941 DWARF access library (development files)
|
||||
FreeBSD-libdwarf-dev-lib32 15.1 FreeBSD-base 1190869 DWARF access library (32-bit development files)
|
||||
FreeBSD-libdwarf-lib32 15.1 FreeBSD-base 191568 DWARF access library (32-bit libraries)
|
||||
FreeBSD-libevent1 15.1p2 FreeBSD-base 41832 Private libevent1 library
|
||||
FreeBSD-libevent1-dbg 15.1p2 FreeBSD-base 104728 Private libevent1 library (debugging symbols)
|
||||
FreeBSD-libevent1-dbg-lib32 15.1p2 FreeBSD-base 76516 Private libevent1 library (32-bit debugging symbols)
|
||||
FreeBSD-libevent1-dev 15.1p2 FreeBSD-base 171289 Private libevent1 library (development files)
|
||||
FreeBSD-libevent1-dev-lib32 15.1p2 FreeBSD-base 100995 Private libevent1 library (32-bit development files)
|
||||
FreeBSD-libevent1-lib32 15.1p2 FreeBSD-base 36444 Private libevent1 library (32-bit libraries)
|
||||
FreeBSD-libexecinfo 15.1 FreeBSD-base 11680 NetBSD stack backtrace library
|
||||
FreeBSD-libexecinfo-dbg 15.1 FreeBSD-base 26888 NetBSD stack backtrace library (debugging symbols)
|
||||
FreeBSD-libexecinfo-dbg-lib32 15.1 FreeBSD-base 20988 NetBSD stack backtrace library (32-bit debugging symbols)
|
||||
FreeBSD-libexecinfo-dev 15.1 FreeBSD-base 40128 NetBSD stack backtrace library (development files)
|
||||
FreeBSD-libexecinfo-dev-lib32 15.1 FreeBSD-base 22402 NetBSD stack backtrace library (32-bit development files)
|
||||
FreeBSD-libexecinfo-lib32 15.1 FreeBSD-base 9304 NetBSD stack backtrace library (32-bit libraries)
|
||||
FreeBSD-libipt 15.1 FreeBSD-base 134944 Intel(R) Processor Trace decoder library
|
||||
FreeBSD-libipt-dbg 15.1 FreeBSD-base 404552 Intel(R) Processor Trace decoder library (debugging symbols)
|
||||
FreeBSD-libipt-dev 15.1 FreeBSD-base 762515 Intel(R) Processor Trace decoder library (development files)
|
||||
FreeBSD-libldns 15.1 FreeBSD-base 439200 Private LDNS library
|
||||
FreeBSD-libldns-dbg 15.1 FreeBSD-base 1188568 Private LDNS library (debugging symbols)
|
||||
FreeBSD-libldns-dbg-lib32 15.1 FreeBSD-base 835244 Private LDNS library (32-bit debugging symbols)
|
||||
FreeBSD-libldns-dev 15.1 FreeBSD-base 1978245 Private LDNS library (development files)
|
||||
FreeBSD-libldns-dev-lib32 15.1 FreeBSD-base 1195745 Private LDNS library (32-bit development files)
|
||||
FreeBSD-libldns-lib32 15.1 FreeBSD-base 392184 Private LDNS library (32-bit libraries)
|
||||
FreeBSD-libmagic 15.1 FreeBSD-base 12352849 Magic number recognition library
|
||||
FreeBSD-libmagic-dbg 15.1 FreeBSD-base 463624 Magic number recognition library (debugging symbols)
|
||||
FreeBSD-libmagic-dbg-lib32 15.1 FreeBSD-base 342316 Magic number recognition library (32-bit debugging symbols)
|
||||
FreeBSD-libmagic-dev 15.1 FreeBSD-base 787744 Magic number recognition library (development files)
|
||||
FreeBSD-libmagic-dev-lib32 15.1 FreeBSD-base 489962 Magic number recognition library (32-bit development files)
|
||||
FreeBSD-libmagic-lib32 15.1 FreeBSD-base 154988 Magic number recognition library (32-bit libraries)
|
||||
FreeBSD-libmilter 15.1 FreeBSD-base 56544 sendmail Mail Filter API library
|
||||
FreeBSD-libmilter-dbg 15.1 FreeBSD-base 130192 sendmail Mail Filter API library (debugging symbols)
|
||||
FreeBSD-libmilter-dbg-lib32 15.1 FreeBSD-base 100652 sendmail Mail Filter API library (32-bit debugging symbols)
|
||||
FreeBSD-libmilter-dev 15.1 FreeBSD-base 245019 sendmail Mail Filter API library (development files)
|
||||
FreeBSD-libmilter-dev-lib32 15.1 FreeBSD-base 139268 sendmail Mail Filter API library (32-bit development files)
|
||||
FreeBSD-libmilter-lib32 15.1 FreeBSD-base 49512 sendmail Mail Filter API library (32-bit libraries)
|
||||
FreeBSD-libpathconv 15.1 FreeBSD-base 5640 Library for handling relative and absolute pathnames
|
||||
FreeBSD-libpathconv-dbg 15.1 FreeBSD-base 12080 Library for handling relative and absolute pathnames (debugging symbols)
|
||||
FreeBSD-libpathconv-dbg-lib32 15.1 FreeBSD-base 8968 Library for handling relative and absolute pathnames (32-bit debugging symbols)
|
||||
FreeBSD-libpathconv-dev 15.1 FreeBSD-base 15449 Library for handling relative and absolute pathnames (development files)
|
||||
FreeBSD-libpathconv-dev-lib32 15.1 FreeBSD-base 7264 Library for handling relative and absolute pathnames (32-bit development files)
|
||||
FreeBSD-libpathconv-lib32 15.1 FreeBSD-base 4268 Library for handling relative and absolute pathnames (32-bit libraries)
|
||||
FreeBSD-librpcsec_gss 15.1 FreeBSD-base 29800 RPCSEC_GSS library
|
||||
FreeBSD-librpcsec_gss-dbg 15.1 FreeBSD-base 78024 RPCSEC_GSS library (debugging symbols)
|
||||
FreeBSD-librpcsec_gss-dbg-lib32 15.1 FreeBSD-base 58548 RPCSEC_GSS library (32-bit debugging symbols)
|
||||
FreeBSD-librpcsec_gss-dev 15.1 FreeBSD-base 147868 RPCSEC_GSS library (development files)
|
||||
FreeBSD-librpcsec_gss-dev-lib32 15.1 FreeBSD-base 77350 RPCSEC_GSS library (32-bit development files)
|
||||
FreeBSD-librpcsec_gss-lib32 15.1 FreeBSD-base 25840 RPCSEC_GSS library (32-bit libraries)
|
||||
FreeBSD-librss 15.1 FreeBSD-base 7808 Receive-side scaling library
|
||||
FreeBSD-librss-dbg 15.1 FreeBSD-base 15184 Receive-side scaling library (debugging symbols)
|
||||
FreeBSD-librss-dbg-lib32 15.1 FreeBSD-base 11840 Receive-side scaling library (32-bit debugging symbols)
|
||||
FreeBSD-librss-dev 15.1 FreeBSD-base 17866 Receive-side scaling library (development files)
|
||||
FreeBSD-librss-dev-lib32 15.1 FreeBSD-base 9677 Receive-side scaling library (32-bit development files)
|
||||
FreeBSD-librss-lib32 15.1 FreeBSD-base 6316 Receive-side scaling library (32-bit libraries)
|
||||
FreeBSD-libsqlite3 15.1 FreeBSD-base 1220296 Private SQLite library
|
||||
FreeBSD-libsqlite3-dbg 15.1 FreeBSD-base 4294160 Private SQLite library (debugging symbols)
|
||||
FreeBSD-libsqlite3-dbg-lib32 15.1 FreeBSD-base 3224812 Private SQLite library (32-bit debugging symbols)
|
||||
FreeBSD-libsqlite3-dev 15.1 FreeBSD-base 5355591 Private SQLite library (development files)
|
||||
FreeBSD-libsqlite3-dev-lib32 15.1 FreeBSD-base 3180730 Private SQLite library (32-bit development files)
|
||||
FreeBSD-libsqlite3-lib32 15.1 FreeBSD-base 1161800 Private SQLite library (32-bit libraries)
|
||||
FreeBSD-libthread_db 15.1 FreeBSD-base 32032 Library for interacting with threaded processes
|
||||
FreeBSD-libthread_db-dbg 15.1 FreeBSD-base 82528 Library for interacting with threaded processes (debugging symbols)
|
||||
FreeBSD-libthread_db-dbg-lib32 15.1 FreeBSD-base 64400 Library for interacting with threaded processes (32-bit debugging symbols)
|
||||
FreeBSD-libthread_db-dev 15.1 FreeBSD-base 152643 Library for interacting with threaded processes (development files)
|
||||
FreeBSD-libthread_db-dev-lib32 15.1 FreeBSD-base 90509 Library for interacting with threaded processes (32-bit development files)
|
||||
FreeBSD-libthread_db-lib32 15.1 FreeBSD-base 32452 Library for interacting with threaded processes (32-bit libraries)
|
||||
FreeBSD-libucl 15.1 FreeBSD-base 145640 Private Universal Configuration Library (UCL) library
|
||||
FreeBSD-libucl-dbg 15.1 FreeBSD-base 428672 Private Universal Configuration Library (UCL) library (debugging symbols)
|
||||
FreeBSD-libucl-dbg-lib32 15.1 FreeBSD-base 300824 Private Universal Configuration Library (UCL) library (32-bit debugging symbols)
|
||||
FreeBSD-libucl-dev 15.1 FreeBSD-base 649386 Private Universal Configuration Library (UCL) library (development files)
|
||||
FreeBSD-libucl-dev-lib32 15.1 FreeBSD-base 368030 Private Universal Configuration Library (UCL) library (32-bit development files)
|
||||
FreeBSD-libucl-lib32 15.1 FreeBSD-base 137032 Private Universal Configuration Library (UCL) library (32-bit libraries)
|
||||
FreeBSD-libvgl 15.1 FreeBSD-base 41472 Video Graphics Library
|
||||
FreeBSD-libvgl-dbg 15.1 FreeBSD-base 97088 Video Graphics Library (debugging symbols)
|
||||
FreeBSD-libvgl-dbg-lib32 15.1 FreeBSD-base 64568 Video Graphics Library (32-bit debugging symbols)
|
||||
FreeBSD-libvgl-dev 15.1 FreeBSD-base 150595 Video Graphics Library (development files)
|
||||
FreeBSD-libvgl-dev-lib32 15.1 FreeBSD-base 87823 Video Graphics Library (32-bit development files)
|
||||
FreeBSD-libvgl-lib32 15.1 FreeBSD-base 36128 Video Graphics Library (32-bit libraries)
|
||||
FreeBSD-libvmmapi 15.1p4 FreeBSD-base 34824 Front-end library for the vmm(4) virtualization driver
|
||||
FreeBSD-libvmmapi-dbg 15.1p4 FreeBSD-base 100456 Front-end library for the vmm(4) virtualization driver (debugging symbols)
|
||||
FreeBSD-libvmmapi-dev 15.1p4 FreeBSD-base 154799 Front-end library for the vmm(4) virtualization driver (development files)
|
||||
FreeBSD-libyaml 15.1 FreeBSD-base 123288 Private YAML library
|
||||
FreeBSD-libyaml-dbg 15.1 FreeBSD-base 254136 Private YAML library (debugging symbols)
|
||||
FreeBSD-libyaml-dbg-lib32 15.1 FreeBSD-base 200208 Private YAML library (32-bit debugging symbols)
|
||||
FreeBSD-libyaml-dev 15.1 FreeBSD-base 499914 Private YAML library (development files)
|
||||
FreeBSD-libyaml-dev-lib32 15.1 FreeBSD-base 288487 Private YAML library (32-bit development files)
|
||||
FreeBSD-libyaml-lib32 15.1 FreeBSD-base 114420 Private YAML library (32-bit libraries)
|
||||
FreeBSD-lld 15.1 FreeBSD-base 2770779 LLVM ELF link loader
|
||||
FreeBSD-lld-dbg 15.1 FreeBSD-base 9566744 LLVM ELF link loader (debugging symbols)
|
||||
FreeBSD-lldb 15.1 FreeBSD-base 695521 LLVM debugger
|
||||
FreeBSD-lldb-dbg 15.1 FreeBSD-base 2437392 LLVM debugger (debugging symbols)
|
||||
FreeBSD-local-unbound 15.1 FreeBSD-base 1800537 NLnet Labs Unbound DNS resolver
|
||||
FreeBSD-local-unbound-dbg 15.1 FreeBSD-base 3922760 NLnet Labs Unbound DNS resolver (debugging symbols)
|
||||
FreeBSD-local-unbound-dbg-lib32 15.1 FreeBSD-base 2509340 NLnet Labs Unbound DNS resolver (32-bit debugging symbols)
|
||||
FreeBSD-local-unbound-dev 15.1 FreeBSD-base 6161404 NLnet Labs Unbound DNS resolver (development files)
|
||||
FreeBSD-local-unbound-dev-lib32 15.1 FreeBSD-base 3808328 NLnet Labs Unbound DNS resolver (32-bit development files)
|
||||
FreeBSD-local-unbound-lib32 15.1 FreeBSD-base 1234800 NLnet Labs Unbound DNS resolver (32-bit libraries)
|
||||
FreeBSD-locales 15.1 FreeBSD-base 25618978 Locale definitions
|
||||
FreeBSD-lp 15.1 FreeBSD-base 377434 Print spooler
|
||||
FreeBSD-lp-dbg 15.1 FreeBSD-base 386008 Print spooler (debugging symbols)
|
||||
FreeBSD-mandoc 15.1 FreeBSD-base 653330 Online manual page reader
|
||||
FreeBSD-mandoc-dbg 15.1 FreeBSD-base 538632 Online manual page reader (debugging symbols)
|
||||
FreeBSD-mlx-tools 15.1 FreeBSD-base 13019 Utility for managing Connect-X 4/5/6 Mellanox network adapters
|
||||
FreeBSD-mlx-tools-dbg 15.1 FreeBSD-base 13928 Utility for managing Connect-X 4/5/6 Mellanox network adapters (debugging symbols)
|
||||
FreeBSD-mtree 15.1p2 FreeBSD-base 134952 Filesystem hierarchy management tool
|
||||
FreeBSD-mtree-dbg 15.1 FreeBSD-base 68184 Filesystem hierarchy management tool (debugging symbols)
|
||||
FreeBSD-natd 15.1p1 FreeBSD-base 154058 Userland Network Address Translation (NAT) for ipfw
|
||||
FreeBSD-natd-dbg 15.1p1 FreeBSD-base 343360 Userland Network Address Translation (NAT) for ipfw (debugging symbols)
|
||||
FreeBSD-natd-dbg-lib32 15.1p1 FreeBSD-base 238308 Userland Network Address Translation (NAT) for ipfw (32-bit debugging symbols)
|
||||
FreeBSD-natd-dev 15.1p1 FreeBSD-base 391651 Userland Network Address Translation (NAT) for ipfw (development files)
|
||||
FreeBSD-natd-dev-lib32 15.1p1 FreeBSD-base 232239 Userland Network Address Translation (NAT) for ipfw (32-bit development files)
|
||||
FreeBSD-natd-lib32 15.1p1 FreeBSD-base 93320 Userland Network Address Translation (NAT) for ipfw (32-bit libraries)
|
||||
FreeBSD-ncurses 15.1 FreeBSD-base 368979 ncurses terminal control library
|
||||
FreeBSD-ncurses-dbg 15.1 FreeBSD-base 2375864 ncurses terminal control library (debugging symbols)
|
||||
FreeBSD-ncurses-dbg-lib32 15.1 FreeBSD-base 1783380 ncurses terminal control library (32-bit debugging symbols)
|
||||
FreeBSD-ncurses-dev 15.1 FreeBSD-base 4820800 ncurses terminal control library (development files)
|
||||
FreeBSD-ncurses-dev-lib32 15.1 FreeBSD-base 2683302 ncurses terminal control library (32-bit development files)
|
||||
FreeBSD-ncurses-lib 15.1 FreeBSD-base 601624 ncurses terminal control library (libraries)
|
||||
FreeBSD-ncurses-lib32 15.1 FreeBSD-base 533716 ncurses terminal control library (32-bit libraries)
|
||||
FreeBSD-netmap 15.1 FreeBSD-base 43765 Userland netmap support
|
||||
FreeBSD-netmap-dbg 15.1 FreeBSD-base 78576 Userland netmap support (debugging symbols)
|
||||
FreeBSD-netmap-dbg-lib32 15.1 FreeBSD-base 49580 Userland netmap support (32-bit debugging symbols)
|
||||
FreeBSD-netmap-dev 15.1 FreeBSD-base 129541 Userland netmap support (development files)
|
||||
FreeBSD-netmap-dev-lib32 15.1 FreeBSD-base 63324 Userland netmap support (32-bit development files)
|
||||
FreeBSD-netmap-lib32 15.1 FreeBSD-base 25152 Userland netmap support (32-bit libraries)
|
||||
FreeBSD-newsyslog 15.1 FreeBSD-base 58839 Create and rotate system log files
|
||||
FreeBSD-newsyslog-dbg 15.1 FreeBSD-base 49232 Create and rotate system log files (debugging symbols)
|
||||
FreeBSD-nfs 15.1 FreeBSD-base 405765 NFS client and server utilities
|
||||
FreeBSD-nfs-dbg 15.1 FreeBSD-base 381040 NFS client and server utilities (debugging symbols)
|
||||
FreeBSD-ntp 15.1p2 FreeBSD-base 4761154 Network Time Protocol (NTP) daemon
|
||||
FreeBSD-ntp-dbg 15.1p2 FreeBSD-base 2728656 Network Time Protocol (NTP) daemon (debugging symbols)
|
||||
FreeBSD-nuageinit 15.1 FreeBSD-base 44831 cloud-init configuration support
|
||||
FreeBSD-nvme-tools 15.1 FreeBSD-base 235090 NVMe utilities
|
||||
FreeBSD-nvme-tools-dbg 15.1 FreeBSD-base 283848 NVMe utilities (debugging symbols)
|
||||
FreeBSD-openssl 15.1 FreeBSD-base 1387605 OpenSSL Transport Layer Security (TLS) library
|
||||
FreeBSD-openssl-dbg 15.1p4 FreeBSD-base 18825800 OpenSSL Transport Layer Security (TLS) library (debugging symbols)
|
||||
FreeBSD-openssl-dbg-lib32 15.1p4 FreeBSD-base 12281700 OpenSSL Transport Layer Security (TLS) library (32-bit debugging symbols)
|
||||
FreeBSD-openssl-dev 15.1p4 FreeBSD-base 36308608 OpenSSL Transport Layer Security (TLS) library (development files)
|
||||
FreeBSD-openssl-dev-lib32 15.1p4 FreeBSD-base 18573861 OpenSSL Transport Layer Security (TLS) library (32-bit development files)
|
||||
FreeBSD-openssl-lib 15.1p4 FreeBSD-base 7604712 OpenSSL Transport Layer Security (TLS) library (libraries)
|
||||
FreeBSD-openssl-lib32 15.1p4 FreeBSD-base 5573012 OpenSSL Transport Layer Security (TLS) library (32-bit libraries)
|
||||
FreeBSD-pam 15.1 FreeBSD-base 237985 Modular user authentication facility
|
||||
FreeBSD-pam-dbg 15.1 FreeBSD-base 513224 Modular user authentication facility (debugging symbols)
|
||||
FreeBSD-pam-dbg-lib32 15.1 FreeBSD-base 407092 Modular user authentication facility (32-bit debugging symbols)
|
||||
FreeBSD-pam-dev 15.1 FreeBSD-base 1285994 Modular user authentication facility (development files)
|
||||
FreeBSD-pam-dev-lib32 15.1 FreeBSD-base 770139 Modular user authentication facility (32-bit development files)
|
||||
FreeBSD-pam-lib 15.1 FreeBSD-base 52616 Modular user authentication facility (libraries)
|
||||
FreeBSD-pam-lib32 15.1 FreeBSD-base 198573 Modular user authentication facility (32-bit libraries)
|
||||
FreeBSD-periodic 15.1 FreeBSD-base 63345 Run periodic system functions
|
||||
FreeBSD-pf 15.1 FreeBSD-base 918137 OpenBSD packet filter
|
||||
FreeBSD-pf-dbg 15.1 FreeBSD-base 911440 OpenBSD packet filter (debugging symbols)
|
||||
FreeBSD-pf-dev 15.1 FreeBSD-base 45301 OpenBSD packet filter (development files)
|
||||
FreeBSD-pkg-bootstrap 15.1 FreeBSD-base 593177 pkg(7) bootstrap utility
|
||||
FreeBSD-pkg-bootstrap-dbg 15.1 FreeBSD-base 465128 pkg(7) bootstrap utility (debugging symbols)
|
||||
FreeBSD-pmc 15.1p2 FreeBSD-base 8045457 Support for hardware performance counters
|
||||
FreeBSD-pmc-dbg 15.1p2 FreeBSD-base 1470440 Support for hardware performance counters (debugging symbols)
|
||||
FreeBSD-pmc-dbg-lib32 15.1 FreeBSD-base 790492 Support for hardware performance counters (32-bit debugging symbols)
|
||||
FreeBSD-pmc-dev 15.1 FreeBSD-base 9311647 Support for hardware performance counters (development files)
|
||||
FreeBSD-pmc-dev-lib32 15.1 FreeBSD-base 5320805 Support for hardware performance counters (32-bit development files)
|
||||
FreeBSD-pmc-lib32 15.1 FreeBSD-base 4635992 Support for hardware performance counters (32-bit libraries)
|
||||
FreeBSD-powerd 15.1 FreeBSD-base 23823 System power control utility
|
||||
FreeBSD-powerd-dbg 15.1 FreeBSD-base 26488 System power control utility (debugging symbols)
|
||||
FreeBSD-ppp 15.1p3 FreeBSD-base 593348 Point-to-Point Protocol (PPP) utilities
|
||||
FreeBSD-ppp-dbg 15.1p3 FreeBSD-base 712992 Point-to-Point Protocol (PPP) utilities (debugging symbols)
|
||||
FreeBSD-quotacheck 15.1 FreeBSD-base 25983 Filesystem quota consistency checker
|
||||
FreeBSD-quotacheck-dbg 15.1 FreeBSD-base 30528 Filesystem quota consistency checker (debugging symbols)
|
||||
FreeBSD-rc 15.1 FreeBSD-base 413554 rc(8) subsystem
|
||||
FreeBSD-rc-dbg 15.1 FreeBSD-base 21144 rc(8) subsystem (debugging symbols)
|
||||
FreeBSD-rcmds 15.1p4 FreeBSD-base 111125 BSD/SunOS remote status commands
|
||||
FreeBSD-rcmds-dbg 15.1p4 FreeBSD-base 130968 BSD/SunOS remote status commands (debugging symbols)
|
||||
FreeBSD-rdma 15.1 FreeBSD-base 211344 Remote Direct Memory Access (RDMA) and InfiniBand utilities
|
||||
FreeBSD-rdma-dbg 15.1 FreeBSD-base 296640 Remote Direct Memory Access (RDMA) and InfiniBand utilities (debugging symbols)
|
||||
FreeBSD-rescue 15.1p4 FreeBSD-base 20063693 Rescue system
|
||||
FreeBSD-resolvconf 15.1 FreeBSD-base 57726 A framework for managing multiple DNS configurations
|
||||
FreeBSD-rip 15.1 FreeBSD-base 192814 RIP routing protocol
|
||||
FreeBSD-rip-dbg 15.1 FreeBSD-base 193848 RIP routing protocol (debugging symbols)
|
||||
FreeBSD-runtime 15.1p4 FreeBSD-base 8493462 Core system
|
||||
FreeBSD-runtime-dbg 15.1p4 FreeBSD-base 9881640 Core system (debugging symbols)
|
||||
FreeBSD-runtime-dbg-lib32 15.1p4 FreeBSD-base 3325528 Core system (32-bit debugging symbols)
|
||||
FreeBSD-runtime-dev 15.1p4 FreeBSD-base 7485714 Core system (development files)
|
||||
FreeBSD-runtime-dev-lib32 15.1p4 FreeBSD-base 4410588 Core system (32-bit development files)
|
||||
FreeBSD-runtime-lib32 15.1p4 FreeBSD-base 1439636 Core system (32-bit libraries)
|
||||
FreeBSD-sendmail 15.1 FreeBSD-base 1861874 sendmail mail transport agent
|
||||
FreeBSD-sendmail-dbg 15.1 FreeBSD-base 1091040 sendmail mail transport agent (debugging symbols)
|
||||
FreeBSD-set-base 15.1 FreeBSD-base 0 Base system (metapackage)
|
||||
FreeBSD-set-base-dbg 15.1 FreeBSD-base 0 Base system debug symbols (metapackage)
|
||||
FreeBSD-set-devel 15.1 FreeBSD-base 0 Development tools (metapackage)
|
||||
FreeBSD-set-devel-dbg 15.1 FreeBSD-base 0 Development tools debugging symbols (metapackage)
|
||||
FreeBSD-set-kernels 15.1 FreeBSD-base 0 Base system kernels (metapackage)
|
||||
FreeBSD-set-kernels-dbg 15.1 FreeBSD-base 0 Base system kernels debugging symbols (metapackage)
|
||||
FreeBSD-set-lib32 15.1 FreeBSD-base 0 32-bit compatibility libraries (metapackage)
|
||||
FreeBSD-set-lib32-dbg 15.1 FreeBSD-base 0 32-bit compatibility library debugging symbols (metapackage)
|
||||
FreeBSD-set-minimal 15.1 FreeBSD-base 0 Basic multi-user system (metapackage)
|
||||
FreeBSD-set-minimal-dbg 15.1 FreeBSD-base 0 Basic multi-user system debugging symbols (metapackage)
|
||||
FreeBSD-set-optional 15.1 FreeBSD-base 0 Optional base system software (metapackage)
|
||||
FreeBSD-set-optional-dbg 15.1 FreeBSD-base 0 Optional software debug symbols (metapackage)
|
||||
FreeBSD-set-tests 15.1 FreeBSD-base 0 System test suite
|
||||
FreeBSD-smbutils 15.1 FreeBSD-base 101756 SMB network filesystem utilities
|
||||
FreeBSD-smbutils-dbg 15.1 FreeBSD-base 196392 SMB network filesystem utilities (debugging symbols)
|
||||
FreeBSD-smbutils-dbg-lib32 15.1 FreeBSD-base 114988 SMB network filesystem utilities (32-bit debugging symbols)
|
||||
FreeBSD-smbutils-dev 15.1 FreeBSD-base 255717 SMB network filesystem utilities (development files)
|
||||
FreeBSD-smbutils-dev-lib32 15.1 FreeBSD-base 157785 SMB network filesystem utilities (32-bit development files)
|
||||
FreeBSD-smbutils-lib32 15.1 FreeBSD-base 50288 SMB network filesystem utilities (32-bit libraries)
|
||||
FreeBSD-sound 15.1p4 FreeBSD-base 1698798 Audio utilities
|
||||
FreeBSD-sound-dbg 15.1p4 FreeBSD-base 277392 Audio utilities (debugging symbols)
|
||||
FreeBSD-sound-dbg-lib32 15.1 FreeBSD-base 82220 Audio utilities (32-bit debugging symbols)
|
||||
FreeBSD-sound-dev 15.1 FreeBSD-base 1606462 Audio utilities (development files)
|
||||
FreeBSD-sound-dev-lib32 15.1 FreeBSD-base 1539334 Audio utilities (32-bit development files)
|
||||
FreeBSD-sound-lib32 15.1 FreeBSD-base 1504444 Audio utilities (32-bit libraries)
|
||||
FreeBSD-ssh 15.1p4 FreeBSD-base 3786753 OpenSSH Secure Shell client and server
|
||||
FreeBSD-ssh-dbg 15.1p4 FreeBSD-base 4442032 OpenSSH Secure Shell client and server (debugging symbols)
|
||||
FreeBSD-ssh-dbg-lib32 15.1 FreeBSD-base 1812424 OpenSSH Secure Shell client and server (32-bit debugging symbols)
|
||||
FreeBSD-ssh-dev 15.1 FreeBSD-base 4234357 OpenSSH Secure Shell client and server (development files)
|
||||
FreeBSD-ssh-dev-lib32 15.1 FreeBSD-base 2701937 OpenSSH Secure Shell client and server (32-bit development files)
|
||||
FreeBSD-ssh-lib32 15.1 FreeBSD-base 1033200 OpenSSH Secure Shell client and server (32-bit libraries)
|
||||
FreeBSD-syscons-data 15.1 FreeBSD-base 1385261 syscons(4) fonts and keymaps
|
||||
FreeBSD-syslogd 15.1p4 FreeBSD-base 84366 System logging daemon
|
||||
FreeBSD-syslogd-dbg 15.1p4 FreeBSD-base 74728 System logging daemon (debugging symbols)
|
||||
FreeBSD-tcpd 15.1 FreeBSD-base 103097 TCP Wrappers access control facility
|
||||
FreeBSD-tcpd-dbg 15.1 FreeBSD-base 140552 TCP Wrappers access control facility (debugging symbols)
|
||||
FreeBSD-tcpd-dbg-lib32 15.1 FreeBSD-base 68224 TCP Wrappers access control facility (32-bit debugging symbols)
|
||||
FreeBSD-tcpd-dev 15.1 FreeBSD-base 187627 TCP Wrappers access control facility (development files)
|
||||
FreeBSD-tcpd-dev-lib32 15.1 FreeBSD-base 111780 TCP Wrappers access control facility (32-bit development files)
|
||||
FreeBSD-tcpd-lib32 15.1 FreeBSD-base 31392 TCP Wrappers access control facility (32-bit libraries)
|
||||
FreeBSD-telnet 15.1 FreeBSD-base 160218 TELNET client
|
||||
FreeBSD-telnet-dbg 15.1 FreeBSD-base 128856 TELNET client (debugging symbols)
|
||||
FreeBSD-tests 15.1p4 FreeBSD-base 109865923 Test suite
|
||||
FreeBSD-tests-dbg 15.1p4 FreeBSD-base 88056112 Test suite (debugging symbols)
|
||||
FreeBSD-toolchain 15.1p4 FreeBSD-base 1520458 Utilities for program development
|
||||
FreeBSD-toolchain-dbg 15.1p4 FreeBSD-base 1688544 Utilities for program development (debugging symbols)
|
||||
FreeBSD-toolchain-dev 15.1 FreeBSD-base 27513 Utilities for program development (development files)
|
||||
FreeBSD-toolchain-dev-lib32 15.1 FreeBSD-base 4970 Utilities for program development (32-bit development files)
|
||||
FreeBSD-ufs 15.1 FreeBSD-base 634325 UFS filesystem support
|
||||
FreeBSD-ufs-dbg 15.1 FreeBSD-base 741288 UFS filesystem support (debugging symbols)
|
||||
FreeBSD-ufs-dbg-lib32 15.1 FreeBSD-base 85628 UFS filesystem support (32-bit debugging symbols)
|
||||
FreeBSD-ufs-dev 15.1 FreeBSD-base 208854 UFS filesystem support (development files)
|
||||
FreeBSD-ufs-dev-lib32 15.1 FreeBSD-base 130691 UFS filesystem support (32-bit development files)
|
||||
FreeBSD-ufs-lib 15.1 FreeBSD-base 51760 UFS filesystem support (libraries)
|
||||
FreeBSD-ufs-lib32 15.1 FreeBSD-base 54932 UFS filesystem support (32-bit libraries)
|
||||
FreeBSD-utilities 15.1p4 FreeBSD-base 51297734 Non-vital programs and libraries
|
||||
FreeBSD-utilities-dbg 15.1p4 FreeBSD-base 28891808 Non-vital programs and libraries (debugging symbols)
|
||||
FreeBSD-utilities-dbg-lib32 15.1p4 FreeBSD-base 8429304 Non-vital programs and libraries (32-bit debugging symbols)
|
||||
FreeBSD-utilities-dev 15.1p4 FreeBSD-base 18580307 Non-vital programs and libraries (development files)
|
||||
FreeBSD-utilities-dev-lib32 15.1p4 FreeBSD-base 5849787 Non-vital programs and libraries (32-bit development files)
|
||||
FreeBSD-utilities-lib32 15.1p4 FreeBSD-base 2976920 Non-vital programs and libraries (32-bit libraries)
|
||||
FreeBSD-vi 15.1 FreeBSD-base 793399 Text editor
|
||||
FreeBSD-vi-dbg 15.1 FreeBSD-base 772880 Text editor (debugging symbols)
|
||||
FreeBSD-vt-data 15.1 FreeBSD-base 1636329 vt(4) fonts and keymaps
|
||||
FreeBSD-wpa 15.1 FreeBSD-base 1669163 IEEE Std 802.11 WPA Supplicant
|
||||
FreeBSD-wpa-dbg 15.1 FreeBSD-base 2306032 IEEE Std 802.11 WPA Supplicant (debugging symbols)
|
||||
FreeBSD-xz 15.1p4 FreeBSD-base 145361 LZMA2 data compression
|
||||
FreeBSD-xz-dbg 15.1p4 FreeBSD-base 810512 LZMA2 data compression (debugging symbols)
|
||||
FreeBSD-xz-dbg-lib32 15.1 FreeBSD-base 511860 LZMA2 data compression (32-bit debugging symbols)
|
||||
FreeBSD-xz-dev 15.1 FreeBSD-base 1366359 LZMA2 data compression (development files)
|
||||
FreeBSD-xz-dev-lib32 15.1 FreeBSD-base 746782 LZMA2 data compression (32-bit development files)
|
||||
FreeBSD-xz-lib 15.1 FreeBSD-base 203192 LZMA2 data compression (libraries)
|
||||
FreeBSD-xz-lib32 15.1 FreeBSD-base 190144 LZMA2 data compression (32-bit libraries)
|
||||
FreeBSD-yp 15.1 FreeBSD-base 428311 Yellow Pages (YP) / Network Information Service (NIS)
|
||||
FreeBSD-yp-dbg 15.1 FreeBSD-base 488536 Yellow Pages (YP) / Network Information Service (NIS) (debugging symbols)
|
||||
FreeBSD-zfs 15.1 FreeBSD-base 1317718 ZFS filesystem support
|
||||
FreeBSD-zfs-dbg 15.1p1 FreeBSD-base 15878048 ZFS filesystem support (debugging symbols)
|
||||
FreeBSD-zfs-dbg-lib32 15.1p1 FreeBSD-base 10836392 ZFS filesystem support (32-bit debugging symbols)
|
||||
FreeBSD-zfs-dev 15.1p1 FreeBSD-base 23403660 ZFS filesystem support (development files)
|
||||
FreeBSD-zfs-dev-lib32 15.1p1 FreeBSD-base 13926879 ZFS filesystem support (32-bit development files)
|
||||
FreeBSD-zfs-lib 15.1p1 FreeBSD-base 4824528 ZFS filesystem support (libraries)
|
||||
FreeBSD-zfs-lib32 15.1p1 FreeBSD-base 4176488 ZFS filesystem support (32-bit libraries)
|
||||
FreeBSD-zlib 15.1 FreeBSD-base 102728 DEFLATE (gzip) data compression library
|
||||
FreeBSD-zlib-dbg 15.1 FreeBSD-base 214248 DEFLATE (gzip) data compression library (debugging symbols)
|
||||
FreeBSD-zlib-dbg-lib32 15.1 FreeBSD-base 155256 DEFLATE (gzip) data compression library (32-bit debugging symbols)
|
||||
FreeBSD-zlib-dev 15.1 FreeBSD-base 453783 DEFLATE (gzip) data compression library (development files)
|
||||
FreeBSD-zlib-dev-lib32 15.1 FreeBSD-base 230399 DEFLATE (gzip) data compression library (32-bit development files)
|
||||
FreeBSD-zlib-lib32 15.1 FreeBSD-base 91852 DEFLATE (gzip) data compression library (32-bit libraries)
|
||||
FreeBSD-zoneinfo 15.1p4 FreeBSD-base 839686 Timezone database
|
||||
FreeBSD-zstd 15.1 FreeBSD-base 186549 Fast, lossless compression algorithm
|
||||
FreeBSD-zstd-dbg 15.1 FreeBSD-base 3715136 Fast, lossless compression algorithm (debugging symbols)
|
||||
FreeBSD-zstd-dbg-lib32 15.1 FreeBSD-base 2964044 Fast, lossless compression algorithm (32-bit debugging symbols)
|
||||
FreeBSD-zstd-dev 15.1 FreeBSD-base 3272809 Fast, lossless compression algorithm (development files)
|
||||
FreeBSD-zstd-dev-lib32 15.1 FreeBSD-base 2351481 Fast, lossless compression algorithm (32-bit development files)
|
||||
FreeBSD-zstd-lib 15.1 FreeBSD-base 699248 Fast, lossless compression algorithm (libraries)
|
||||
FreeBSD-zstd-lib32 15.1 FreeBSD-base 713256 Fast, lossless compression algorithm (32-bit libraries)
|
||||
expat 2.8.2 FreeBSD-ports 400466 XML 1.0 parser written in C
|
||||
firstboot-pkg-upgrade 1.2 FreeBSD-ports 1757 Update the system using pkg when it first boots
|
||||
gettext-runtime 1.0_1 FreeBSD-ports 2057233 GNU gettext runtime libraries and programs
|
||||
glib 2.86.4,2 FreeBSD-ports 110072519 Some useful routines of C programming (current stable version)
|
||||
indexinfo 0.3.1_1 FreeBSD-ports 11766 Utility to regenerate the GNU info page index
|
||||
libffi 3.6.0 FreeBSD-ports 180639 Foreign Function Interface
|
||||
libiconv 1.18_1 FreeBSD-ports 3657746 Character set conversion library
|
||||
mpdecimal 4.0.1 FreeBSD-ports 747472 C/C++ arbitrary precision decimal floating point libraries
|
||||
pcre2 10.47_1 FreeBSD-ports 8411385 Perl Compatible Regular Expressions library, version 2
|
||||
pkg 2.7.5 FreeBSD-ports 27719861 Package manager
|
||||
py312-packaging 26.2 FreeBSD-ports 1169815 Core utilities for Python packages
|
||||
python312 3.12.14 FreeBSD-ports 229854416 Interpreted object-oriented programming language
|
||||
qemu-guest-agent 11.0.2 FreeBSD-ports 31962444 QEMU CPU Emulator (guest agent)
|
||||
readline 8.3.3 FreeBSD-ports 3239753 Library for editing command lines as they are typed
|
||||
sudo 1.9.17p2_2 FreeBSD-ports 8429090 Allow others to run commands as root
|
||||
@@ -0,0 +1,10 @@
|
||||
expat-2.8.2 < needs updating (remote has 2.8.5)
|
||||
firstboot-pkg-upgrade-1.2 < needs updating (remote has 1.4)
|
||||
glib-2.86.4,2 < needs updating (remote has 2.88.3,2)
|
||||
libffi-3.6.0 < needs updating (remote has 3.8.0)
|
||||
pcre2-10.47_1 < needs updating (remote has 10.49)
|
||||
pkg-2.7.5 < needs updating (remote has 2.8.4)
|
||||
py312-packaging-26.2 < needs updating (remote has 26.3)
|
||||
python312-3.12.14 < needs updating (remote has 3.12.14_1)
|
||||
qemu-guest-agent-11.0.2 < needs updating (remote has 11.1.2)
|
||||
readline-8.3.3 < needs updating (remote has 8.3.6)
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
/etc/rc.d/hostid
|
||||
/etc/rc.d/growfs
|
||||
/etc/rc.d/growfs_fstab
|
||||
/etc/rc.d/hostid_save
|
||||
/etc/rc.d/var_run
|
||||
/etc/rc.d/kldxref
|
||||
/etc/rc.d/devmatch
|
||||
/etc/rc.d/nuageinit
|
||||
/etc/rc.d/cleanvar
|
||||
/etc/rc.d/ip6addrctl
|
||||
/etc/rc.d/mixer
|
||||
/etc/rc.d/rctl
|
||||
/etc/rc.d/netif
|
||||
/etc/rc.d/devd
|
||||
/etc/rc.d/resolv
|
||||
/etc/rc.d/os-release
|
||||
/etc/rc.d/dmesg
|
||||
/etc/rc.d/gptboot
|
||||
/etc/rc.d/motd
|
||||
/etc/rc.d/newsyslog
|
||||
/etc/rc.d/virecover
|
||||
/etc/rc.d/cleartmp
|
||||
/etc/rc.d/nuageinit_post_net
|
||||
/etc/rc.d/syslogd
|
||||
/usr/local/etc/rc.d/firstboot_pkg_upgrade
|
||||
/etc/rc.d/savecore
|
||||
/etc/rc.d/utx
|
||||
/usr/local/etc/rc.d/qemu-guest-agent
|
||||
/etc/rc.d/nuageinit_user_data_script
|
||||
/etc/rc.d/cron
|
||||
/etc/rc.d/sshd
|
||||
/etc/rc.d/bgfsck
|
||||
---
|
||||
DAEMON
|
||||
FILESYSTEMS
|
||||
LOGIN
|
||||
NETWORKING
|
||||
SERVERS
|
||||
@@ -0,0 +1,32 @@
|
||||
hostid /etc/rc.d/hostid: unknown directive 'status'.
|
||||
growfs /etc/rc.d/growfs: unknown directive 'status'.
|
||||
growfs_fstab /etc/rc.d/growfs_fstab: unknown directive 'status'.
|
||||
hostid_save /etc/rc.d/hostid_save: unknown directive 'status'.
|
||||
var_run /etc/rc.d/var_run: unknown directive 'status'.
|
||||
kldxref /etc/rc.d/kldxref: unknown directive 'status'.
|
||||
devmatch /etc/rc.d/devmatch: unknown directive 'status'.
|
||||
nuageinit /etc/rc.d/nuageinit: unknown directive 'status'.
|
||||
cleanvar /etc/rc.d/cleanvar: unknown directive 'status'.
|
||||
ip6addrctl Prefix Prec Label Use
|
||||
mixer /etc/rc.d/mixer: unknown directive 'status'.
|
||||
rctl /etc/rc.d/rctl: unknown directive 'status'.
|
||||
netif /etc/rc.d/netif: unknown directive 'status'.
|
||||
devd devd is running as pid 771.
|
||||
resolv /etc/rc.d/resolv: unknown directive 'status'.
|
||||
os-release /etc/rc.d/os-release: unknown directive 'status'.
|
||||
dmesg /etc/rc.d/dmesg: unknown directive 'status'.
|
||||
gptboot /etc/rc.d/gptboot: unknown directive 'status'.
|
||||
motd /etc/rc.d/motd: unknown directive 'status'.
|
||||
newsyslog newsyslog is not running.
|
||||
virecover /etc/rc.d/virecover: unknown directive 'status'.
|
||||
cleartmp /etc/rc.d/cleartmp: unknown directive 'status'.
|
||||
nuageinit_post_net /etc/rc.d/nuageinit_post_net: unknown directive 'status'.
|
||||
syslogd eval: cannot open /var/run/syslog.pid: Permission denied
|
||||
firstboot_pkg_upgrade /usr/local/etc/rc.d/firstboot_pkg_upgrade: unknown directive 'status'.
|
||||
savecore /etc/rc.d/savecore: unknown directive 'status'.
|
||||
utx /etc/rc.d/utx: unknown directive 'status'.
|
||||
qemu-guest-agent qemu_guest_agent is not running.
|
||||
nuageinit_user_data_script /etc/rc.d/nuageinit_user_data_script: unknown directive 'status'.
|
||||
cron eval: cannot open /var/run/cron.pid: Permission denied
|
||||
sshd sshd is running as pid 1282.
|
||||
bgfsck /etc/rc.d/bgfsck: unknown directive 'status'.
|
||||
@@ -0,0 +1,3 @@
|
||||
python312-3.12.14
|
||||
expat-2.8.2
|
||||
rc=1
|
||||
@@ -0,0 +1,27 @@
|
||||
Updating FreeBSD-ports repository catalogue...
|
||||
FreeBSD-ports repository is up to date.
|
||||
Updating FreeBSD-ports-kmods repository catalogue...
|
||||
FreeBSD-ports-kmods repository is up to date.
|
||||
Updating FreeBSD-base repository catalogue...
|
||||
FreeBSD-base repository is up to date.
|
||||
All repositories are up to date.
|
||||
Checking for upgrades (10 candidates): .......... done
|
||||
Processing candidates (10 candidates): .......... done
|
||||
The following 10 package(s) will be affected (of 0 checked):
|
||||
|
||||
Installed packages to be UPGRADED:
|
||||
expat: 2.8.2 -> 2.8.5 [FreeBSD-ports]
|
||||
firstboot-pkg-upgrade: 1.2 -> 1.4 [FreeBSD-ports]
|
||||
glib: 2.86.4,2 -> 2.88.3,2 [FreeBSD-ports]
|
||||
libffi: 3.6.0 -> 3.8.0 [FreeBSD-ports]
|
||||
pcre2: 10.47_1 -> 10.49 [FreeBSD-ports]
|
||||
pkg: 2.7.5 -> 2.8.4 [FreeBSD-ports]
|
||||
py312-packaging: 26.2 -> 26.3 [FreeBSD-ports]
|
||||
python312: 3.12.14 -> 3.12.14_1 [FreeBSD-ports]
|
||||
qemu-guest-agent: 11.0.2 -> 11.1.2 [FreeBSD-ports]
|
||||
readline: 8.3.3 -> 8.3.6 [FreeBSD-ports]
|
||||
|
||||
Number of packages to be upgraded: 10
|
||||
|
||||
The process will require 27 MiB more space.
|
||||
70 MiB to be downloaded.
|
||||
@@ -0,0 +1,32 @@
|
||||
hostid /etc/rc.d/hostid: unknown directive 'status'.
|
||||
growfs /etc/rc.d/growfs: unknown directive 'status'.
|
||||
growfs_fstab /etc/rc.d/growfs_fstab: unknown directive 'status'.
|
||||
hostid_save /etc/rc.d/hostid_save: unknown directive 'status'.
|
||||
var_run /etc/rc.d/var_run: unknown directive 'status'.
|
||||
kldxref /etc/rc.d/kldxref: unknown directive 'status'.
|
||||
devmatch /etc/rc.d/devmatch: unknown directive 'status'.
|
||||
nuageinit /etc/rc.d/nuageinit: unknown directive 'status'.
|
||||
cleanvar /etc/rc.d/cleanvar: unknown directive 'status'.
|
||||
ip6addrctl Prefix Prec Label Use
|
||||
mixer /etc/rc.d/mixer: unknown directive 'status'.
|
||||
rctl /etc/rc.d/rctl: unknown directive 'status'.
|
||||
netif /etc/rc.d/netif: unknown directive 'status'.
|
||||
devd devd is running as pid 771.
|
||||
resolv /etc/rc.d/resolv: unknown directive 'status'.
|
||||
os-release /etc/rc.d/os-release: unknown directive 'status'.
|
||||
dmesg /etc/rc.d/dmesg: unknown directive 'status'.
|
||||
gptboot /etc/rc.d/gptboot: unknown directive 'status'.
|
||||
motd /etc/rc.d/motd: unknown directive 'status'.
|
||||
newsyslog newsyslog is not running.
|
||||
virecover /etc/rc.d/virecover: unknown directive 'status'.
|
||||
cleartmp /etc/rc.d/cleartmp: unknown directive 'status'.
|
||||
nuageinit_post_net /etc/rc.d/nuageinit_post_net: unknown directive 'status'.
|
||||
syslogd syslogd is running as pid 1052.
|
||||
firstboot_pkg_upgrade /usr/local/etc/rc.d/firstboot_pkg_upgrade: unknown directive 'status'.
|
||||
savecore /etc/rc.d/savecore: unknown directive 'status'.
|
||||
utx /etc/rc.d/utx: unknown directive 'status'.
|
||||
qemu-guest-agent qemu_guest_agent is not running.
|
||||
nuageinit_user_data_script /etc/rc.d/nuageinit_user_data_script: unknown directive 'status'.
|
||||
cron cron is running as pid 1232.
|
||||
sshd sshd is running as pid 1282.
|
||||
bgfsck /etc/rc.d/bgfsck: unknown directive 'status'.
|
||||
+6
@@ -33,3 +33,9 @@ id
|
||||
sudo fstat -n
|
||||
fstat -n
|
||||
netstat -an -f inet; netstat -an -f inet6
|
||||
pkg_info -m
|
||||
sudo rcctl ls on/started/failed
|
||||
sudo pkg_add -u -n -v (pcre2 downgraded to 10.44)
|
||||
pkg_info
|
||||
for s in $(rcctl ls on); do if rcctl check $s >/dev/null 2>&1; then r=1; else r=0; fi; printf "%s\t%s\n" "$s" "$r"; done
|
||||
sudo syspatch -l
|
||||
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
argon2-20190702p0 C implementation of Argon2 - password hashing function
|
||||
bash-5.3.9 GNU Bourne Again Shell
|
||||
bash-completion-2.17.0 programmable completion functions for bash
|
||||
bzip2-1.0.8p0 block-sorting file compressor, unencumbered
|
||||
e2fsprogs-1.47.3 utilities to manipulate ext2 filesystems
|
||||
gettext-runtime-1.0 GNU gettext runtime libraries and programs
|
||||
glib2-2.86.5 general-purpose utility library
|
||||
libb2-0.98.1v0 library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp
|
||||
libffi-3.5.2p0 Foreign Function Interface
|
||||
libiconv-1.19 character set conversion library
|
||||
libyaml-0.2.5 YAML 1.1 parser and emitter written in C
|
||||
meson-1.10.2v0 next-generation build system
|
||||
ninja-1.11.1p1v1 small build system with a focus on speed
|
||||
pcre2-10.44 perl-compatible regular expression library, version 2
|
||||
py3-MarkupSafe-3.0.3p0 implements an XML/HTML/XHTML markup safe string
|
||||
py3-apipkg-3.0.2p1 namespace control and lazy-import mechanism for Python
|
||||
py3-argon2-cffi-25.1.0 argon2 password hashing for Python
|
||||
py3-argon2-cffi-bindings-25.1.0 argon2 password hashing for Python
|
||||
py3-arrow-1.4.0p0 better dates and times for Python
|
||||
py3-attrs-25.4.0 classes without boilerplate
|
||||
py3-bcrypt-5.0.0p0 bcrypt blowfish password hashing for Python
|
||||
py3-blinker-1.9.0p0 fast, simple object-to-object and broadcast signaling
|
||||
py3-brotli-1.2.0 Python bindings for the Brotli compression library
|
||||
py3-cachetools-7.0.5 extensible memoizing collections and decorators
|
||||
py3-certifi-2026.1.4 TLS CA support for Python, patched to use /etc/ssl/cert.pem
|
||||
py3-cffi-2.0.0p0 Foreign Function Interface for Python calling C code
|
||||
py3-chardet-5.2.0v0 character encoding auto-detection in Python
|
||||
py3-charset-normalizer-3.4.7 character set detector library
|
||||
py3-colorama-0.4.6p1 print colored terminal text from Python apps
|
||||
py3-configobj-5.0.9p0 config file reader and writer
|
||||
py3-coverage-7.13.2 code coverage measurement for Python
|
||||
py3-cparser-3.0 C parser in pure Python
|
||||
py3-cryptography-46.0.7 cryptographic recipes and primitives for Python
|
||||
py3-dateutil-2.9.0pl0p0 Python API for advanced date calculations
|
||||
py3-distlib-0.4.0 distribution utilities
|
||||
py3-execnet-2.1.2 rapid multi-Python deployment
|
||||
py3-filelock-3.25.2 platform independent file lock
|
||||
py3-fqdn-1.5.1p1 validates that domain names are acceptable to browsers
|
||||
py3-idna-3.11 Python library to support the IDNA protocol
|
||||
py3-iniconfig-2.3.0 brain-dead simple config-ini parsing
|
||||
py3-isoduration-20.11.0p2 operations with ISO 8601 durations
|
||||
py3-jinja2-3.1.6p0 fast, optionally sandboxed, Python template engine
|
||||
py3-jsonpatch-1.33p2 library to apply JSON Patches according to RFC 6902
|
||||
py3-jsonpointer-2.4p2 library to resolve JSON Pointers according to RFC 6901
|
||||
py3-jsonschema-4.24.0 implementation of JSON Schema validation for Python
|
||||
py3-jsonschema-specifications-2025.4.1 JSON schema meta-schemas and vocabularies
|
||||
py3-jwt-2.10.1 JSON Web Token implementation in Python
|
||||
py3-mock-5.1.0p0 python mocking and patching library for testing
|
||||
py3-oauthlib-3.3.1 Python library for OAuth
|
||||
py3-packaging-26.0 core utilities for Python packaging
|
||||
py3-passlib-1.9.3p0 Python module providing a password hashing framework
|
||||
py3-platformdirs-4.9.6 determine appropriate platform-specific directories
|
||||
py3-pluggy-1.6.0p0 plugin and hook calling mechanisms for Python
|
||||
py3-pygments-2.20.0 Python syntax highlighter
|
||||
py3-pyproject_api-1.10.0 API to interact with pyproject.toml-based projects
|
||||
py3-python-discovery-1.2.1p0 library for discovering Python interpreters
|
||||
py3-referencing-0.37.0p0 JSON referencing in Python
|
||||
py3-requests-2.33.1 elegant and simple HTTP library for Python
|
||||
py3-responses-0.25.0p2 utility library for mocking out the `requests` Python
|
||||
py3-rfc3339-validator-0.1.4p2 pure python RFC3339 validator
|
||||
py3-rfc3986-validator-0.1.1p2 pure python RFC3986 validator
|
||||
py3-rpds-py-0.30.0p0 Python bindings for Rust's persistent data structures (rpds)
|
||||
py3-scrypt-0.9.4 support for the scrypt key derivation function
|
||||
py3-serial-3.5p0 serial interface class for Python
|
||||
py3-six-1.17.0p1 Python 2 and 3 compatibility library
|
||||
py3-test-9.0.2p0 cross-project testing tool for Python
|
||||
py3-test-cov-7.1.0 pytest plugin for measuring coverage
|
||||
py3-test-mock-3.15.1 thin wrapper around mock package for easier use with pytest
|
||||
py3-test-xdist-3.8.0 py.test xdist plugin for distributed testing
|
||||
py3-tox-4.47.0 virtualenv-based automation of test activities
|
||||
py3-types-python-dateutil-2.9.0.20260305 typing stubs for Python dateutil
|
||||
py3-tzdata-2026.3 IANA timezone data
|
||||
py3-uri-template-1.3.0p1 RFC 6570 URI template processor
|
||||
py3-urllib3-1.26.20p0 HTTP library for Python
|
||||
py3-virtualenv-21.2.3 virtual Python environment builder
|
||||
py3-webcolors-25.10.0p0 library for working with HTML color formats
|
||||
py3-yaml-6.0.2p1 YAML parser and emitter in Python
|
||||
python-3.13.15p0 interpreted object-oriented programming language
|
||||
qemu-ga-10.2.1 QEMU guest agent
|
||||
quirks-7.194 exceptions to pkg_add rules
|
||||
sqlite3-3.51.3 embedded SQL implementation
|
||||
sudo-1.9.17.2p1 execute a command as another user
|
||||
updatedb-0p0 pkg_add speed up cache
|
||||
xz-5.8.4 library and tools for XZ and LZMA compressed files
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
bash-5.3.9 GNU Bourne Again Shell
|
||||
bash-completion-2.17.0 programmable completion functions for bash
|
||||
e2fsprogs-1.47.3 utilities to manipulate ext2 filesystems
|
||||
meson-1.10.2v0 next-generation build system
|
||||
pcre2-10.44 perl-compatible regular expression library, version 2
|
||||
py3-configobj-5.0.9p0 config file reader and writer
|
||||
py3-jinja2-3.1.6p0 fast, optionally sandboxed, Python template engine
|
||||
py3-jsonpatch-1.33p2 library to apply JSON Patches according to RFC 6902
|
||||
py3-jsonschema-4.24.0 implementation of JSON Schema validation for Python
|
||||
py3-oauthlib-3.3.1 Python library for OAuth
|
||||
py3-packaging-26.0 core utilities for Python packaging
|
||||
py3-passlib-1.9.3p0 Python module providing a password hashing framework
|
||||
py3-requests-2.33.1 elegant and simple HTTP library for Python
|
||||
py3-responses-0.25.0p2 utility library for mocking out the `requests` Python
|
||||
py3-serial-3.5p0 serial interface class for Python
|
||||
py3-test-9.0.2p0 cross-project testing tool for Python
|
||||
py3-test-cov-7.1.0 pytest plugin for measuring coverage
|
||||
py3-test-mock-3.15.1 thin wrapper around mock package for easier use with pytest
|
||||
py3-test-xdist-3.8.0 py.test xdist plugin for distributed testing
|
||||
py3-tox-4.47.0 virtualenv-based automation of test activities
|
||||
py3-yaml-6.0.2p1 YAML parser and emitter in Python
|
||||
python-3.13.15p0 interpreted object-oriented programming language
|
||||
qemu-ga-10.2.1 QEMU guest agent
|
||||
quirks-7.194 exceptions to pkg_add rules
|
||||
sudo-1.9.17.2p1 execute a command as another user
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
check_quotas 0
|
||||
cloudconfig 0
|
||||
cloudfinal 0
|
||||
cloudinit 0
|
||||
cloudinitlocal 0
|
||||
cron 1
|
||||
dhcpleased 1
|
||||
library_aslr 0
|
||||
ntpd 1
|
||||
pf 0
|
||||
pflogd 1
|
||||
qemu_ga 0
|
||||
resolvd 1
|
||||
slaacd 1
|
||||
smtpd 1
|
||||
sndiod 1
|
||||
sshd 1
|
||||
syslogd 1
|
||||
+214
@@ -0,0 +1,214 @@
|
||||
Update candidates: quirks-7.194 -> quirks-7.194
|
||||
quirks-7.194->7.194 (processing)(pretending)
|
||||
Update candidates: updatedb-0p0 -> updatedb-0p0
|
||||
quirks-7.194:updatedb-0p0->0p0 (processing)(pretending)
|
||||
quirks-7.194->7.194 (processing)(pretending)
|
||||
quirks-7.194 signed on 2026-10-01T16:58:35Z
|
||||
Update candidates: argon2-20190702p0 -> argon2-20190702p0
|
||||
argon2-20190702p0->20190702p0 (processing)(pretending)
|
||||
Update candidates: bash-5.3.9 -> bash-5.3.9
|
||||
bash-5.3.9->5.3.9 (processing)(pretending)
|
||||
Update candidates: gettext-runtime-1.0 -> gettext-runtime-1.0
|
||||
bash-5.3.9:gettext-runtime-1.0->1.0 (processing)(pretending)
|
||||
Update candidates: libiconv-1.19 -> libiconv-1.19
|
||||
bash-5.3.9:libiconv-1.19->1.19 (processing)(pretending)
|
||||
bash-5.3.9:gettext-runtime-1.0->1.0 (processing)(pretending)
|
||||
bash-5.3.9->5.3.9 (processing)(pretending)
|
||||
Update candidates: bash-completion-2.17.0 -> bash-completion-2.17.0
|
||||
bash-completion-2.17.0->2.17.0 (processing)(pretending)
|
||||
Update candidates: bzip2-1.0.8p0 -> bzip2-1.0.8p0
|
||||
bzip2-1.0.8p0->1.0.8p0 (processing)(pretending)
|
||||
Update candidates: e2fsprogs-1.47.3 -> e2fsprogs-1.47.3
|
||||
e2fsprogs-1.47.3->1.47.3 (processing)(pretending)
|
||||
Update candidates: glib2-2.86.5 -> glib2-2.86.5
|
||||
glib2-2.86.5->2.86.5 (processing)(pretending)
|
||||
Update candidates: pcre2-10.44 -> pcre2-10.48
|
||||
glib2-2.86.5:pcre2-10.44->10.48 (processing)(pretending)
|
||||
glib2-2.86.5:.libs-pcre2-10.48+pcre2-10.44->pcre2-10.48 (processing)(pretending)
|
||||
glib2-2.86.5:pcre2-10.44 (hashing)(pretending)
|
||||
glib2-2.86.5:.libs-pcre2-10.48 (hashing)(pretending)
|
||||
glib2-2.86.5:pcre2-10.48 (tieing)(pretending)
|
||||
glib2-2.86.5:pcre2-10.48 (extracting)(pretending)
|
||||
glib2-2.86.5:pcre2-10.48 (skipping)(pretending)
|
||||
glib2-2.86.5:pcre2-10.44 (deleting)(pretending)
|
||||
Removing manpages in /usr/local/man: /usr/local/man/man1/pcre2-config.1 /usr/local/man/man1/pcre2grep.1 /usr/local/man/man1/pcre2test.1 /usr/local/man/man3/pcre2.3 /usr/local/man/man3/pcre2_callout_enumerate.3 /usr/local/man/man3/pcre2_code_copy.3 /usr/local/man/man3/pcre2_code_copy_with_tables.3 /usr/local/man/man3/pcre2_code_free.3 /usr/local/man/man3/pcre2_compile.3 /usr/local/man/man3/pcre2_compile_context_copy.3 /usr/local/man/man3/pcre2_compile_context_create.3 /usr/local/man/man3/pcre2_compile_context_free.3 /usr/local/man/man3/pcre2_config.3 /usr/local/man/man3/pcre2_convert_context_copy.3 /usr/local/man/man3/pcre2_convert_context_create.3 /usr/local/man/man3/pcre2_convert_context_free.3 /usr/local/man/man3/pcre2_converted_pattern_free.3 /usr/local/man/man3/pcre2_dfa_match.3 /usr/local/man/man3/pcre2_general_context_copy.3 /usr/local/man/man3/pcre2_general_context_create.3 /usr/local/man/man3/pcre2_general_context_free.3 /usr/local/man/man3/pcre2_get_error_message.3 /usr/local/man/man3/pcre2_get_mark.3 /usr/local/man/man3/pcre2_get_match_data_heapframes_size.3 /usr/local/man/man3/pcre2_get_match_data_size.3 /usr/local/man/man3/pcre2_get_ovector_count.3 /usr/local/man/man3/pcre2_get_ovector_pointer.3 /usr/local/man/man3/pcre2_get_startchar.3 /usr/local/man/man3/pcre2_jit_compile.3 /usr/local/man/man3/pcre2_jit_free_unused_memory.3 /usr/local/man/man3/pcre2_jit_match.3 /usr/local/man/man3/pcre2_jit_stack_assign.3 /usr/local/man/man3/pcre2_jit_stack_create.3 /usr/local/man/man3/pcre2_jit_stack_free.3 /usr/local/man/man3/pcre2_maketables.3 /usr/local/man/man3/pcre2_maketables_free.3 /usr/local/man/man3/pcre2_match.3 /usr/local/man/man3/pcre2_match_context_copy.3 /usr/local/man/man3/pcre2_match_context_create.3 /usr/local/man/man3/pcre2_match_context_free.3 /usr/local/man/man3/pcre2_match_data_create.3 /usr/local/man/man3/pcre2_match_data_create_from_pattern.3 /usr/local/man/man3/pcre2_match_data_free.3 /usr/local/man/man3/pcre2_pattern_convert.3 /usr/local/man/man3/pcre2_pattern_info.3 /usr/local/man/man3/pcre2_serialize_decode.3 /usr/local/man/man3/pcre2_serialize_encode.3 /usr/local/man/man3/pcre2_serialize_free.3 /usr/local/man/man3/pcre2_serialize_get_number_of_codes.3 /usr/local/man/man3/pcre2_set_bsr.3 /usr/local/man/man3/pcre2_set_callout.3 /usr/local/man/man3/pcre2_set_character_tables.3 /usr/local/man/man3/pcre2_set_compile_extra_options.3 /usr/local/man/man3/pcre2_set_compile_recursion_guard.3 /usr/local/man/man3/pcre2_set_depth_limit.3 /usr/local/man/man3/pcre2_set_glob_escape.3 /usr/local/man/man3/pcre2_set_glob_separator.3 /usr/local/man/man3/pcre2_set_heap_limit.3 /usr/local/man/man3/pcre2_set_match_limit.3 /usr/local/man/man3/pcre2_set_max_pattern_compiled_length.3 /usr/local/man/man3/pcre2_set_max_pattern_length.3 /usr/local/man/man3/pcre2_set_max_varlookbehind.3 /usr/local/man/man3/pcre2_set_newline.3 /usr/local/man/man3/pcre2_set_offset_limit.3 /usr/local/man/man3/pcre2_set_parens_nest_limit.3 /usr/local/man/man3/pcre2_set_recursion_limit.3 /usr/local/man/man3/pcre2_set_recursion_memory_management.3 /usr/local/man/man3/pcre2_set_substitute_callout.3 /usr/local/man/man3/pcre2_substitute.3 /usr/local/man/man3/pcre2_substring_copy_byname.3 /usr/local/man/man3/pcre2_substring_copy_bynumber.3 /usr/local/man/man3/pcre2_substring_free.3 /usr/local/man/man3/pcre2_substring_get_byname.3 /usr/local/man/man3/pcre2_substring_get_bynumber.3 /usr/local/man/man3/pcre2_substring_length_byname.3 /usr/local/man/man3/pcre2_substring_length_bynumber.3 /usr/local/man/man3/pcre2_substring_list_free.3 /usr/local/man/man3/pcre2_substring_list_get.3 /usr/local/man/man3/pcre2_substring_nametable_scan.3 /usr/local/man/man3/pcre2_substring_number_from_name.3 /usr/local/man/man3/pcre2api.3 /usr/local/man/man3/pcre2build.3 /usr/local/man/man3/pcre2callout.3 /usr/local/man/man3/pcre2compat.3 /usr/local/man/man3/pcre2convert.3 /usr/local/man/man3/pcre2demo.3 /usr/local/man/man3/pcre2jit.3 /usr/local/man/man3/pcre2limits.3 /usr/local/man/man3/pcre2matching.3 /usr/local/man/man3/pcre2partial.3 /usr/local/man/man3/pcre2pattern.3 /usr/local/man/man3/pcre2perform.3 /usr/local/man/man3/pcre2posix.3 /usr/local/man/man3/pcre2sample.3 /usr/local/man/man3/pcre2serialize.3 /usr/local/man/man3/pcre2syntax.3 /usr/local/man/man3/pcre2unicode.3
|
||||
glib2-2.86.5:.libs-pcre2-10.48 (deleting)(pretending)
|
||||
glib2-2.86.5:pcre2-10.48 (installing)(pretending)
|
||||
Adding glib2-2.86.5:.libs-pcre2-10.48+pcre2-10.44->pcre2-10.48(pretending)
|
||||
Update candidates: python-3.13.15p0 -> python-3.13.15p0
|
||||
glib2-2.86.5:python-3.13.15p0->3.13.15p0 (processing)(pretending)
|
||||
Update candidates: xz-5.8.4 -> xz-5.8.4
|
||||
glib2-2.86.5:xz-5.8.4->5.8.4 (processing)(pretending)
|
||||
Update candidates: sqlite3-3.51.3 -> sqlite3-3.51.3
|
||||
glib2-2.86.5:sqlite3-3.51.3->3.51.3 (processing)(pretending)
|
||||
Update candidates: libb2-0.98.1v0 -> libb2-0.98.1v0
|
||||
glib2-2.86.5:libb2-0.98.1v0->0.98.1v0 (processing)(pretending)
|
||||
Update candidates: libffi-3.5.2p0 -> libffi-3.5.2p0
|
||||
glib2-2.86.5:libffi-3.5.2p0->3.5.2p0 (processing)(pretending)
|
||||
glib2-2.86.5:python-3.13.15p0->3.13.15p0 (processing)(pretending)
|
||||
Update candidates: py3-packaging-26.0 -> py3-packaging-26.0
|
||||
glib2-2.86.5:py3-packaging-26.0->26.0 (processing)(pretending)
|
||||
glib2-2.86.5->2.86.5 (processing)(pretending)
|
||||
Update candidates: libyaml-0.2.5 -> libyaml-0.2.5
|
||||
libyaml-0.2.5->0.2.5 (processing)(pretending)
|
||||
Update candidates: meson-1.10.2v0 -> meson-1.10.2v0
|
||||
meson-1.10.2v0->1.10.2v0 (processing)(pretending)
|
||||
Update candidates: ninja-1.11.1p1v1 -> ninja-1.11.1p1v1
|
||||
meson-1.10.2v0:ninja-1.11.1p1v1->1.11.1p1v1 (processing)(pretending)
|
||||
meson-1.10.2v0->1.10.2v0 (processing)(pretending)
|
||||
Update candidates: py3-MarkupSafe-3.0.3p0 -> py3-MarkupSafe-3.0.3p0
|
||||
py3-MarkupSafe-3.0.3p0->3.0.3p0 (processing)(pretending)
|
||||
Update candidates: py3-apipkg-3.0.2p1 -> py3-apipkg-3.0.2p1
|
||||
py3-apipkg-3.0.2p1->3.0.2p1 (processing)(pretending)
|
||||
Update candidates: py3-argon2-cffi-25.1.0 -> py3-argon2-cffi-25.1.0
|
||||
py3-argon2-cffi-25.1.0->25.1.0 (processing)(pretending)
|
||||
Update candidates: py3-argon2-cffi-bindings-25.1.0 -> py3-argon2-cffi-bindings-25.1.0
|
||||
py3-argon2-cffi-25.1.0:py3-argon2-cffi-bindings-25.1.0->25.1.0 (processing)(pretending)
|
||||
Update candidates: py3-cffi-2.0.0p0 -> py3-cffi-2.0.0p0
|
||||
py3-argon2-cffi-25.1.0:py3-cffi-2.0.0p0->2.0.0p0 (processing)(pretending)
|
||||
Update candidates: py3-cparser-3.0 -> py3-cparser-3.0
|
||||
py3-argon2-cffi-25.1.0:py3-cparser-3.0->3.0 (processing)(pretending)
|
||||
py3-argon2-cffi-25.1.0:py3-cffi-2.0.0p0->2.0.0p0 (processing)(pretending)
|
||||
py3-argon2-cffi-25.1.0:py3-argon2-cffi-bindings-25.1.0->25.1.0 (processing)(pretending)
|
||||
py3-argon2-cffi-25.1.0->25.1.0 (processing)(pretending)
|
||||
Update candidates: py3-arrow-1.4.0p0 -> py3-arrow-1.4.0p0
|
||||
py3-arrow-1.4.0p0->1.4.0p0 (processing)(pretending)
|
||||
Update candidates: py3-types-python-dateutil-2.9.0.20260305 -> py3-types-python-dateutil-2.9.0.20260305
|
||||
py3-arrow-1.4.0p0:py3-types-python-dateutil-2.9.0.20260305->2.9.0.20260305 (processing)(pretending)
|
||||
Update candidates: py3-tzdata-2026.3 -> py3-tzdata-2026.4
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.3->2026.4 (processing)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.3 (hashing)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (tieing)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (extracting)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (skipping)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.3 (deleting)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (installing)(pretending)
|
||||
Adding py3-arrow-1.4.0p0:py3-tzdata-2026.3->2026.4(pretending)
|
||||
Update candidates: py3-dateutil-2.9.0pl0p0 -> py3-dateutil-2.9.0pl0p0
|
||||
py3-arrow-1.4.0p0:py3-dateutil-2.9.0pl0p0->2.9.0pl0p0 (processing)(pretending)
|
||||
Update candidates: py3-six-1.17.0p1 -> py3-six-1.17.0p1
|
||||
py3-arrow-1.4.0p0:py3-six-1.17.0p1->1.17.0p1 (processing)(pretending)
|
||||
py3-arrow-1.4.0p0:py3-dateutil-2.9.0pl0p0->2.9.0pl0p0 (processing)(pretending)
|
||||
py3-arrow-1.4.0p0->1.4.0p0 (processing)(pretending)
|
||||
Update candidates: py3-attrs-25.4.0 -> py3-attrs-25.4.0
|
||||
py3-attrs-25.4.0->25.4.0 (processing)(pretending)
|
||||
Update candidates: py3-bcrypt-5.0.0p0 -> py3-bcrypt-5.0.0p0
|
||||
py3-bcrypt-5.0.0p0->5.0.0p0 (processing)(pretending)
|
||||
Update candidates: py3-blinker-1.9.0p0 -> py3-blinker-1.9.0p0
|
||||
py3-blinker-1.9.0p0->1.9.0p0 (processing)(pretending)
|
||||
Update candidates: py3-brotli-1.2.0 -> py3-brotli-1.2.0
|
||||
py3-brotli-1.2.0->1.2.0 (processing)(pretending)
|
||||
Update candidates: py3-cachetools-7.0.5 -> py3-cachetools-7.0.5
|
||||
py3-cachetools-7.0.5->7.0.5 (processing)(pretending)
|
||||
Update candidates: py3-certifi-2026.1.4 -> py3-certifi-2026.1.4
|
||||
py3-certifi-2026.1.4->2026.1.4 (processing)(pretending)
|
||||
Update candidates: py3-chardet-5.2.0v0 -> py3-chardet-5.2.0v0
|
||||
py3-chardet-5.2.0v0->5.2.0v0 (processing)(pretending)
|
||||
Update candidates: py3-charset-normalizer-3.4.7 -> py3-charset-normalizer-3.4.7
|
||||
py3-charset-normalizer-3.4.7->3.4.7 (processing)(pretending)
|
||||
Update candidates: py3-colorama-0.4.6p1 -> py3-colorama-0.4.6p1
|
||||
py3-colorama-0.4.6p1->0.4.6p1 (processing)(pretending)
|
||||
Update candidates: py3-configobj-5.0.9p0 -> py3-configobj-5.0.9p0
|
||||
py3-configobj-5.0.9p0->5.0.9p0 (processing)(pretending)
|
||||
Update candidates: py3-coverage-7.13.2 -> py3-coverage-7.13.2
|
||||
py3-coverage-7.13.2->7.13.2 (processing)(pretending)
|
||||
Update candidates: py3-cryptography-46.0.7 -> py3-cryptography-46.0.7
|
||||
py3-cryptography-46.0.7->46.0.7 (processing)(pretending)
|
||||
Update candidates: py3-distlib-0.4.0 -> py3-distlib-0.4.0
|
||||
py3-distlib-0.4.0->0.4.0 (processing)(pretending)
|
||||
Update candidates: py3-execnet-2.1.2 -> py3-execnet-2.1.2
|
||||
py3-execnet-2.1.2->2.1.2 (processing)(pretending)
|
||||
Update candidates: py3-filelock-3.25.2 -> py3-filelock-3.25.2
|
||||
py3-filelock-3.25.2->3.25.2 (processing)(pretending)
|
||||
Update candidates: py3-fqdn-1.5.1p1 -> py3-fqdn-1.5.1p1
|
||||
py3-fqdn-1.5.1p1->1.5.1p1 (processing)(pretending)
|
||||
Update candidates: py3-idna-3.11 -> py3-idna-3.11
|
||||
py3-idna-3.11->3.11 (processing)(pretending)
|
||||
Update candidates: py3-iniconfig-2.3.0 -> py3-iniconfig-2.3.0
|
||||
py3-iniconfig-2.3.0->2.3.0 (processing)(pretending)
|
||||
Update candidates: py3-isoduration-20.11.0p2 -> py3-isoduration-20.11.0p2
|
||||
py3-isoduration-20.11.0p2->20.11.0p2 (processing)(pretending)
|
||||
Update candidates: py3-jinja2-3.1.6p0 -> py3-jinja2-3.1.6p0
|
||||
py3-jinja2-3.1.6p0->3.1.6p0 (processing)(pretending)
|
||||
Update candidates: py3-jsonpatch-1.33p2 -> py3-jsonpatch-1.33p2
|
||||
py3-jsonpatch-1.33p2->1.33p2 (processing)(pretending)
|
||||
Update candidates: py3-jsonpointer-2.4p2 -> py3-jsonpointer-2.4p2
|
||||
py3-jsonpatch-1.33p2:py3-jsonpointer-2.4p2->2.4p2 (processing)(pretending)
|
||||
py3-jsonpatch-1.33p2->1.33p2 (processing)(pretending)
|
||||
Update candidates: py3-jsonschema-4.24.0 -> py3-jsonschema-4.24.0
|
||||
py3-jsonschema-4.24.0->4.24.0 (processing)(pretending)
|
||||
Update candidates: py3-uri-template-1.3.0p1 -> py3-uri-template-1.3.0p1
|
||||
py3-jsonschema-4.24.0:py3-uri-template-1.3.0p1->1.3.0p1 (processing)(pretending)
|
||||
Update candidates: py3-rfc3339-validator-0.1.4p2 -> py3-rfc3339-validator-0.1.4p2
|
||||
py3-jsonschema-4.24.0:py3-rfc3339-validator-0.1.4p2->0.1.4p2 (processing)(pretending)
|
||||
Update candidates: py3-rfc3986-validator-0.1.1p2 -> py3-rfc3986-validator-0.1.1p2
|
||||
py3-jsonschema-4.24.0:py3-rfc3986-validator-0.1.1p2->0.1.1p2 (processing)(pretending)
|
||||
Update candidates: py3-rpds-py-0.30.0p0 -> py3-rpds-py-0.30.0p0
|
||||
py3-jsonschema-4.24.0:py3-rpds-py-0.30.0p0->0.30.0p0 (processing)(pretending)
|
||||
Update candidates: py3-webcolors-25.10.0p0 -> py3-webcolors-25.10.0p0
|
||||
py3-jsonschema-4.24.0:py3-webcolors-25.10.0p0->25.10.0p0 (processing)(pretending)
|
||||
Update candidates: py3-referencing-0.37.0p0 -> py3-referencing-0.37.0p0
|
||||
py3-jsonschema-4.24.0:py3-referencing-0.37.0p0->0.37.0p0 (processing)(pretending)
|
||||
Update candidates: py3-jsonschema-specifications-2025.4.1 -> py3-jsonschema-specifications-2025.4.1
|
||||
py3-jsonschema-4.24.0:py3-jsonschema-specifications-2025.4.1->2025.4.1 (processing)(pretending)
|
||||
py3-jsonschema-4.24.0->4.24.0 (processing)(pretending)
|
||||
Update candidates: py3-jwt-2.10.1 -> py3-jwt-2.10.1
|
||||
py3-jwt-2.10.1->2.10.1 (processing)(pretending)
|
||||
Update candidates: py3-mock-5.1.0p0 -> py3-mock-5.1.0p0
|
||||
py3-mock-5.1.0p0->5.1.0p0 (processing)(pretending)
|
||||
Update candidates: py3-oauthlib-3.3.1 -> py3-oauthlib-3.3.1
|
||||
py3-oauthlib-3.3.1->3.3.1 (processing)(pretending)
|
||||
Update candidates: py3-passlib-1.9.3p0 -> py3-passlib-1.9.3p0
|
||||
py3-passlib-1.9.3p0->1.9.3p0 (processing)(pretending)
|
||||
Update candidates: py3-scrypt-0.9.4 -> py3-scrypt-0.9.4
|
||||
py3-passlib-1.9.3p0:py3-scrypt-0.9.4->0.9.4 (processing)(pretending)
|
||||
py3-passlib-1.9.3p0->1.9.3p0 (processing)(pretending)
|
||||
Update candidates: py3-platformdirs-4.9.6 -> py3-platformdirs-4.9.6
|
||||
py3-platformdirs-4.9.6->4.9.6 (processing)(pretending)
|
||||
Update candidates: py3-pluggy-1.6.0p0 -> py3-pluggy-1.6.0p0
|
||||
py3-pluggy-1.6.0p0->1.6.0p0 (processing)(pretending)
|
||||
Update candidates: py3-pygments-2.20.0 -> py3-pygments-2.20.0
|
||||
py3-pygments-2.20.0->2.20.0 (processing)(pretending)
|
||||
Update candidates: py3-pyproject_api-1.10.0 -> py3-pyproject_api-1.10.0
|
||||
py3-pyproject_api-1.10.0->1.10.0 (processing)(pretending)
|
||||
Update candidates: py3-python-discovery-1.2.1p0 -> py3-python-discovery-1.2.1p0
|
||||
py3-python-discovery-1.2.1p0->1.2.1p0 (processing)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (hashing)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (tieing)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (extracting)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (skipping)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (deleting)(pretending)
|
||||
py3-python-discovery-1.2.1p0 (installing)(pretending)
|
||||
Adding py3-python-discovery-1.2.1p0->1.2.1p0(pretending)
|
||||
Update candidates: py3-requests-2.33.1 -> py3-requests-2.33.1
|
||||
py3-requests-2.33.1->2.33.1 (processing)(pretending)
|
||||
Update candidates: py3-urllib3-1.26.20p0 -> py3-urllib3-1.26.20p0
|
||||
py3-requests-2.33.1:py3-urllib3-1.26.20p0->1.26.20p0 (processing)(pretending)
|
||||
py3-requests-2.33.1->2.33.1 (processing)(pretending)
|
||||
Update candidates: py3-responses-0.25.0p2 -> py3-responses-0.25.0p2
|
||||
py3-responses-0.25.0p2->0.25.0p2 (processing)(pretending)
|
||||
Update candidates: py3-yaml-6.0.2p1 -> py3-yaml-6.0.2p1
|
||||
py3-responses-0.25.0p2:py3-yaml-6.0.2p1->6.0.2p1 (processing)(pretending)
|
||||
py3-responses-0.25.0p2->0.25.0p2 (processing)(pretending)
|
||||
Update candidates: py3-serial-3.5p0 -> py3-serial-3.5p0
|
||||
py3-serial-3.5p0->3.5p0 (processing)(pretending)
|
||||
Update candidates: py3-test-9.0.2p0 -> py3-test-9.0.2p0
|
||||
py3-test-9.0.2p0->9.0.2p0 (processing)(pretending)
|
||||
Update candidates: py3-test-cov-7.1.0 -> py3-test-cov-7.1.0
|
||||
py3-test-cov-7.1.0->7.1.0 (processing)(pretending)
|
||||
Update candidates: py3-test-mock-3.15.1 -> py3-test-mock-3.15.1
|
||||
py3-test-mock-3.15.1->3.15.1 (processing)(pretending)
|
||||
Update candidates: py3-test-xdist-3.8.0 -> py3-test-xdist-3.8.0
|
||||
py3-test-xdist-3.8.0->3.8.0 (processing)(pretending)
|
||||
Update candidates: py3-tox-4.47.0 -> py3-tox-4.47.0
|
||||
py3-tox-4.47.0->4.47.0 (processing)(pretending)
|
||||
Update candidates: py3-virtualenv-21.2.3 -> py3-virtualenv-21.2.3
|
||||
py3-tox-4.47.0:py3-virtualenv-21.2.3->21.2.3 (processing)(pretending)
|
||||
py3-tox-4.47.0->4.47.0 (processing)(pretending)
|
||||
Update candidates: qemu-ga-10.2.1 -> qemu-ga-10.2.1
|
||||
qemu-ga-10.2.1->10.2.1 (processing)(pretending)
|
||||
Update candidates: sudo-1.9.17.2p1 -> sudo-1.9.17.2p1
|
||||
sudo-1.9.17.2p1->1.9.17.2p1 (processing)(pretending)
|
||||
Update candidates: updatedb-0p0 -> updatedb-0p0
|
||||
updatedb-0p0->0p0 (processing)(pretending)
|
||||
Merging manpages in /usr/local/man: /usr/local/man/man1/pcre2-config.1 /usr/local/man/man1/pcre2grep.1 /usr/local/man/man1/pcre2test.1 /usr/local/man/man3/pcre2.3 /usr/local/man/man3/pcre2_callout_enumerate.3 /usr/local/man/man3/pcre2_code_copy.3 /usr/local/man/man3/pcre2_code_copy_with_tables.3 /usr/local/man/man3/pcre2_code_free.3 /usr/local/man/man3/pcre2_compile.3 /usr/local/man/man3/pcre2_compile_context_copy.3 /usr/local/man/man3/pcre2_compile_context_create.3 /usr/local/man/man3/pcre2_compile_context_free.3 /usr/local/man/man3/pcre2_config.3 /usr/local/man/man3/pcre2_convert_context_copy.3 /usr/local/man/man3/pcre2_convert_context_create.3 /usr/local/man/man3/pcre2_convert_context_free.3 /usr/local/man/man3/pcre2_converted_pattern_free.3 /usr/local/man/man3/pcre2_dfa_match.3 /usr/local/man/man3/pcre2_general_context_copy.3 /usr/local/man/man3/pcre2_general_context_create.3 /usr/local/man/man3/pcre2_general_context_free.3 /usr/local/man/man3/pcre2_get_error_message.3 /usr/local/man/man3/pcre2_get_mark.3 /usr/local/man/man3/pcre2_get_match_data_heapframes_size.3 /usr/local/man/man3/pcre2_get_match_data_size.3 /usr/local/man/man3/pcre2_get_ovector_count.3 /usr/local/man/man3/pcre2_get_ovector_pointer.3 /usr/local/man/man3/pcre2_get_startchar.3 /usr/local/man/man3/pcre2_jit_compile.3 /usr/local/man/man3/pcre2_jit_free_unused_memory.3 /usr/local/man/man3/pcre2_jit_match.3 /usr/local/man/man3/pcre2_jit_stack_assign.3 /usr/local/man/man3/pcre2_jit_stack_create.3 /usr/local/man/man3/pcre2_jit_stack_free.3 /usr/local/man/man3/pcre2_maketables.3 /usr/local/man/man3/pcre2_maketables_free.3 /usr/local/man/man3/pcre2_match.3 /usr/local/man/man3/pcre2_match_context_copy.3 /usr/local/man/man3/pcre2_match_context_create.3 /usr/local/man/man3/pcre2_match_context_free.3 /usr/local/man/man3/pcre2_match_data_create.3 /usr/local/man/man3/pcre2_match_data_create_from_pattern.3 /usr/local/man/man3/pcre2_match_data_free.3 /usr/local/man/man3/pcre2_next_match.3 /usr/local/man/man3/pcre2_pattern_convert.3 /usr/local/man/man3/pcre2_pattern_info.3 /usr/local/man/man3/pcre2_serialize_decode.3 /usr/local/man/man3/pcre2_serialize_encode.3 /usr/local/man/man3/pcre2_serialize_free.3 /usr/local/man/man3/pcre2_serialize_get_number_of_codes.3 /usr/local/man/man3/pcre2_set_bsr.3 /usr/local/man/man3/pcre2_set_callout.3 /usr/local/man/man3/pcre2_set_character_tables.3 /usr/local/man/man3/pcre2_set_compile_extra_options.3 /usr/local/man/man3/pcre2_set_compile_recursion_guard.3 /usr/local/man/man3/pcre2_set_depth_limit.3 /usr/local/man/man3/pcre2_set_glob_escape.3 /usr/local/man/man3/pcre2_set_glob_separator.3 /usr/local/man/man3/pcre2_set_heap_limit.3 /usr/local/man/man3/pcre2_set_match_limit.3 /usr/local/man/man3/pcre2_set_max_pattern_compiled_length.3 /usr/local/man/man3/pcre2_set_max_pattern_length.3 /usr/local/man/man3/pcre2_set_max_varlookbehind.3 /usr/local/man/man3/pcre2_set_newline.3 /usr/local/man/man3/pcre2_set_offset_limit.3 /usr/local/man/man3/pcre2_set_optimize.3 /usr/local/man/man3/pcre2_set_parens_nest_limit.3 /usr/local/man/man3/pcre2_set_recursion_limit.3 /usr/local/man/man3/pcre2_set_recursion_memory_management.3 /usr/local/man/man3/pcre2_set_substitute_callout.3 /usr/local/man/man3/pcre2_set_substitute_case_callout.3 /usr/local/man/man3/pcre2_substitute.3 /usr/local/man/man3/pcre2_substring_copy_byname.3 /usr/local/man/man3/pcre2_substring_copy_bynumber.3 /usr/local/man/man3/pcre2_substring_free.3 /usr/local/man/man3/pcre2_substring_get_byname.3 /usr/local/man/man3/pcre2_substring_get_bynumber.3 /usr/local/man/man3/pcre2_substring_length_byname.3 /usr/local/man/man3/pcre2_substring_length_bynumber.3 /usr/local/man/man3/pcre2_substring_list_free.3 /usr/local/man/man3/pcre2_substring_list_get.3 /usr/local/man/man3/pcre2_substring_nametable_scan.3 /usr/local/man/man3/pcre2_substring_number_from_name.3 /usr/local/man/man3/pcre2api.3 /usr/local/man/man3/pcre2build.3 /usr/local/man/man3/pcre2callout.3 /usr/local/man/man3/pcre2compat.3 /usr/local/man/man3/pcre2convert.3 /usr/local/man/man3/pcre2demo.3 /usr/local/man/man3/pcre2jit.3 /usr/local/man/man3/pcre2limits.3 /usr/local/man/man3/pcre2matching.3 /usr/local/man/man3/pcre2partial.3 /usr/local/man/man3/pcre2pattern.3 /usr/local/man/man3/pcre2perform.3 /usr/local/man/man3/pcre2posix.3 /usr/local/man/man3/pcre2sample.3 /usr/local/man/man3/pcre2serialize.3 /usr/local/man/man3/pcre2syntax.3 /usr/local/man/man3/pcre2unicode.3
|
||||
@@ -0,0 +1,35 @@
|
||||
check_quotas
|
||||
cloudconfig
|
||||
cloudfinal
|
||||
cloudinit
|
||||
cloudinitlocal
|
||||
cron
|
||||
dhcpleased
|
||||
library_aslr
|
||||
ntpd
|
||||
pf
|
||||
pflogd
|
||||
qemu_ga
|
||||
resolvd
|
||||
slaacd
|
||||
smtpd
|
||||
sndiod
|
||||
sshd
|
||||
syslogd
|
||||
---
|
||||
cron
|
||||
dhcpleased
|
||||
ntpd
|
||||
pflogd
|
||||
resolvd
|
||||
slaacd
|
||||
smtpd
|
||||
sndiod
|
||||
sshd
|
||||
syslogd
|
||||
---
|
||||
cloudconfig
|
||||
cloudfinal
|
||||
cloudinit
|
||||
cloudinitlocal
|
||||
qemu_ga
|
||||
@@ -224,3 +224,216 @@ class TestListeningSockets:
|
||||
(s["proto"], s["address"], s["port"]) for s in result["sockets"]
|
||||
}
|
||||
assert calls == [("fstat -n", True), (OpenBSDDriver.LISTENING_FALLBACK_COMMAND, False)]
|
||||
|
||||
|
||||
class _Result:
|
||||
def __init__(self, stdout: str = "", exit_code: int = 0, stderr: str = "") -> None:
|
||||
self.stdout, self.exit_code, self.stderr = stdout, exit_code, stderr
|
||||
|
||||
|
||||
def _channel(cls, answers: dict):
|
||||
"""A driver whose run_command answers from *answers*: ``command -> stdout``
|
||||
or ``command -> (stdout, exit_code)``; ``(command, True)`` keys answer only
|
||||
privileged calls. Every call is recorded as ``(command, privileged)``."""
|
||||
driver = cls("host", "netork", "")
|
||||
calls: list[tuple[str, bool]] = []
|
||||
|
||||
def run(command, *, privileged=False, timeout=60, stdin=None):
|
||||
calls.append((command, privileged))
|
||||
answer = answers.get((command, privileged), answers.get(command, ""))
|
||||
stdout, code = answer if isinstance(answer, tuple) else (answer, 0)
|
||||
return _Result(stdout, code)
|
||||
|
||||
driver.run_command = run # type: ignore[method-assign]
|
||||
driver.calls = calls # type: ignore[attr-defined]
|
||||
return driver
|
||||
|
||||
|
||||
class TestPackages:
|
||||
def test_freebsd_packages_with_their_repository(self):
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
"pkg -N": "",
|
||||
FreeBSDDriver.PKG_QUERY: _read("freebsd-vm", "pkg_query_n_v_R_sb_c.txt"),
|
||||
},
|
||||
)
|
||||
packages = driver.get_packages()
|
||||
assert {p["source"] for p in packages} >= {"FreeBSD-base", "FreeBSD-ports"}
|
||||
|
||||
def test_freebsd_without_pkg_has_no_packages(self):
|
||||
"""A hand-installed classic system may never have bootstrapped pkg."""
|
||||
driver = _channel(FreeBSDDriver, {"pkg -N": ("pkg: pkg is not installed", 1)})
|
||||
assert driver.get_packages() == []
|
||||
assert driver.calls == [("pkg -N", False)]
|
||||
|
||||
def test_openbsd_packages(self):
|
||||
driver = _channel(OpenBSDDriver, {"pkg_info": _read("openbsd-vm", "pkg_info_full.txt")})
|
||||
assert any(p["name"] == "pcre2" for p in driver.get_packages())
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("cls", "install", "uninstall"),
|
||||
[
|
||||
(FreeBSDDriver, "pkg install -y nginx", "pkg delete -y nginx"),
|
||||
(OpenBSDDriver, "pkg_add -I nginx", "pkg_delete nginx"),
|
||||
],
|
||||
)
|
||||
def test_install_and_uninstall_as_root(self, cls, install, uninstall):
|
||||
driver = _channel(cls, {})
|
||||
driver.install_package("nginx")
|
||||
driver.uninstall_package("nginx")
|
||||
assert driver.calls == [(install, True), (uninstall, True)]
|
||||
|
||||
def test_a_version_is_part_of_the_name(self):
|
||||
driver = _channel(FreeBSDDriver, {})
|
||||
driver.install_package("nginx", "1.28.0")
|
||||
assert driver.calls == [("pkg install -y nginx-1.28.0", True)]
|
||||
|
||||
def test_a_failed_install_raises(self):
|
||||
driver = _channel(OpenBSDDriver, {("pkg_add -I nope", True): ("Can't find nope", 1)})
|
||||
with pytest.raises(RuntimeError, match="nope"):
|
||||
driver.install_package("nope")
|
||||
|
||||
@pytest.mark.parametrize("name", ["", "nginx; reboot", "-f", "a b"])
|
||||
def test_a_name_that_is_not_a_package_is_refused(self, name):
|
||||
driver = _channel(FreeBSDDriver, {})
|
||||
with pytest.raises(ValueError):
|
||||
driver.install_package(name)
|
||||
assert driver.calls == []
|
||||
|
||||
|
||||
class TestAvailableUpdates:
|
||||
def test_freebsd_marks_what_vuxml_knows(self):
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
"pkg -N": "",
|
||||
("pkg upgrade -n", True): _read("freebsd-vm", "sudo_pkg_upgrade_n_latest.txt"),
|
||||
("pkg audit -Fq", True): ("python312-3.12.14\nexpat-2.8.2\n", 1),
|
||||
"pkg repos -l": _read("freebsd-vm", "pkg_repos_l.txt"),
|
||||
},
|
||||
)
|
||||
updates = {u["name"]: u for u in driver.get_available_updates()}
|
||||
assert len(updates) == 10
|
||||
assert updates["expat"]["security"] is True
|
||||
assert updates["pkg"]["security"] is False
|
||||
assert updates["pkg"]["origin"] == "FreeBSD-ports"
|
||||
assert "base-system" not in updates # pkgbase: the base system is packages
|
||||
|
||||
def test_freebsd_without_an_audit_cannot_tell(self):
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
"pkg -N": "",
|
||||
("pkg upgrade -n", True): _read("freebsd-vm", "sudo_pkg_upgrade_n_latest.txt"),
|
||||
("pkg audit -Fq", True): ("pkg: cannot fetch", 3),
|
||||
"pkg repos -l": "FreeBSD-ports\nFreeBSD-base\n",
|
||||
},
|
||||
)
|
||||
assert {u["security"] for u in driver.get_available_updates()} == {None}
|
||||
|
||||
def test_classic_freebsd_reports_fetched_base_updates_as_one_entry(self):
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
"pkg -N": ("pkg: pkg is not installed", 1),
|
||||
("freebsd-update --not-running-from-cron updatesready", True): ("", 0),
|
||||
"freebsd-version -u": "15.1-RELEASE",
|
||||
},
|
||||
)
|
||||
assert driver.get_available_updates() == [
|
||||
{
|
||||
"name": "base-system",
|
||||
"current_version": "15.1-RELEASE",
|
||||
"new_version": "fetched by freebsd-update",
|
||||
"origin": "freebsd-update",
|
||||
"security": None,
|
||||
}
|
||||
]
|
||||
|
||||
def test_classic_freebsd_without_fetched_updates(self):
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
"pkg -N": ("", 1),
|
||||
("freebsd-update --not-running-from-cron updatesready", True): ("", 2),
|
||||
},
|
||||
)
|
||||
assert driver.get_available_updates() == []
|
||||
|
||||
def test_openbsd_packages_and_syspatches(self):
|
||||
driver = _channel(
|
||||
OpenBSDDriver,
|
||||
{
|
||||
("pkg_add -u -n -v", True): _read("openbsd-vm", "sudo_pkg_add_u_n_v.txt"),
|
||||
("syspatch -c", True): _read("openbsd-vm", "syspatch_c.txt"),
|
||||
("syspatch -l", True): "",
|
||||
"uname -r": "7.9",
|
||||
},
|
||||
)
|
||||
updates = {u["name"]: u for u in driver.get_available_updates()}
|
||||
assert updates["pcre2"]["new_version"] == "10.48"
|
||||
assert updates["pcre2"]["security"] is None
|
||||
base = updates["base-system"]
|
||||
assert base["current_version"] == "7.9"
|
||||
assert base["new_version"].startswith("34 patches: 001_xserver")
|
||||
assert base["origin"] == "syspatch"
|
||||
assert base["security"] is None
|
||||
|
||||
def test_openbsd_fully_patched(self):
|
||||
driver = _channel(
|
||||
OpenBSDDriver, {("pkg_add -u -n -v", True): "", ("syspatch -c", True): ""}
|
||||
)
|
||||
assert driver.get_available_updates() == []
|
||||
|
||||
|
||||
class TestServices:
|
||||
def test_freebsd_reads_the_status_as_root(self):
|
||||
status = _read("freebsd-vm", "sudo_service_status_loop.txt")
|
||||
driver = _channel(FreeBSDDriver, {(FreeBSDDriver.SERVICE_STATUS_COMMAND, True): status})
|
||||
services = {s["name"]: s for s in driver.get_services()}
|
||||
assert services["cron"]["running"] is True
|
||||
|
||||
def test_freebsd_without_root_reads_what_it_can(self):
|
||||
status = _read("freebsd-vm", "service_status_loop.txt")
|
||||
driver = _channel(
|
||||
FreeBSDDriver,
|
||||
{
|
||||
(FreeBSDDriver.SERVICE_STATUS_COMMAND, True): ("sudo: a password is required", 1),
|
||||
(FreeBSDDriver.SERVICE_STATUS_COMMAND, False): status,
|
||||
},
|
||||
)
|
||||
assert {s["name"] for s in driver.get_services()} >= {"sshd", "cron"}
|
||||
|
||||
def test_openbsd(self):
|
||||
driver = _channel(
|
||||
OpenBSDDriver,
|
||||
{OpenBSDDriver.SERVICE_STATUS_COMMAND: _read("openbsd-vm", "rcctl_check_loop.txt")},
|
||||
)
|
||||
assert {s["name"]: s["running"] for s in driver.get_services()}["smtpd"] is True
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("cls", "command"),
|
||||
[(FreeBSDDriver, "service sshd restart"), (OpenBSDDriver, "rcctl restart sshd")],
|
||||
)
|
||||
def test_manage_as_root(self, cls, command):
|
||||
driver = _channel(cls, {})
|
||||
assert driver.manage_service("sshd", "restart") == {"success": True, "output": ""}
|
||||
assert driver.calls == [(command, True)]
|
||||
|
||||
def test_a_failed_action_says_so(self):
|
||||
driver = _channel(
|
||||
OpenBSDDriver, {("rcctl start nope", True): ("rcctl: service nope does not exist", 2)}
|
||||
)
|
||||
result = driver.manage_service("nope", "start")
|
||||
assert result["success"] is False
|
||||
assert "does not exist" in result["output"]
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("name", "action"), [("sshd", "reload"), ("sshd;reboot", "start"), ("", "start")]
|
||||
)
|
||||
def test_refused_before_anything_is_sent(self, name, action):
|
||||
driver = _channel(FreeBSDDriver, {})
|
||||
with pytest.raises(ValueError):
|
||||
driver.manage_service(name, action)
|
||||
assert driver.calls == []
|
||||
|
||||
@@ -269,3 +269,89 @@ class TestListeningSockets:
|
||||
def test_a_socket_held_by_two_processes_is_listed_once(self):
|
||||
text = "www nginx 901 6 tcp4 *:80 *:*\nwww nginx 900 6 tcp4 *:80 *:*\n"
|
||||
assert [(s["pid"]) for s in parse.sockstat(text)] == [901]
|
||||
|
||||
|
||||
class TestPackages:
|
||||
def test_freebsd_pkg_query_names_the_repository(self):
|
||||
packages = parse.pkg_query(fixture("freebsd-vm", "pkg_query_n_v_R_sb_c.txt"))
|
||||
acct = next(p for p in packages if p["name"] == "FreeBSD-acct")
|
||||
assert acct == {
|
||||
"name": "FreeBSD-acct",
|
||||
"version": "15.1p4",
|
||||
"installed": True,
|
||||
"description": "System resource accounting",
|
||||
"size": 118976,
|
||||
"source": "FreeBSD-base",
|
||||
}
|
||||
assert any(p["source"] == "FreeBSD-ports" for p in packages)
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("full", "name", "version"),
|
||||
[
|
||||
("pcre2-10.44", "pcre2", "10.44"),
|
||||
("bash-completion-2.17.0", "bash-completion", "2.17.0"),
|
||||
("py3-tzdata-2026.3", "py3-tzdata", "2026.3"),
|
||||
("argon2-20190702p0", "argon2", "20190702p0"),
|
||||
("gettext-runtime-1.0", "gettext-runtime", "1.0"),
|
||||
],
|
||||
)
|
||||
def test_openbsd_package_names(self, full, name, version):
|
||||
assert parse.split_package(full) == (name, version)
|
||||
|
||||
def test_openbsd_pkg_info(self):
|
||||
packages = parse.pkg_info(fixture("openbsd-vm", "pkg_info_full.txt"))
|
||||
assert packages[1] == {
|
||||
"name": "bash",
|
||||
"version": "5.3.9",
|
||||
"installed": True,
|
||||
"description": "GNU Bourne Again Shell",
|
||||
"size": 0,
|
||||
"source": "pkg_add",
|
||||
}
|
||||
assert any(p["name"] == "bash-completion" for p in packages)
|
||||
|
||||
|
||||
class TestUpdates:
|
||||
def test_freebsd_pkg_upgrade_dry_run(self):
|
||||
updates = parse.pkg_upgrades(fixture("freebsd-vm", "sudo_pkg_upgrade_n_latest.txt"))
|
||||
assert len(updates) == 10
|
||||
assert updates[0] == {
|
||||
"name": "expat",
|
||||
"current_version": "2.8.2",
|
||||
"new_version": "2.8.5",
|
||||
"origin": "FreeBSD-ports",
|
||||
}
|
||||
|
||||
def test_freebsd_pkg_audit_names_the_vulnerable_packages(self):
|
||||
text = fixture("freebsd-vm", "sudo_pkg_audit_Fq.txt").replace("rc=1\n", "")
|
||||
assert parse.pkg_audit(text) == {"python312", "expat"}
|
||||
|
||||
def test_openbsd_update_candidates_that_change(self):
|
||||
updates = parse.pkg_add_candidates(fixture("openbsd-vm", "sudo_pkg_add_u_n_v.txt"))
|
||||
assert updates == [
|
||||
{"name": "pcre2", "current_version": "10.44", "new_version": "10.48"},
|
||||
{"name": "py3-tzdata", "current_version": "2026.3", "new_version": "2026.4"},
|
||||
]
|
||||
|
||||
def test_openbsd_syspatch(self):
|
||||
patches = parse.syspatch(fixture("openbsd-vm", "syspatch_c.txt"))
|
||||
assert len(patches) == 34
|
||||
assert patches[0] == "001_xserver"
|
||||
|
||||
|
||||
class TestServices:
|
||||
def test_freebsd_status_as_root(self):
|
||||
services = {
|
||||
s["name"]: s
|
||||
for s in parse.service_status(fixture("freebsd-vm", "sudo_service_status_loop.txt"))
|
||||
}
|
||||
assert services["sshd"] == {"name": "sshd", "running": True, "enabled": True, "pid": 1282}
|
||||
assert services["qemu-guest-agent"]["running"] is False
|
||||
assert services["hostid"]["running"] is False # a one-shot script without a status
|
||||
|
||||
def test_openbsd_rcctl_check(self):
|
||||
services = {
|
||||
s["name"]: s for s in parse.rcctl_check(fixture("openbsd-vm", "rcctl_check_loop.txt"))
|
||||
}
|
||||
assert services["sshd"] == {"name": "sshd", "running": True, "enabled": True, "pid": 0}
|
||||
assert services["check_quotas"]["running"] is False
|
||||
|
||||
Reference in New Issue
Block a user