aboutsummaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* stress2: add two new unionfs test scenariosJason A. Harmening44 hours2-0/+154
| | | | | | | | | | | | | | These exercise lookup traversal from tmpfs into unionfs, which is useful because, unlike UFS, tmpfs does not allow recursion on its vnode locks by default. unionfs22.sh exercises these lookups with a normal unionfs mount, while unionfs23.sh uses '-o below' for the unionfs mount and reproduces the panic described in PR 298201. Reviewed by: kib, markj, pho Tested by: pho Differential Revision: https://reviews.freebsd.org/D59494
* universe.sh: don't overwrite no_zfs's build logAhmad Khalifa5 days1-1/+1
| | | | Give the WITHOUT_LOADER_BIOS_TEXTONLY build its own log file.
* universe.sh: add MK_BEARSSL buildAhmad Khalifa6 days1-0/+12
| | | | | | | | BEARSSL is disabled by default, add this here to make sure it doesn't break. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D59516
* universe.sh: build with 1.5 * ncpu jobsAhmad Khalifa6 days1-1/+1
| | | | | | | Build with 1.5 * ncpu jobs instead of hardcoding 40. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D59515
* manpages: Fix author e-mail address formattingRobert Clausecker10 days1-1/+1
| | | | | | | | | | | | - consistently use Mt request within Aq. This makes author e-mail addresses clickable in many frontends. - @freebsd.org -> @FreeBSD.org - (user@host.tld) -> Aq Mt user@host.tld Event: Berlin Hackathon 202609 MFC after: 3 days Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D59410
* git-arc: SC2223 DoS-via-glob hardeningDevin Teske13 days1-3/+3
| | | | | | | | Quote LOCALBASE and ARC_CMD default assignments so a poisoned value cannot glob into :'s argv. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D59130
* git-arc: Fix localsDevin Teske13 days1-4/+4
| | | | | Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D59162
* nanobsd: Remove pandaboard.cfgOskar Holmlund2026-08-311-35/+0
| | | | | | | | Pandaboard (sys/arm/ti/omap4) is removed due to lack of HW. Remove the pandaboard config file for nanobsd aswell. Approved by: imp, jlduran, manu(mentor) Diffrential revision: https://reviews.freebsd.org/D54319
* kern_mib: remove kern.fallback_elf_brand compat sysctlChristos Longros2026-08-311-3/+0
| | | | | | | | | | This compatibility alias for kern.elf{32,64}.fallback_brand has been marked for removal since FreeBSD 6.0. Signed-off-by: Christos Longros <chris.longros@gmail.com> Reviewed by: kib, emaste Differential Revision: https://reviews.freebsd.org/D56085
* stress2: Use the new version of fsx in ports instead of the older one in ↵Peter Holm2026-08-276-1252/+30
| | | | | | tools/regression Suggested by: asomers
* git-arc: Handle -h on subcommands and align usage with the man pageDevin Teske2026-08-252-71/+165
| | | | | | | | | | | | | | | | | | | | | git-sh-setup treats -h as help against an empty USAGE, so "git arc create -h" prints "usage: git arc". Handle -h before sourcing it so every subcommand prints the real synopsis. The create, stage, and update synopses showed optional commit-refs while git-arc(1) and the code require them. Advertise -p parent on create; the option was already implemented and documented. Sort create sub-command option-arguments alphabetically in three places: (1) synopsis from tool, (2) man-page synopsis, and (3) man-page description. Check for jq(1) / arc after checking for usage so -h always works. While here, fix missing "local o" in gitarc__stage(). Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D59129
* git-arc: Fix inconsistent whitespaceDevin Teske2026-08-251-3/+3
| | | | | Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D59161
* git-arc: -t tag support for create to set Phabricator project tagsDevin Teske2026-08-242-4/+61
| | | | | | | | | Add -t tag[,...] so a review can be tagged at creation instead of needing the web UI. Spaces in tag names are written as underscores; a leading # is optional. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D59019
* unionfs7.sh: eliminate stderr redirectionJason A. Harmening2026-08-221-1/+1
| | | | | | | | | | The bash-ism here results in an "ambiguous output redirect" error when run under tcsh. Similar unionfs stress2 tests don't do this, and unionfs7 doesn't seem to generate spurious output when run locally, so just delete it. Reviewed by: pho Differential Revision: https://reviews.freebsd.org/D58856
* Fix zombie leak in test using pdfork()Peter Holm2026-08-201-1/+1
|
* stress2: Enable two hwpmc tests that now run as expectedPeter Holm2026-08-201-2/+0
|
* tools/build: stage stdckdint.h's dependencies for non-FreeBSD hostsAbhijeet Sharma2026-08-191-0/+4
| | | | | | | | | | | | | | 37bd69d43c7 gave stdckdint.h two new includes, <sys/_visible.h> and <sys/ckdint.h>. Neither reaches a non-FreeBSD host: _visible.h is staged only under ${.MAKE.OS} == "FreeBSD" and ckdint.h is not staged at all, so the libc bootstrap fails on reallocarray.o when cross-building from macOS. Both headers are self-contained; stage them alongside stdckdint.h. Fixes: 37bd69d43c7 ("sys: Add sys/ckdint.h") Reviewed by: rpaulo, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58943
* mfc-candidates: Annotate variables as localMark Johnston2026-08-171-6/+6
| | | | | | | And clean up luacheck warnings. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D48950
* libusb: capsicumize libusbShengYi Hung2026-08-143-2/+24
| | | | | | | | | | | | | | | | | | | | | | FreeBSD's libusb has three components: libusb01, libusb10, and libusb20. libusb20 handles communication with character devices. We now requires a backend context for libusb20. The backend context contains contains the capsicumized usbctrl fd and usb directory (/dev/usb) fd so that the library user can enter the capiblity mode safely while using libusb. libusb10 is updated to support capabilities via a context option. Since libusb allows general read/write access, we preserve all possible capabilities when passing backend context to libusb20. It is the responsibility of the libusb user to call cap_enter() at an appropriate time. All base system tools using libusb and libusb20 have been updated to support Capsicum. Reviewed by: adrian, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51865
* git-arc: Add a diff subcommandDevin Teske2026-08-132-5/+63
| | | | | | | | | | | | | | | | Show the differences between local commits and their associated Phabricator reviews, i.e., what "git arc update" would upload. For each commit, the review's current raw diff is applied to the commit's parent in a temporary index and the resulting tree is compared against the commit itself. An empty diff means the commit and the review are in sync. This makes it easy to check whether local amendments have diverged from the posted review before updating it, or to confirm that a review is current before landing. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D58789
* build: Use -f when copying sourcesDag-Erling Smørgrav2026-08-131-2/+2
| | | | | | | | | | | If one of the source files we copy is non-writeable, cp will create a non-writeable copy. If the original is later modified, cp will fail to overwrite the copy since it is not writeable. Using cp -f ensures the copy always succeeds, as long as the object directory is writeable. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc.
* mfc-candidates: Fix remote repo detectionMark Johnston2026-08-121-1/+1
| | | | | | | | In my repos the remote "freebsd" is git@gitrepo.freebsd.org:src.git. In particular, the last component is delimited by a colon, not a slash. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D48951
* libusb: versioning symbolsShengYi Hung2026-08-121-1/+1
| | | | | | Reviewed by: bapt, kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55686
* git-mfc: Make --pending work with releng branchesMark Johnston2026-08-111-14/+29
| | | | | | | | | There is no timeout period for merging from stable to releng branches, so we should ignore "MFC after" tags. While here, lift some uses of re.compile() out of loops. Reported by: des
* net: Revert the ioctl SR-IOV VF status interfaceKevin Bowling2026-08-102-1/+1
| | | | | | | | | | | | | | | | | | | | | | A native route Netlink interface will replace this stack. Requested by: glebius This reverts commit 1ccf543b21eff6e0828142e5c1d09519247143f4. This reverts commit 2c04cfa148ec4dd5cef7e228aaea6a05957fcb15. This reverts commit 2d6114f6d26bf7dfa5ad94e1db9b09ee7108dc7a. This reverts commit d15f2551b25f79ddcbe289faa95e655100b952da. This reverts commit ceb282bbd62eed5e84df9abaede0dd183f66997a. This reverts commit c30021fe0df9e045a17292dbe50dfc054b69871f. This reverts commit fb1820d23a04856a6d3047b4c088cc8df8f76da1. This reverts commit 8696cc600f44767e7988a92c8e6fb943e97d4cc7.
* git-arc: Use full names in reviewed-by linesMark Johnston2026-08-101-8/+34
| | | | | Phabricator user names are not useful identifiers outside of phabricator, don't use them if we can avoid it.
* rescue: Satisfy libifconfig's libnv dependency in crunched linksKevin Bowling2026-08-092-1/+1
| | | | | | | | | | | | | | | | | libifconfig now calls nv(9) routines for the SR-IOV VF status query, so crunched builds that link the static library must also provide libnv. The per-program CRUNCH_LIBS_ifconfig hook cannot do this: crunchgen partially links per-program libraries into the program object and crunchide then localizes every symbol except the stub entry, so members absorbed there cannot satisfy references from another archive on the final link's library list. List libnv globally next to libifconfig.a in rescue(8) and bsdbox. This also makes the existing per-program libnv links redundant; remove them to avoid embedding private localized copies in the crunched binary. Fixes: 2d6114f6d26b ("libifconfig: Add an SR-IOV VF status query")
* tools/cryptocheck: Fix allow_soft sysctl nameJustin Hibbits2026-08-071-2/+2
|
* git-mfc: Give a useful error message if a remote can't be foundMark Johnston2026-07-301-0/+2
|
* git-mfc: Add --abort and --continue flagsMark Johnston2026-07-302-25/+65
| | | | | | | | | Instead of making the user run the underlying git-cherry-pick command after a conflict. Requested by: des Reviewed by: des Differential Revision: https://reviews.freebsd.org/D58514
* tools/tools/git: Add git-mfc to Makefile similar to git-arcJohn Baldwin2026-07-291-2/+2
| | | | | Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D58531
* git-arc: Make git arc patch -r smarterMark Johnston2026-07-291-5/+5
| | | | | | | | | | | | - Make it work even when git arc isn't run from the root of the repo. - If the patch fails to apply, let git partially apply the patch and generate rej files for inspection. While here, remove the return value from apply_rev(), it's never actually used. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D58532
* nanobsd: Restore boot0cfg functionalityJose Luis Duran2026-07-291-0/+4
| | | | | | | | | | | The need for this step is fading, now is mostly used to allow the selection of just the two code partitions in the boot0 boot manager, instead of the default of allowing all four MBR slices (the other two being cfg and data, which cannot boot). Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D57311
* git-mfc: Improve handling of remotesMark Johnston2026-07-241-5/+5
| | | | | If we can't figure out which remote to use, print a useful error instead of assuming that "freebsd" is the right remote to use.
* git-mfc: Let the upstream for PRERELEASE branches be mainMark Johnston2026-07-241-1/+1
| | | | | Such branches are in code slush but are the same as stable branches for the purpose of MFCs.
* git-mfc: Slightly relax the regex used to search for revertsMark Johnston2026-07-241-1/+1
| | | | | | Prompted by commit 9dfaf1cb37f8ac89cf in FreeBSD src. Reported by: des
* Only build secure/libexec/ssh-sk-helper if MK_USB == noEnji Cooper2026-07-221-0/+2
| | | | | | | The ssh-sk-helper utility only functions if/when MK_USB == yes. Installing it on systems where MK_USB == no doesn't make sense. Differential Revision: https://reviews.freebsd.org/D58246
* stress2: Added a regression testPeter Holm2026-07-211-0/+65
|
* stress2: Added a commentPeter Holm2026-07-211-0/+1
|
* stress2: Updated the exclude filePeter Holm2026-07-211-2/+2
|
* stress2: Added new test scenariosPeter Holm2026-07-147-0/+613
|
* boot-test.sh: Test many boot loader combinations.Warner Losh2026-07-113-0/+2077
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a script that eventually will test boot with qemu all the supproted combinations for the boot loader. There's several things that could be done with gptboot or boot0sio (or not) that aren't tested. We don't test the 10-odd hardware root devices we support, nor do we test complex scenarios like RELAXED vs STRICT zfs efi booting. However, the scenarios we do support are included here. We test aarch64, amd64, armv7, powerpc64, powerpc64le, and riscv64 for BIOS, UEFI, and Prep and OpenFirmware (as appropriate) crossed with CDROM, MBR and GPT (and some hybrid) crossed with lua, 4th and simple loaders. Plus some linuxboot and memdisk scenarios, including the recently added compression for ram disk scenarios: === Results: 67 passed, 3 failed, 9 timed out (of 79) === The timeouts are well understood, usually failure to find the root disk. The failures are bad console assumptions. netboot-bios fails because TFTP with a single packet buffer in qemu gives horrible throughput, so the test takes 18-20 minutes. Now that I have a dashboard, I can fix the rest one by one. There's also a powerpc architecture that you can request specifically, but it's just for convenience and tests with the non-functional mac99 qemu machine. I will eventually eliminate this architecture. I added it to make sure the FreeBSD version wasn't too hard coded since this framework pulls from CD images to get the binaries for the minimal root used in testing and there's no 15.x 32-bit powerpc images. We need to add http and nfs root booting tests, but that's for the future. Plus there's some other functional tests that we should also add for different types of root (usb, sata, sas, nvme, ufs, emmc, sd, etc) that would be useful to test, especailly the non-sata/non-nvme ones. How we do that is still TBD. I leaned on claude to iterate over the recipes that I've developed over the years, collected off the internet or got on IRC recently to produce this framework. Most of this code is fairly good, while a few parts, especailly some of the comments, are detectable as AI produced. My plans are to iteratively improve those. Since this is just a test, and since I've broken many scenarios w/o realizing, it's a good tradeoff. I've not made it an ATF test since we test all the architectures, but I'm open to feedback in this area. Total time to test all the architectures is about 10 minutes. It assumes you've built GENERIC* and the boot loader for all the architectures too. In the future, I plan on moving to MINIMAL for all the boot testing, but likely only after PCI devmatch is integrated into it. That would be incrementally faster test times. The man page is decent, but was also generated by Claude with only trivial edits by me to date.... But at least there's a man page for it, though neither it nor the script is installed onto the system. Sponsored by: Netflix Assisted-by: Claude Code (Opus 4.6, Opus 4.8(1M) and Sonet 5.0) Differential Revision: https://reviews.freebsd.org/D58008
* git-mfc: Update exception listsMark Johnston2026-07-101-0/+25
| | | | | | | | This silences warnings when running git-mfc --pending against stable/13, 14 and 15. Reviewed by: des Differential Revision: https://reviews.freebsd.org/D58162
* git-mfc: Add an ignore-list featureMark Johnston2026-07-102-0/+45
| | | | | | | | | | | Commit hashes listed in ~/.git-mfc-ignore are not listed in output of git-mfc --dangling or --pending. This is handy for silencing output about commits that are tagged for MFC or as fixing another commit, but which were not MFCed for some reason or other. Requested by: des Reviewed by: des Differential Revision: https://reviews.freebsd.org/D58161
* tools/build: Don't set RANLIB for non-FreeBSD buildsEd Maste2026-07-101-4/+2
| | | | | | | | RANLIB is not used by our build, so there is no need to set it. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58156
* build: Retire LLVM_COV src.conf knobEd Maste2026-07-103-8/+2
| | | | | | | | | | | | | | I introduced it in commit 1b49115a40ad ("Promote llvm-cov to a standalone option"). llvm-cov was previously enabled as part of the CLANG_EXTRAS option. I made it a standalone, default-enabled option for parity with the tools provided by the GCC-based toolchain. We no longer provide an in-tree GCC toolchain. Now, just build llvm-cov along with Clang to simplify build infrastructure. Reviewed by: dim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58155
* beinstall: Avoid chrooting into new worldEd Maste2026-07-101-4/+3
| | | | | | | | | | | | | The new world may use system calls that are not in the currently-running kernel, so we cannot chroot into the new environment to run `make installworld`, `etcupdate`, etc. Partially revert commit 16702050ac95 ("beinstall: perform pre-installworld steps") and switch back to using DESTDIR for installworld and so on. Reported by: olivier Reviewed by: olivier Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50682
* git-mfc: Cherry-pick all commits in one git commandMark Johnston2026-07-102-11/+16
| | | | | | | | | | | This allows one to resume from a conflict with a plain `git cherry-pick --continue`, whereas before one would have to re-run the original git-mfc command after resolving the conflict and running `git cherry-pick --continue`. Suggested by: des Reviewed by: des Differential Revision: https://reviews.freebsd.org/D58129
* git-mfc: Filter pending and dangling commits by committerMark Johnston2026-07-102-21/+41
| | | | | | | | | | | | | | | | | Previously we searched commits based on the author email address, but this isn't really right: if I commit something from a contributor, I'm still responsible for MFCing it, so really we should be filtering on the committer. Add a new --committer option to filter results by committer email address, defaulting to the user.email value in the git config. Keep the --author option, but don't filter by author unless the option is explicitly specified. Reported by: des Reviewed by: des Differential Revision: https://reviews.freebsd.org/D58126
* loader: Add two new build knobs for x86 BIOS loadersWarner Losh2026-07-104-0/+8
| | | | | | | | | | | | We have two sets of BIOS loaders: One that lives in stand/i386 and one that lives in stand/userboot. Add knows to turn these on/off, with the default being on. These often aren't needed when creating a minimal UEFI system, so add knobs to turn them off. Given light-weight VMs have created a new use cases for these loaders, there's no plans at all to eliminate them. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D58072