feat: packages, services and updates
CI / test (3.10) (push) Successful in 26s
CI / test (3.11) (push) Successful in 24s
CI / test (3.12) (push) Successful in 26s
CI / test (3.10) (pull_request) Successful in 25s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 25s
CI / test (3.10) (push) Successful in 26s
CI / test (3.11) (push) Successful in 24s
CI / test (3.12) (push) Successful in 26s
CI / test (3.10) (pull_request) Successful in 25s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 25s
The write side NetOrk/netork#799 needs, on both drivers. - Packages: get_packages (FreeBSD `pkg query` with the repository as source, nothing on a classic system without pkg; OpenBSD `pkg_info`), install_package / uninstall_package as root (`pkg install`/`pkg delete`, `pkg_add -I`/`pkg_delete`), names checked before anything is sent, a failure raised with what the tool printed. - Updates: get_available_updates. FreeBSD `pkg upgrade -n`, with `security` from VuXML (`pkg audit`: True for a listed package, False for any other, None when the audit could not run); OpenBSD `pkg_add -u -n -v` (no security verdict). Base-system patches are one `base-system` entry, as decided in #799: OpenBSD's `syspatch -c`, and on a classic FreeBSD what `freebsd-update` has fetched; on pkgbase the base system is packages from FreeBSD-base. - Services: get_services lists the enabled ones (FreeBSD `service ... status` as root, as root-only pidfiles hide daemons otherwise, without root when sudo refuses; OpenBSD `rcctl check`), manage_service runs start/stop/restart/enable/disable as root and returns success and output. Fixtures recorded on the FreeBSD 15.1 and OpenBSD 7.9 VMs with genuinely outdated packages (FreeBSD pointed at the latest branch, an OpenBSD package taken back to its release build). Checked live on both, including a service restart and installing and removing a package.
This commit is contained in:
@@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
### Added
|
### 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
|
- `get_listening_sockets()` in the shape of `ListeningSocketsMixin`: FreeBSD
|
||||||
through `sockstat`, OpenBSD through `fstat` as root and `netstat -an`
|
through `sockstat`, OpenBSD through `fstat` as root and `netstat -an`
|
||||||
without, which the reading reports as `attributed: False`.
|
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_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_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_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'
|
`get_listening_sockets` has the shape of napalm-device-types'
|
||||||
`ListeningSocketsMixin` (whose `ss`/cgroup reading is Linux's) and its rule:
|
`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
|
Linux kernel's modules and `CONFIG_*` options, which a BSD kernel does not
|
||||||
have, and `hasattr(driver, "get_kernel_facts")` has to stay truthful.
|
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
|
## Connection arguments
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ stdin, as napalm-linux does it.
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
import socket
|
import socket
|
||||||
from shlex import quote
|
from shlex import quote
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
@@ -27,6 +28,14 @@ from napalm_bsd import parse
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
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):
|
class BsdDriver(OSDriver):
|
||||||
"""Base for the BSD drivers; a concrete one names the commands that differ."""
|
"""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),
|
"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 -----------------------------------------------
|
# -- accounts, processes, cron -----------------------------------------------
|
||||||
|
|
||||||
def get_users(self) -> list[dict[str, Any]]:
|
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_device_types import FingerprintRule
|
||||||
|
|
||||||
from napalm_bsd import parse
|
from napalm_bsd import parse
|
||||||
from napalm_bsd.base import BsdDriver
|
from napalm_bsd.base import BASE_SYSTEM, BsdDriver
|
||||||
|
|
||||||
|
|
||||||
class FreeBSDDriver(BsdDriver):
|
class FreeBSDDriver(BsdDriver):
|
||||||
@@ -35,6 +35,68 @@ class FreeBSDDriver(BsdDriver):
|
|||||||
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
||||||
return parse.sockstat(output)
|
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:
|
def _os_version(self) -> str:
|
||||||
version = super()._os_version()
|
version = super()._os_version()
|
||||||
return f"FreeBSD {version}" if version else ""
|
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_device_types import FingerprintRule
|
||||||
|
|
||||||
from napalm_bsd import parse
|
from napalm_bsd import parse
|
||||||
from napalm_bsd.base import BsdDriver
|
from napalm_bsd.base import BASE_SYSTEM, BsdDriver
|
||||||
|
|
||||||
|
|
||||||
class OpenBSDDriver(BsdDriver):
|
class OpenBSDDriver(BsdDriver):
|
||||||
@@ -33,6 +33,56 @@ class OpenBSDDriver(BsdDriver):
|
|||||||
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
def _parse_listening(self, output: str, *, attributed: bool) -> list[dict]:
|
||||||
return parse.fstat_sockets(output) if attributed else parse.netstat_listening(output)
|
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]:
|
def _hardware(self) -> tuple[str, str, str]:
|
||||||
hw = self._platform()
|
hw = self._platform()
|
||||||
return hw.get("vendor", ""), hw.get("product", ""), hw.get("serialno", "")
|
return hw.get("vendor", ""), hw.get("product", ""), hw.get("serialno", "")
|
||||||
|
|||||||
@@ -347,3 +347,146 @@ def netstat_listening(text: str) -> list[dict[str, Any]]:
|
|||||||
continue
|
continue
|
||||||
sockets.append(_socket(proto, local, family, None, None))
|
sockets.append(_socket(proto, local, family, None, None))
|
||||||
return _unique(sockets)
|
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
|
id
|
||||||
sockstat -46lq -P tcp,udp
|
sockstat -46lq -P tcp,udp
|
||||||
sudo 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
|
sudo fstat -n
|
||||||
fstat -n
|
fstat -n
|
||||||
netstat -an -f inet; netstat -an -f inet6
|
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"]
|
(s["proto"], s["address"], s["port"]) for s in result["sockets"]
|
||||||
}
|
}
|
||||||
assert calls == [("fstat -n", True), (OpenBSDDriver.LISTENING_FALLBACK_COMMAND, False)]
|
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):
|
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"
|
text = "www nginx 901 6 tcp4 *:80 *:*\nwww nginx 900 6 tcp4 *:80 *:*\n"
|
||||||
assert [(s["pid"]) for s in parse.sockstat(text)] == [901]
|
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