brand: Edited files and removed bloat.
This commit is contained in:
@@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
start_time=$(date +%s)
|
||||
pkg install -y "$@" && exit 0
|
||||
|
||||
cat <<EOF
|
||||
pkg install failed after $(($(date +%s) - $start_time))s
|
||||
|
||||
dmesg tail:
|
||||
$(dmesg | tail)
|
||||
|
||||
trying again
|
||||
EOF
|
||||
|
||||
start_time=$(date +%s)
|
||||
pkg install -y "$@" && exit 0
|
||||
|
||||
cat <<EOF
|
||||
second pkg install failed after $(($(date +%s) - $start_time))s
|
||||
EOF
|
||||
exit 1
|
||||
-237
@@ -1,237 +0,0 @@
|
||||
|
||||
compute_engine_instance:
|
||||
# Image list available via
|
||||
# gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images
|
||||
platform: freebsd
|
||||
image_project: freebsd-org-cloud-dev
|
||||
image: freebsd-15-0-release-amd64-ufs
|
||||
cpu: 8
|
||||
memory: 8G
|
||||
disk: 40
|
||||
|
||||
env:
|
||||
PKG_LEVEL: 1
|
||||
|
||||
task:
|
||||
matrix:
|
||||
- name: amd64-llvm16 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: llvm16
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
|
||||
- name: amd64-llvm17 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: llvm17
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
|
||||
- name: amd64-llvm18 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: llvm18
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
|
||||
- name: amd64-llvm19 World and kernel build and boot smoke test
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: llvm19
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
|
||||
- name: amd64-llvm21 World and kernel build and boot smoke test
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*'
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: llvm21
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
|
||||
- name: arm64-llvm16 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: llvm16
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
- name: arm64-llvm17 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: llvm17
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
- name: arm64-llvm18 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: llvm18
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
- name: arm64-llvm19 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: llvm19
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
- name: arm64-llvm21 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: llvm21
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
- name: amd64-gcc12 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: amd64-gcc12
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: amd64-gcc13 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: amd64-gcc13
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: amd64-gcc14 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: amd64-gcc14
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: aarch64-gcc12 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: aarch64-gcc12
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: aarch64-gcc13 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: aarch64-gcc13
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: aarch64-gcc14 World and kernel build and boot smoke test (manual)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
|
||||
trigger_type: manual
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
TOOLCHAIN: aarch64-gcc14
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
- name: amd64-gcc14 World and kernel build and boot smoke test (FreeBSD repo)
|
||||
only_if: $CIRRUS_REPO_FULL_NAME == 'freebsd/freebsd-src' && $CIRRUS_BRANCH =~ 'pull/.*'
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
TOOLCHAIN: amd64-gcc14
|
||||
TOOLCHAIN_PKG: ${TOOLCHAIN}
|
||||
EXTRA_MAKE_FLAGS: -s
|
||||
timeout_in: 120m
|
||||
install_script:
|
||||
- sh .cirrus-ci/pkg-install.sh ${TOOLCHAIN_PKG} git-lite
|
||||
|
||||
setup_script:
|
||||
- uname -a
|
||||
- gpart show
|
||||
- df -m
|
||||
- pkg --version
|
||||
- pw useradd -n user -m
|
||||
- mkdir -p /usr/obj/$(pwd -P)
|
||||
- chown user:user /usr/obj/$(pwd -P)
|
||||
- su user -c "git config --global --add safe.directory $(pwd -P)"
|
||||
|
||||
build_world_script:
|
||||
- su user -c "make -j$(nproc) ${EXTRA_MAKE_FLAGS} CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildworld"
|
||||
|
||||
build_kernel_script:
|
||||
- su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes buildkernel"
|
||||
|
||||
package_script:
|
||||
- su user -c "make -j$(nproc) CROSS_TOOLCHAIN=${TOOLCHAIN} WITHOUT_TOOLCHAIN=yes packages"
|
||||
|
||||
test_script:
|
||||
- sh .cirrus-ci/pkg-install.sh qemu-nox11
|
||||
- sh tools/boot/ci-qemu-test.sh
|
||||
|
||||
package_check_script:
|
||||
- su user -c "/usr/libexec/flua tools/pkgbase/metalog_reader.lua -c /usr/obj/$(pwd -P)/${TARGET}.${TARGET_ARCH}/worldstage/METALOG"
|
||||
|
||||
make_sysent_script:
|
||||
# Check that make sysent results were committed if required
|
||||
- make sysent
|
||||
- if ! git diff --exit-code; then printf "\n>>> Generated sysent files not updated, run make sysent <<<\n"; false; fi
|
||||
|
||||
include_ldirs_script:
|
||||
# Check that includes/Makefile refers to existing directories
|
||||
- if ! make -C include/ check-ldirs; then printf "\n>>> include/Makefile lists nonexistant directories <<<\n"; false; fi
|
||||
|
||||
makeman_script:
|
||||
# Check that the committed src.conf.5 matches the one generated by
|
||||
# tools/build/options/makeman (modulo the date which always updates)
|
||||
# XXX: This script is slow so keep it last
|
||||
- (make makeman 2> /tmp/makeman.out); cat /tmp/makeman.out
|
||||
- if ! git diff --exit-code --ignore-matching-lines "^.Dd" share/man/man5/src.conf.5; then printf "\n>>> src.conf.5 was not updated as required <<<\n"; false; fi
|
||||
- if grep -q "no description found" /tmp/makeman.out; then printf "\n>>> Missing description files <<<\n"; false; fi
|
||||
|
||||
post_script:
|
||||
- df -m
|
||||
- du -m -s /usr/obj
|
||||
|
||||
precommit_task:
|
||||
persistent_worker:
|
||||
labels:
|
||||
jail: FreeBSD-src
|
||||
matrix:
|
||||
- name: amd64 smoke test using internal ci systems
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*'
|
||||
env:
|
||||
TARGET: amd64
|
||||
TARGET_ARCH: amd64
|
||||
- name: aarch64 smoke test using internal ci systems
|
||||
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*'
|
||||
env:
|
||||
TARGET: arm64
|
||||
TARGET_ARCH: aarch64
|
||||
timeout_in: 120m
|
||||
|
||||
setup_script:
|
||||
- uname -a
|
||||
- gpart show
|
||||
- df -m
|
||||
- pkg --version
|
||||
|
||||
ci_script:
|
||||
- make -C tests/ci TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} CIENV=cirrus CITYPE=smoke ci
|
||||
|
||||
post_script:
|
||||
- df -m
|
||||
- du -m -s /usr/obj
|
||||
@@ -1,145 +0,0 @@
|
||||
# Please note that the content of this file is strictly advisory.
|
||||
# No locks listed here are valid. The only strict review requirements
|
||||
# are granted by core. These are documented in head/LOCKS and enforced
|
||||
# by gitadm@.
|
||||
#
|
||||
# The source tree is a community effort. However, some folks go to the
|
||||
# trouble of looking after particular areas of the tree. In return for
|
||||
# their active caretaking of the code it is polite to coordinate changes
|
||||
# with them. This is a list of people who have expressed an interest in
|
||||
# part of the code or listed their active caretaking role so that other
|
||||
# committers can easily find somebody who is familiar with it. The notes
|
||||
# should specify if there is a 3rd party source tree involved or other
|
||||
# things that should be kept in mind.
|
||||
#
|
||||
# However, this is not a 'big stick', it is an offer to help and a
|
||||
# source of guidance. It does not override the communal nature of the
|
||||
# tree. It is not a registry of 'turf' or private property.
|
||||
#
|
||||
# ***
|
||||
# This list is prone to becoming stale quickly. The best way to find the
|
||||
# recent maintainer of a sub-system is to check recent logs for that
|
||||
# directory or sub-system.
|
||||
# ***
|
||||
#
|
||||
# ***
|
||||
# Maintainers are encouraged to visit:
|
||||
# https://reviews.freebsd.org/herald
|
||||
#
|
||||
# and configure Phabricator notifications for parts of the tree which
|
||||
# they maintain. Notifications can automatically be sent when someone
|
||||
# proposes a revision or makes a commit to the specified subtree.
|
||||
# ***
|
||||
|
||||
/bin/sh @jillest
|
||||
/contrib/atf @ngie-eign
|
||||
/contrib/blocklist @jlduran
|
||||
/contrib/googletest @ngie-eign
|
||||
/contrib/libcxxrt @DimitryAndric @emaste
|
||||
/contrib/llvm-project @DimitryAndric
|
||||
/contrib/llvm-project/libunwind @DimitryAndric @emaste @bsdjhb
|
||||
/contrib/llvm-project/lldb @DimitryAndric @emaste
|
||||
/contrib/llvm-project/openmp @DimitryAndric @emaste
|
||||
/contrib/mandoc @concussious
|
||||
/contrib/netbsd-tests @ngie-eign
|
||||
/contrib/netbsd-tests/crypto/opencrypto/ @jmgurney
|
||||
/contrib/netbsd-tests/kernel/kqueue/ @jmgurney
|
||||
/contrib/one-true-awk/ @bsdimp
|
||||
/contrib/openpam/ @dag-erling
|
||||
/contrib/pjdfstest @ngie-eign @asomers
|
||||
/contrib/wpa @cschuber
|
||||
/crypto/heimdal @cschuber
|
||||
/crypto/krb5 @cschuber
|
||||
/crypto/openssh @dag-erling @emaste
|
||||
/crypto/openssl/ @ngie-eign
|
||||
/etc/mail @gshapiro
|
||||
/etc/sendmail @gshapiro
|
||||
/kerberos5 @cschuber
|
||||
/krb5 @cschuber
|
||||
/lib/libblocklist @jlduran
|
||||
/lib/libc/string/ @fuz
|
||||
/lib/libc/*/string/ @fuz
|
||||
/lib/libc/gen/fts.? @dag-erling
|
||||
/lib/libc/stdio/ @dag-erling
|
||||
/lib/libc/sys/kevent.c @jmgurney
|
||||
/lib/libc/tests/gen/fts* @dag-erling
|
||||
/lib/libc/tests/stdio/ @dag-erling
|
||||
/lib/libefivar/ @bsdimp
|
||||
/lib/libfetch @dag-erling
|
||||
/lib/libpam/ @dag-erling
|
||||
/lib/libsecureboot/ @stephane-rochoy-stormshield
|
||||
/lib/libveriexec/ @stephane-rochoy-stormshield
|
||||
/lib/libvmmapi @bsdjhb @bryanv @markjdb @khng300 @markpeek
|
||||
/libexec/nuageinit/ @bapt
|
||||
/libexec/rc/rc.d/rctl/ @trasz
|
||||
/sbin/ipf @cschuber
|
||||
/sbin/mount_fusefs @asomers
|
||||
/sbin/nvmecontrol @bsdimp
|
||||
/sbin/veriexec/ @stephane-rochoy-stormshield
|
||||
/secure/lib/libcrypto/ @ngie-eign
|
||||
/secure/lib/libssl/ @ngie-eign
|
||||
/share/man/ @concussious
|
||||
/share/mk @bsdimp @bapt @bdrewery @brooksdavis @emaste
|
||||
/stand @bsdimp
|
||||
/stand/lua @kevans91
|
||||
/stand/veriexec.mk @stephane-rochoy-stormshield
|
||||
/sys/amd64/pci @bsdimp @bsdjhb
|
||||
/sys/amd64/vmm/ @bsdjhb @bryanv @markjdb @khng300 @markpeek
|
||||
/sys/arm/allwinner @evadot
|
||||
/sys/arm64/arm64 @zxombie
|
||||
/sys/arm64/include @zxombie
|
||||
/sys/arm64/rockchip @evadot
|
||||
/sys/arm64/vmm @zxombie
|
||||
/sys/compat/linprocfs/ @dag-erling
|
||||
/sys/crypto/openssl/ @ngie-eign
|
||||
/sys/dev/drm2 @bsdimp
|
||||
/sys/dev/ftgpio/ @stephane-rochoy-stormshield
|
||||
/sys/dev/ftwd/ @stephane-rochoy-stormshield
|
||||
/sys/dev/iscsi/ @trasz
|
||||
/sys/dev/nctgpio/ @stephane-rochoy-stormshield
|
||||
/sys/dev/ncthwm/ @stephane-rochoy-stormshield
|
||||
/sys/dev/mpi3mr @bsdimp
|
||||
/sys/dev/mps @bsdimp
|
||||
/sys/dev/mpr @bsdimp
|
||||
/sys/dev/nvd @bsdimp
|
||||
/sys/dev/nvme @bsdimp
|
||||
/sys/dev/pci @bsdimp @bsdjhb
|
||||
/sys/dev/superio/ @stephane-rochoy-stormshield
|
||||
/sys/dev/veriexec/ @stephane-rochoy-stormshield
|
||||
/sys/dev/vt/ @emaste
|
||||
/sys/fs/autofs/ @trasz
|
||||
/sys/fs/fuse/ @asomers
|
||||
/sys/fs/procfs/ @dag-erling
|
||||
/sys/fs/pseudofs/ @dag-erling
|
||||
/sys/kern/syscalls.master @brooksdavis
|
||||
/sys/kern/vfs_aio.c @asomers
|
||||
/sys/netinet/ip_carp.c @glebius
|
||||
/sys/netpfil/ipfilter @cschuber
|
||||
/sys/netpfil/pf @glebius
|
||||
/sys/opencrypto/ @jmgurney
|
||||
/sys/security/mac_veriexec/ @stephane-rochoy-stormshield
|
||||
/sys/security/mac_veriexec_parser/ @stephane-rochoy-stormshield
|
||||
/sys/tools/syscalls/ @brooksdavis
|
||||
/sys/x86/pci @bsdimp @bsdjhb
|
||||
/tests @ngie-eign
|
||||
/tests/sys/aio/ @asomers
|
||||
/tests/sys/capsicum/ @ngie-eign @emaste
|
||||
/tests/sys/fs/fusefs/ @asomers
|
||||
/tests/sys/kqueue/ @jmgurney
|
||||
/tests/sys/opencrypto/ @jmgurney
|
||||
/tools/build @bsdimp
|
||||
/tools/regression/iscsi/ @trasz
|
||||
/tools/regression/sockets/kqueue/ @jmgurney
|
||||
/tools/tools/nanobsd @bsdimp
|
||||
/usr.bin/fetch @dag-erling
|
||||
/usr.bin/rctl/ @trasz
|
||||
/usr.bin/top @grimreaper
|
||||
/usr.sbin/autofs/ @trasz
|
||||
/usr.sbin/bhyve @bsdjhb @bryanv @markjdb @khng300 @markpeek
|
||||
/usr.sbin/bhyvectl @bsdjhb @bryanv @markjdb @khng300 @markpeek
|
||||
/usr.sbin/bhyveload @bsdjhb @bryanv @markjdb @khng300 @markpeek
|
||||
/usr.sbin/blocklistctl @jlduran
|
||||
/usr.sbin/blocklistd @jlduran
|
||||
/usr.sbin/lpr @gbergling
|
||||
/usr.sbin/makefs @emaste
|
||||
/usr.sbin/wpa @cschuber
|
||||
@@ -1,16 +0,0 @@
|
||||
Please include this information, either here or in your commit messages for the
|
||||
pull request, as appropriate (or delete the line if there's nothing relevant.
|
||||
|
||||
PR: <If and which Problem Report is related.>
|
||||
Reported by: <If someone else reported the issue.>
|
||||
Reviewed by: <If someone else reviewed your modification.>
|
||||
Tested by: <If someone else tested the change.>
|
||||
Approved by: <If you needed approval for this commit.>
|
||||
Obtained from: <If the change is from a third party.>
|
||||
Fixes: <Short hash and title line of commit fixed by this change>
|
||||
MFC after: <N [day[s]|week[s]|month[s]]. Request a reminder email>
|
||||
Relnotes: <Set to 'yes' for mention in release notes.>
|
||||
Security: <Vulnerability reference (one per line) or description.>
|
||||
Sponsored by: <If the change was sponsored by an organization.>
|
||||
Pull Request: <https://github.com/freebsd/<repo>/pull/###>
|
||||
Differential Revision: <https://reviews.freebsd.org/D###>
|
||||
@@ -1,10 +0,0 @@
|
||||
#
|
||||
# Format the similar to CODEOWNERS: Each line has a path, whitespace and a
|
||||
# message for contributors.
|
||||
#
|
||||
sys/contrib/device-tree :caution: No changes should be made here by pull request
|
||||
# Catch all
|
||||
contrib :warning: Contributed software usually managed by vendor branch
|
||||
crypto :warning: Contributed crypto software usually managed by vendor branch
|
||||
sys/contrib :warning: Contributed software usually managed by vendor branch
|
||||
sys/crypto/skein :warning: Contributed crypto software usually managed by vendor branch
|
||||
@@ -1,194 +0,0 @@
|
||||
name: Checklist
|
||||
|
||||
# Produce a list of things that need to be changed
|
||||
# for the submission to align with CONTRIBUTING.md
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [ opened, reopened, edited, synchronize ]
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
checklist:
|
||||
name: commit
|
||||
if: github.repository == 'freebsd/freebsd-src'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@v7
|
||||
with:
|
||||
# An asynchronous javascript function
|
||||
script: |
|
||||
/*
|
||||
* Github's API returns the results in pages of 30, so
|
||||
* pass the function we want, along with it's arguments,
|
||||
* to paginate() which will handle gathering all the results.
|
||||
*/
|
||||
const comments = await github.paginate(github.rest.issues.listComments, {
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: context.issue.number
|
||||
});
|
||||
|
||||
const commits = await github.paginate(github.rest.pulls.listCommits, {
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: context.issue.number
|
||||
});
|
||||
|
||||
/* Get owners */
|
||||
|
||||
let owners = [];
|
||||
const { data: ownerData } = await github.rest.repos.getContent({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
path: '.github/CODEOWNERS',
|
||||
ref: context.payload.pull_request.base.ref // Or a specific branch
|
||||
});
|
||||
const oc = Buffer.from(ownerData.content, 'base64').toString();
|
||||
owners = oc.split(/\r?\n/)
|
||||
.map(line => line.trim())
|
||||
// Filter out comments and empty lines
|
||||
.filter(line => line && !line.startsWith('#'))
|
||||
.map(line => {
|
||||
// Split by the first block of whitespace to separate path and message
|
||||
const [path, ...ownerParts] = line.substring(1).split(/\s+/);
|
||||
return { path, owner: ownerParts.join(' ') };
|
||||
});
|
||||
|
||||
/* Get rules -- maybe refactor to a function for ownerPath too */
|
||||
let rules = [];
|
||||
const { data: rulesData } = await github.rest.repos.getContent({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
path: '.github/path-rules.txt',
|
||||
ref: context.payload.pull_request.base.ref // Or a specific branch
|
||||
});
|
||||
const rc = Buffer.from(rulesData.content, 'base64').toString();
|
||||
rules = rc.split(/\r?\n/)
|
||||
.map(line => line.trim())
|
||||
// Filter out comments and empty lines
|
||||
.filter(line => line && !line.startsWith('#'))
|
||||
.map(line => {
|
||||
// Split by the first block of whitespace to separate path and message
|
||||
const [path, ...messageParts] = line.split(/\s+/);
|
||||
return { path, message: messageParts.join(' ') };
|
||||
});
|
||||
|
||||
let checklist = {};
|
||||
let checklist_len = 0;
|
||||
let comment_id = -1;
|
||||
|
||||
const addToChecklist = (msg, sha) => {
|
||||
if (!checklist[msg]) {
|
||||
checklist[msg] = [];
|
||||
checklist_len++;
|
||||
}
|
||||
checklist[msg].push(sha);
|
||||
}
|
||||
|
||||
for (const commit of commits) {
|
||||
const sob_lines = commit.commit.message.match(/^[^\S\r\n]*signed-off-by:.*/gim);
|
||||
|
||||
if (sob_lines == null && !commit.commit.author.email.toLowerCase().endsWith("freebsd.org"))
|
||||
addToChecklist("Missing Signed-off-by lines", commit.sha);
|
||||
else if (sob_lines != null) {
|
||||
let author_signed = false;
|
||||
for (const line of sob_lines) {
|
||||
if (!line.includes("Signed-off-by: "))
|
||||
/* Only display the part we care about. */
|
||||
addToChecklist("Expected `Signed-off-by: `, got `" + line.match(/^[^\S\r\n]*signed-off-by:./i) + "`", commit.sha);
|
||||
if (line.includes(commit.commit.author.email))
|
||||
author_signed = true;
|
||||
}
|
||||
|
||||
if (!author_signed)
|
||||
console.log("::warning title=Missing-Author-Signature::Missing Signed-off-by from author");
|
||||
}
|
||||
|
||||
if (commit.commit.author.email.toLowerCase().includes("noreply"))
|
||||
addToChecklist("Real email address is needed", commit.sha);
|
||||
}
|
||||
|
||||
/* Check for different paths that have issues and/or owners */
|
||||
const { data: files } = await github.rest.pulls.listFiles({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: context.payload.pull_request.number,
|
||||
});
|
||||
|
||||
let infolist = {};
|
||||
let infolist_len = 0;
|
||||
const addToInfolist = (msg) => {
|
||||
if (!infolist[msg]) {
|
||||
infolist[msg] = [];
|
||||
infolist_len++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Give advice based on what's in the commit */
|
||||
for (const file of files) {
|
||||
for (const owner of owners) {
|
||||
if (file.filename.startsWith(owner.path)) {
|
||||
addToInfolist("> [!IMPORTANT]\n> " + owner.owner + " wants to review changes to " + owner.path + "\n");
|
||||
}
|
||||
}
|
||||
for (const rule of rules) {
|
||||
// Consider regexp in the future maybe?
|
||||
if (file.filename.startsWith(rule.path)) {
|
||||
if (rule.message.startsWith(":caution: ")) {
|
||||
addToInfolist("> [!CAUTION]\n> " + rule.path + ": " + rule.message.substring(10) + "\n");
|
||||
} else if (rule.message.startsWith(":warning: ")) {
|
||||
addToInfolist("> [!WARNING]\n> " + rule.path + ": " + rule.message.substring(10) + "\n");
|
||||
} else {
|
||||
addToInfolist("> [!IMPORTANT]\n> " + rule.path + ": " + rule.message + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Check if we've commented before. */
|
||||
for (const comment of comments) {
|
||||
if (comment.user.login == "github-actions[bot]") {
|
||||
comment_id = comment.id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const msg_prefix = "Thank you for taking the time to contribute to FreeBSD!\n\n";
|
||||
if (checklist_len != 0 || infolist_len != 0) {
|
||||
let msg = msg_prefix;
|
||||
let comment_func = comment_id == -1 ? github.rest.issues.createComment : github.rest.issues.updateComment;
|
||||
if (checklist_len != 0) {
|
||||
msg +=
|
||||
"There " + (checklist_len > 1 ? "are a few issues that need " : "is an issue that needs ") +
|
||||
"to be resolved:\n";
|
||||
|
||||
/* Loop for each key in "checklist". */
|
||||
for (const c in checklist)
|
||||
msg += "- " + c + " (" + checklist[c].join(", ") + ")\n";
|
||||
msg += "\n> [!NOTE]\n> Please review [CONTRIBUTING.md](https://github.com/freebsd/freebsd-src/blob/main/CONTRIBUTING.md), then update and push your branch again.\n\n"
|
||||
} else {
|
||||
let msg = "No Issues found.\n\n";
|
||||
}
|
||||
if (infolist_len != 0) {
|
||||
msg += "Some of files have special handling:\n"
|
||||
for (const i in infolist)
|
||||
msg += i + "\n";
|
||||
msg += "\n\n";
|
||||
}
|
||||
comment_func({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: msg,
|
||||
...(comment_id == -1 ? {issue_number: context.issue.number} : {comment_id: comment_id})
|
||||
});
|
||||
} else if (comment_id != -1) {
|
||||
github.rest.issues.updateComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
comment_id: comment_id,
|
||||
body: msg_prefix + "All issues resolved."
|
||||
});
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
name: Cross-build Kernel
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main, 'stable/[1-9][0-9]' ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.target_arch }} ${{ matrix.os }} (${{ matrix.compiler }})
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target_arch: [ amd64, aarch64 ]
|
||||
os: [ ubuntu-22.04, ubuntu-24.04, macos-latest ]
|
||||
include:
|
||||
# TODO: both Ubuntu and macOS have bmake packages, we should try them instead of bootstrapping our own copy.
|
||||
- os: ubuntu-22.04
|
||||
compiler: clang-15
|
||||
cross-bindir: /usr/lib/llvm-15/bin
|
||||
pkgs: bmake libarchive-dev clang-15 lld-15
|
||||
- os: ubuntu-24.04
|
||||
compiler: clang-18
|
||||
cross-bindir: /usr/lib/llvm-18/bin
|
||||
pkgs: bmake libarchive-dev clang-18 lld-18
|
||||
- os: macos-latest
|
||||
compiler: clang-18
|
||||
cross-toolchain: llvm@18
|
||||
pkgs: bmake libarchive llvm@18
|
||||
- target_arch: amd64
|
||||
target: amd64
|
||||
- target_arch: aarch64
|
||||
target: arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install packages (Ubuntu)
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
sudo apt-get update --quiet || true
|
||||
sudo apt-get -yq --no-install-suggests --no-install-recommends install ${{ matrix.pkgs }}
|
||||
- name: install packages (macOS)
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
brew update --quiet || true
|
||||
brew install ${{ matrix.pkgs }} || true
|
||||
- name: create environment
|
||||
run: |
|
||||
echo "GITHUB_WORKSPACE = $GITHUB_WORKSPACE"
|
||||
if [ -n "${{ matrix.cross-bindir }}" ]; then
|
||||
echo "EXTRA_BUILD_ARGS=--cross-bindir=${{ matrix.cross-bindir }}" >> $GITHUB_ENV
|
||||
fi
|
||||
if [ -n "${{ matrix.cross-toolchain }}" ]; then
|
||||
echo "EXTRA_BUILD_ARGS=--cross-toolchain=${{ matrix.cross-toolchain }}" >> $GITHUB_ENV
|
||||
fi
|
||||
mkdir -p ../build
|
||||
echo "MAKEOBJDIRPREFIX=${PWD%/*}/build" >> $GITHUB_ENV
|
||||
# heh, works on Linux/BSD/macOS ...
|
||||
echo "NPROC=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1`" >> $GITHUB_ENV
|
||||
- name: bootstrap bmake
|
||||
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} -n
|
||||
- name: make kernel-toolchain
|
||||
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} kernel-toolchain -s -j$NPROC -DWITH_DISK_IMAGE_TOOLS_BOOTSTRAP
|
||||
- name: make buildkernel
|
||||
run: ./tools/build/make.py --debug $EXTRA_BUILD_ARGS TARGET=${{ matrix.target }} TARGET_ARCH=${{ matrix.target_arch }} KERNCONF=GENERIC NO_MODULES=yes buildkernel -s -j$NPROC $EXTRA_MAKE_ARGS
|
||||
@@ -1,36 +0,0 @@
|
||||
name: Style Checker
|
||||
|
||||
# Runs my simple style(9) checker on pull requests.
|
||||
|
||||
on:
|
||||
pull_request: # maybe pull_request_target
|
||||
branches: [ main ]
|
||||
types: [ opened, reopened, edited, synchronize ]
|
||||
paths: [ '**.S', '**.c', '**.cc', '**.cpp', '**.h', '**.hh', '**.hpp' ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Style Checker
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Unfortunately there doesn't seem to be a way to
|
||||
# do this without an extra step.
|
||||
- name: Get depth
|
||||
run: |
|
||||
echo "DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: ${{ env.DEPTH }}
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt-get update --quiet || true
|
||||
sudo apt-get -yq --no-install-suggests --no-install-recommends install perl
|
||||
- name: Run checker
|
||||
run: |
|
||||
sha=$(git rev-parse HEAD~${{ github.event.pull_request.commits }})
|
||||
tools/build/checkstyle9.pl --github ${sha}..${{ github.event.pull_request.head.sha }}
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
The compilation of software known as FreeBSD is distributed under the
|
||||
The compilation of software known as KekenoBSD is distributed under the
|
||||
following terms:
|
||||
|
||||
Copyright (c) 1992-2026 The FreeBSD Project.
|
||||
Copyright (c) 2026 chersbobers / The KekenoBSD Project. All rights reserved.
|
||||
Copyright (c) 1992-2026 The FreeBSD Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
@@ -23,102 +23,4 @@ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
The 4.4BSD and 4.4BSD-Lite software is distributed under the following
|
||||
terms:
|
||||
|
||||
All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite
|
||||
Releases is copyrighted by The Regents of the University of California.
|
||||
|
||||
Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
|
||||
The Regents of the University of California. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
The Institute of Electrical and Electronics Engineers and the American
|
||||
National Standards Committee X3, on Information Processing Systems have
|
||||
given us permission to reprint portions of their documentation.
|
||||
|
||||
In the following statement, the phrase ``this text'' refers to portions
|
||||
of the system documentation.
|
||||
|
||||
Portions of this text are reprinted and reproduced in electronic form in
|
||||
the second BSD Networking Software Release, from IEEE Std 1003.1-1988, IEEE
|
||||
Standard Portable Operating System Interface for Computer Environments
|
||||
(POSIX), copyright C 1988 by the Institute of Electrical and Electronics
|
||||
Engineers, Inc. In the event of any discrepancy between these versions
|
||||
and the original IEEE Standard, the original IEEE Standard is the referee
|
||||
document.
|
||||
|
||||
In the following statement, the phrase ``This material'' refers to portions
|
||||
of the system documentation.
|
||||
|
||||
This material is reproduced with permission from American National
|
||||
Standards Committee X3, on Information Processing Systems. Computer and
|
||||
Business Equipment Manufacturers Association (CBEMA), 311 First St., NW,
|
||||
Suite 500, Washington, DC 20001-2178. The developmental work of
|
||||
Programming Language C was completed by the X3J11 Technical Committee.
|
||||
|
||||
The views and conclusions contained in the software and documentation are
|
||||
those of the authors and should not be interpreted as representing official
|
||||
policies, either expressed or implied, of the Regents of the University
|
||||
of California.
|
||||
|
||||
|
||||
NOTE: The copyright of UC Berkeley's Berkeley Software Distribution ("BSD")
|
||||
source has been updated. The copyright addendum may be found at
|
||||
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change and is
|
||||
included below.
|
||||
|
||||
July 22, 1999
|
||||
|
||||
To All Licensees, Distributors of Any Version of BSD:
|
||||
|
||||
As you know, certain of the Berkeley Software Distribution ("BSD") source
|
||||
code files require that further distributions of products containing all or
|
||||
portions of the software, acknowledge within their advertising materials
|
||||
that such products contain software developed by UC Berkeley and its
|
||||
contributors.
|
||||
|
||||
Specifically, the provision reads:
|
||||
|
||||
" * 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors."
|
||||
|
||||
Effective immediately, licensees and distributors are no longer required to
|
||||
include the acknowledgement within advertising materials. Accordingly, the
|
||||
foregoing paragraph of those BSD Unix files containing it is hereby deleted
|
||||
in its entirety.
|
||||
|
||||
William Hoskins
|
||||
Director, Office of Technology Licensing
|
||||
University of California, Berkeley
|
||||
SUCH DAMAGE.
|
||||
@@ -1,49 +1,27 @@
|
||||
FreeBSD Source:
|
||||
---------------
|
||||
This is the top level of the FreeBSD source directory.
|
||||
<p align="center">
|
||||
<img src="https://www.curds.dev/KekenoBSD/images/raw/commit/1bf653d7f0d73b447682ddf86c9b5cf680eefe17/IMG_3232-cropped.jpg" width="450" alt="KekenoBSD Mascot">
|
||||
<br>
|
||||
<i>The New Zealand Fur Seal (Kekeno) — the official inspiration for KekenoBSD (Photo taken by: chersbobers)</i>
|
||||
</p>
|
||||
|
||||
FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms.
|
||||
A large community has continually developed it for more than thirty years.
|
||||
Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.
|
||||
# KekenoBSD Source
|
||||
|
||||
For copyright information, please see [the file COPYRIGHT](COPYRIGHT) in this directory.
|
||||
Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.
|
||||
> **Note:** KekenoBSD is a fork of FreeBSD that follows a semi-mirror release model, ensuring system updates land shortly after upstream FreeBSD releases.
|
||||
|
||||
The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree.
|
||||
See build(7), config(8), [FreeBSD handbook on building userland](https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld), and [Handbook for kernels](https://docs.freebsd.org/en/books/handbook/kernelconfig/) for more information, including setting make(1) variables.
|
||||
KekenoBSD is the BSD for you and me! Built with a sharp focus on out-of-the-box laptop compatibility and deep system customizability, it bridges the gap between hardware power and user freedom.
|
||||
|
||||
For information on the CPU architectures and platforms supported by FreeBSD, see the [FreeBSD
|
||||
website's Platforms page](https://www.freebsd.org/platforms/).
|
||||
### Features
|
||||
* **Desktop Ready:** Comes with a graphical user interface installer that pre-installs a fully configured KDE Plasma desktop right out of the box (with a huge shoutout to the GhostBSD team for their installer framework!).
|
||||
* **Laptop Tuned:** Configured by default to handle battery scaling, smooth trackpad gestures, and automated Wi-Fi switching without manual configuration file editing.
|
||||
|
||||
For official FreeBSD bootable images, see the [release page](https://download.freebsd.org/ftp/releases/ISO-IMAGES/).
|
||||
---
|
||||
|
||||
Source Roadmap:
|
||||
---------------
|
||||
| Directory | Description |
|
||||
| --------- | ----------- |
|
||||
| bin | System/user commands. |
|
||||
| cddl | Source code for third-party software under the Common Development and Distribution License. |
|
||||
| contrib | Source code for third-party software. |
|
||||
| crypto | Source code for cryptographic libraries and commands (see [crypto/README](crypto/README)). |
|
||||
| etc | Template files for /etc. |
|
||||
| gnu | Source code for third-party software under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see [gnu/COPYING](gnu/COPYING) and [gnu/COPYING.LIB](gnu/COPYING.LIB) for more information. |
|
||||
| include | System include files. |
|
||||
| kerberos5 | Build system for Kerberos 5 (Heimdal). |
|
||||
| krb5 | Build system for Kerberos 5 (MIT). |
|
||||
| lib | System libraries. |
|
||||
| libexec | System commands intended to be executed by other commands or daemons. |
|
||||
| packages | Base system packages. |
|
||||
| release | Makefiles and scripts used for building releases and VM images. |
|
||||
| rescue | Build system for statically linked /rescue commands. |
|
||||
| sbin | System commands. |
|
||||
| secure | Build system for cryptographic libraries and commands (excluding Kerberos). |
|
||||
| share | Shared resources. |
|
||||
| stand | Boot loader sources. |
|
||||
| sys | Kernel sources (see [sys/README.md](sys/README.md)). |
|
||||
| targets | Support for experimental `DIRDEPS_BUILD` |
|
||||
| tests | Tests which can be run by Kyua. See [tests/README](tests/README) for additional information. |
|
||||
| tools | Ancillary utilities and tests (not included in the build). |
|
||||
| usr.bin | User commands. |
|
||||
| usr.sbin | System administration commands. |
|
||||
## The Pup Profile Manager
|
||||
`pup` is KekenoBSD's built-in profile manager, allowing you to instantly morph your base environment to fit your current workflow.
|
||||
|
||||
For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see [FreeBSD Handbook](https://docs.freebsd.org/en/books/handbook/cutting-edge/#current-stable).
|
||||
| Profile | What It Does |
|
||||
| :--- | :--- |
|
||||
| **Light** | Turns off unneeded background services and strips down desktop effects to save RAM and battery. |
|
||||
| **Private** | Hardens system security, hides user processes, and sets up a strict, local firewall posture. |
|
||||
| **Newbies** | Auto-detects graphics cards, enables USB auto-mounting, and sets up friendly terminal shortcuts. |
|
||||
| **Gaming** | Optimizes the system for low latency, tweaks scheduler performance, and enables the Linux compatibility layer for games. |
|
||||
@@ -1,291 +1,70 @@
|
||||
Release notes for FreeBSD 16.0.
|
||||
Release Notes for KekenoBSD 1.0 (Based on FreeBSD 16.0)
|
||||
|
||||
This file describes new user-visible features, changes and updates relevant to
|
||||
users of binary FreeBSD releases. Each entry should describe the change in no
|
||||
more than several sentences and should reference manual pages where an
|
||||
interested user can find more information. Entries should wrap after 80
|
||||
columns. Each entry should begin with one or more commit IDs on one line,
|
||||
specified as a comma separated list and/or range, followed by a colon and a
|
||||
newline. Entries should be separated by a newline.
|
||||
users of binary KekenoBSD releases. Entries wrap after 80 columns.
|
||||
|
||||
Changes to this file should not be MFCed.
|
||||
|
||||
b92b9da33006, 13d3bd165e22:
|
||||
This patch allows vfs.nfsd.srvmaxio to be set to
|
||||
a value as high as 4Mbytes. It is usually set
|
||||
via the nfs_server_maxio variable in /etc/rc.conf.
|
||||
|
||||
4c486fe40267:
|
||||
The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
|
||||
That is, there is a multicast routing table per FIB, rather than a global
|
||||
table. One can run a multicast routing daemon within each FIB; the FIB of
|
||||
the routing socket determines the corresponding multicast routing table.
|
||||
|
||||
5c2186b99254,628d7a3270b6:
|
||||
When the sector size for an NVMe namespace changes, nda(4) now
|
||||
reports this as a media change rather than a disk resize
|
||||
event. nda(4) also no longer reports a disk resize event in
|
||||
some cases when the namespace's size had not changed. nda(4)
|
||||
also reprobes NVMe namespaces each time they are opened to
|
||||
check for a new sector size or namespace size.
|
||||
|
||||
7a323f873662:
|
||||
Remove the le(4) driver. This driver supported older 10Mbps
|
||||
and 100Mbps Ethernet adapters. True hardware devices have not
|
||||
been used in FreeBSD systems in many years, but the driver was
|
||||
previously retained for use with MIPS QEMU virtual machines.
|
||||
|
||||
e51ef8ae490f:
|
||||
Add initial support for instruction-based sampling (IBS)
|
||||
performance counters on AMD processors to hwpmc(4).
|
||||
|
||||
d69fc3a9dc71:
|
||||
The EFI boot loader now tries all ZFS pools found during
|
||||
probing when looking for a boot pool. Previously it would try
|
||||
only the first pool found.
|
||||
|
||||
4d5c434ed16e:
|
||||
Use the BSD-licensed implementation of diff3 instead of GNU diff3
|
||||
by default.
|
||||
|
||||
7f54c65abc67:
|
||||
Update the smartpqi(4) driver to vendor version 14.4690.0.2008
|
||||
- 15.2.0.2008. This includes support for new controllers and
|
||||
renaming Microsemi to Microchip.
|
||||
|
||||
350c1232a57a:
|
||||
nvmecontrol(8)'s telemetry-log now works reliably.
|
||||
|
||||
d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
|
||||
Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
|
||||
same kernel. The scheduler can be selected at boot time by
|
||||
setting the kern.sched_name tunable to the scheduler name
|
||||
("4BSD" or "ULE"). The default scheduler is ULE. This is
|
||||
currently enabled in amd64 kernels by default.
|
||||
|
||||
90a7728cd890:
|
||||
Update nuageinit to request configuration on all network
|
||||
interfaces. nuageinit will now issue DHCP requests on all
|
||||
network interfaces and request configuration data from the
|
||||
first interface which successfully obtains a lease.
|
||||
|
||||
92ba9b2fe589:
|
||||
Add RoCE support for Broadcom BCM576xx controllers.
|
||||
|
||||
fb4b0c911951:
|
||||
Add a facility to witness(4) to provide more detailed information
|
||||
about lock order reversals detailing when initial lock orders were
|
||||
established.
|
||||
|
||||
65f5dd42f11c:
|
||||
sh(1) add -l option which makes sh act as a login shell and read the profile.
|
||||
|
||||
beab8b1ddf86:
|
||||
bintrans(1) now supports the RFC2047 variant of quoted print
|
||||
|
||||
9dc96d8bc3f2:
|
||||
libusb(3) hotplug event are now really hotplugged using either
|
||||
nlsysevent or devd(9) if available.
|
||||
|
||||
d64db8892f85:
|
||||
sh(1) is the default shell in the release media.
|
||||
|
||||
68ad2b0d7af2:
|
||||
ncurses has been updated to 6.6
|
||||
|
||||
52d19df19ed6:
|
||||
nvi(1) has been update to 2.2.2
|
||||
|
||||
4d5c434ed16e, 2cfca8e710f2:
|
||||
diff3(1) has replaced GNU diff3 and is now fully compatible.
|
||||
|
||||
625dc44832cd:
|
||||
tr(1) is now UTF-8 compliant.
|
||||
|
||||
62fba0054d9e:
|
||||
ee(1) is now UTF-8 compliant.
|
||||
|
||||
5df6aca10906:
|
||||
ed(1) is now UTF-8 compliant.
|
||||
|
||||
28ff4d35f8b9:
|
||||
Update libedit to 2026-04-03.
|
||||
=============================================================================
|
||||
KEKENOBSD 1.0 EMPOWERMENT NOTE:
|
||||
KekenoBSD 1.0 transitions fully to a Pkgbase infrastructure. The core
|
||||
system is now entirely modular, managed seamlessly via the 'pup' utility
|
||||
and underlying pkg(8) architecture.
|
||||
=============================================================================
|
||||
|
||||
b42e852e89cb:
|
||||
Add a new pkg-serve(8) to serve packages over TCP via inetd.
|
||||
Add a new pkg-serve(8) utility to serve packages over TCP via inetd.
|
||||
|
||||
8b9775912cbc, 53b4ae3bf0f7:
|
||||
Add support for an NFSv4 root file system.
|
||||
Note that NFSv3 is still used for bootstrapping. See
|
||||
"Diskless Operation with PXE" under "Advanced Networking" in the
|
||||
FreeBSD Handbook. To configure an NFSv4 root fs, you will need
|
||||
a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
|
||||
either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
|
||||
or an additional line in /boot/loader.conf like
|
||||
boot.nfsroot.user_domain="<user-domain>",
|
||||
if you are running nfsuserd(8).
|
||||
|
||||
ab9257599a5:
|
||||
The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
|
||||
have been removed.
|
||||
|
||||
af099eaa5ec:
|
||||
Users belonging to the new vmm group can now create bhyve VMs. See the
|
||||
vmm(4) man page for details.
|
||||
|
||||
c71354030a2:
|
||||
Users wishing to use bhyve PCI passthrough in jails must create the
|
||||
jail with the allow.vmm_ppt option configured.
|
||||
|
||||
4d707825bf62:
|
||||
The pdwait(2) system call was added. It provides wait(2)-like
|
||||
functionality for a process descriptor (see procdesc(4)).
|
||||
|
||||
5c2ee618d5ec:
|
||||
The pdrfork(2) system call was added. It behaves like rfork(2) but
|
||||
additionally returns a process descriptor (see procdesc(4)).
|
||||
|
||||
41ccf82b29f3, 591c7a08bf8a:
|
||||
On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
|
||||
the MOPS (Memory Operations) feature instructions when they are
|
||||
implemented by the system.
|
||||
|
||||
3f0aea09689f:
|
||||
posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
|
||||
functions were added to libc. The latter causes posix_spawn(3) to
|
||||
call fexecve(2) on the specified file descriptor rather than executing
|
||||
the file at the provided path.
|
||||
|
||||
fb4b0c911951:
|
||||
witness(4) now prints additional information to the system console when
|
||||
a lock order reversal is detected, making debugging such issues easier.
|
||||
|
||||
1322760fd127:
|
||||
It is now possible to compile both the 4BSD and ULE schedulers into the
|
||||
same kernel. The scheduler is selectable at boot-time using a tunable.
|
||||
See the SCHEDULERS section of the tuning(7) man page for details.
|
||||
|
||||
627e126dbb07:
|
||||
The default value of the net.inet6.ip6.connect_in6addr_wild has changed
|
||||
to 0. This means that connecting to the all-zeroes IPv6 address no longer
|
||||
implicitly results in a loopback connection.
|
||||
|
||||
afa70a8496e9:
|
||||
The pthread_tryjoin_np(3) function was added to libthr(3). It provides
|
||||
the same functionality as pthread_join(3) but returns instead of
|
||||
blocking if the target thread has not yet exited.
|
||||
|
||||
ecc039be7fdd:
|
||||
NanoBSD images can now be built as a non-root user.
|
||||
|
||||
7f54c65abc67:
|
||||
Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
|
||||
for the SmartArray storage controllers. This adds support for new
|
||||
controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
|
||||
and allows the I/O buffer size for a single passthrough ioctl to be
|
||||
stored as a 32 bit integer instead of the original 16 bit integer.
|
||||
|
||||
b0d997095022:
|
||||
The pf firewall now supports passing IPv6 packets to divert(4)
|
||||
sockets via divert-to actions.
|
||||
|
||||
0fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
|
||||
LinuxKPI based wireless drivers, especially iwlwifi(4) are now
|
||||
supported on RISC-V.
|
||||
|
||||
8254b0dec02b3, bd55cbb50c588:
|
||||
The mac(4) framework has been extended to support jail operations,
|
||||
allowing a policy to constrain jail creation, modification, removal, and
|
||||
attachment. Jails have additionally been made a first-class mac(4)
|
||||
object, and a mac.label jail(8) property has been added to facilitate
|
||||
administration of their labels.
|
||||
|
||||
c558eca47970:
|
||||
The smartpqi(4) driver was updated to vendor version 4660.0.2002
|
||||
for the SmartArry storage controllers.
|
||||
|
||||
493d26c58e73:
|
||||
The aq(4) driver was added, imported from the vendor repository.
|
||||
This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
|
||||
Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
|
||||
|
||||
1a7151f79664:
|
||||
A new CAM provider was added to dtrace. This enables tracing of I/O
|
||||
requests through the CAM layer without relying on fragile function
|
||||
boundary tracing. See dtrace_cam(4) for details.
|
||||
|
||||
b8c99e7d912f:
|
||||
The tdestroy(3) function was added to libc. The tdestroy() function
|
||||
destroys a whole search tree, freeing all allocated nodes.
|
||||
|
||||
4bf8ce037dc8:
|
||||
The rge(4) driver was added, ported from OpenBSD. This provides
|
||||
support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
|
||||
controllers.
|
||||
|
||||
cbc6f7e941e4:
|
||||
bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
|
||||
connections.
|
||||
|
||||
39ee24182b92:
|
||||
An rc(8) service can now be started as a specific user for auditing
|
||||
purposes by setting the <service>_audit_user rc.conf(5) variable.
|
||||
|
||||
dcb0790bad43:
|
||||
A setaudit(8) utility was added to the base system. This provides a
|
||||
simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
|
||||
system calls.
|
||||
|
||||
8e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
|
||||
Add support for an extension to NFSv4.2 (RFCnnnn) that
|
||||
supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
|
||||
|
||||
dbac191956f9, fe21dbf70aa8:
|
||||
Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
|
||||
binaries.
|
||||
|
||||
a86dc94b84d1:
|
||||
tzdata2025c was imported.
|
||||
|
||||
a98e5d785001:
|
||||
Add strdupa(3) and strndupa(3) macros for compatability with glibc.
|
||||
|
||||
e967a2a03677:
|
||||
divert socket compat removal, consumers must use PF_DIVERT instead of
|
||||
PF_INET.
|
||||
d14e018024bb, b125c4d13095, 1322760fd127:
|
||||
Permit both SCHED_ULE and SCHED_4BSD to be compiled into the same kernel.
|
||||
The scheduler can be selected at boot time by setting the kern.sched_name
|
||||
tunable to the scheduler name ("4BSD" or "ULE") in /boot/loader.conf.
|
||||
The default scheduler remains ULE.
|
||||
|
||||
4453ec5b8716b, 2a3b1641756a:
|
||||
The reboot(8) and halt(8) commands now perform a graceful shutdown similar
|
||||
to the shutdown(8) command including invoking rc.d scripts to shutdown
|
||||
services. The fastboot(8) and fasthalt(8) commands still perform a "fast"
|
||||
reboot or shutdown.
|
||||
|
||||
d9788eabffa4:
|
||||
ipfilter cannot be used in a jail by default.
|
||||
|
||||
0ff0c19e7f70:
|
||||
ipfs(8) is no longer built by default.
|
||||
|
||||
575efcfff22f:
|
||||
sendfile(2)'s SF_SYNC flag was removed.
|
||||
|
||||
057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
|
||||
hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
|
||||
hwpmc(4) support for Intel Emerald Rapids CPUs
|
||||
hwpmc(4) support for Intel Alder Lake-N CPUs
|
||||
|
||||
1ecf01065b45:
|
||||
New library libuvmem provides the vmem(9) API to userspace applications.
|
||||
The reboot(8) and halt(8) commands now perform a graceful shutdown by
|
||||
default, executing all rc.d service shutdown scripts. The fastboot(8)
|
||||
and fasthalt(8) commands are retained for instant, non-graceful resets.
|
||||
|
||||
b6cad334e64:
|
||||
Make game controller devices accessible by members of the "game" group
|
||||
by default.
|
||||
Make game controller devices accessible by members of the "game" group
|
||||
by default, removing the need for manual devfs rule adjustments.
|
||||
|
||||
791c531402bd:
|
||||
Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
|
||||
USB to serial devices.
|
||||
128f63cedc14, 9e589b093857:
|
||||
Added proper UTF-8 backspacing handling in the tty(4) driver, enabled via
|
||||
the new IUTF8 stty(1) flag. This flag is now active by default.
|
||||
|
||||
ec0cd287f55f:
|
||||
Support for NVMe/TCP offload on Chelsio T7 adapters. The nvmf_che(4)
|
||||
module enables T7 adapters to process NVMe/TCP PDUs directly similar to
|
||||
the PDU offload provided by cxgbei(4) for iSCSI.
|
||||
625dc44832cd, 62fba0054d9e, 5df6aca10906:
|
||||
The tr(1), ee(1), and ed(1) utilities are now fully UTF-8 compliant.
|
||||
|
||||
65f5dd42f11c:
|
||||
sh(1) adds a new -l option to explicitly force the shell to act as a
|
||||
login shell and parse user profiles.
|
||||
|
||||
d64db8892f85:
|
||||
sh(1) is now the default shell utilized in standard release media.
|
||||
|
||||
d69fc3a9dc71:
|
||||
The EFI boot loader now probes all discovered ZFS pools when hunting for
|
||||
a valid boot pool, rather than stopping after the first pool found.
|
||||
|
||||
4bf8ce037dc8:
|
||||
The rge(4) driver was added (ported from OpenBSD), providing support for
|
||||
RealTek RTL8125, RTL8126, and RTL8127 PCIe 2.5G/5G Ethernet controllers.
|
||||
|
||||
493d26c58e73:
|
||||
The aq(4) driver was added, bringing support for Aquantia / Marvell PCIe
|
||||
Multi-Gigabit Ethernet adapters (AQC107 through AQC112).
|
||||
|
||||
af099eaa5ec:
|
||||
Unprivileged users belonging to the new "vmm" group can now create and
|
||||
manage bhyve(8) virtual machines directly.
|
||||
|
||||
8254b0dec02b3, bd55cbb50c588:
|
||||
The mac(4) framework now treats jails as first-class objects, allowing
|
||||
MAC security policies to constrain jail actions via the mac.label property.
|
||||
|
||||
ab9257599a5:
|
||||
The legacy src.conf(5) knobs WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT have
|
||||
been permanently removed from the build system tree.
|
||||
|
||||
7a323f873662:
|
||||
The legacy 10/100Mbps le(4) Ethernet driver has been removed.
|
||||
Reference in New Issue
Block a user