• FreeBSD Quarterly Status Report - Second Quarter 2022 (1/2)

    From Lorenzo Salvadore@21:1/5 to All on Tue Aug 9 02:00:06 2022
    FreeBSD Quarterly Status Report Second Quarter 2022

    Here is the second quarterly report of 2022, with 26 reports included.

    This quarter the quarterly team managed to publish the report much faster and, hopefully, with much fewer mistakes. If however you notice some errors, please report them so that we can correct them and also add some automatic checks in our tools to prevent them in the future and stay as efficient as possible in the pubblication process.

    We would also like to remind you that if for any reason you need more time to submit a quarterly report, the team will wait for you, but please warn us so that we are aware that some report is still missing.

    Many thanks to all those that have chosen to share their work with the FreeBSD community through the quarterly reports.

    Lorenzo Salvadore, on behalf of the status report team.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    A rendered version of this report is available here: https://www.freebsd.org/status/report-2022-04-2022-06/

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Table of Contents

    • FreeBSD Team Reports
    □ FreeBSD Core Team
    □ FreeBSD Foundation
    □ FreeBSD Release Engineering Team
    □ Cluster Administration Team
    □ Continuous Integration
    □ Ports Collection
    • Projects
    □ Linux compatibility layer update
    □ go on FreeBSD riscv64
    □ FreeBSD on Microsoft HyperV and Azure
    • Userland
    □ Ongoing work on LLDB multiprocess debugging support
    □ ZFS support in makefs(8)
    □ Base System OpenSSH Update
    □ pf status update
    • Kernel
    □ ENA FreeBSD Driver Update
    □ New Bluetooth® configuration daemon: blued
    □ OpenVPN DCO
    □ Wireless updates
    □ Shared page address randomization
    • Architectures
    □ NXP DPAA2 support
    □ Medium-sized superpages on arm64 and beyond
    • Documentation
    □ Documentation Engineering Team
    • Ports
    □ KDE on FreeBSD
    □ Elsewhere
    □ GCC: updating GCC_DEFAULT and other improvements
    □ Valgrind - Numerous bugfixes and updates for 13.1 / 14.0
    □ Pantheon desktop on FreeBSD
    □ Feature Complete Port of Intel’s igt-gpu-tools

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Team Reports

    Entries from the various official and semi-official teams, as found in the Administration Page.

    FreeBSD Core Team

    Contact: FreeBSD Core Team <core@FreeBSD.org>

    The FreeBSD Core Team is the governing body of FreeBSD.

    The twelfth FreeBSD Core Team was elected by active developers. The core.12 members are:

    • Baptiste Daroussin (bapt, incumbent)

    • Benedict Reuschling (bcr)

    • Ed Maste (emaste, incumbent)

    • Greg Lehey (grog)

    • John Baldwin (jhb)

    • Li-Wen Hsu (lwhsu)

    • Emmanuel Vadot (manu)

    • Tobias C. Berner (tcberner)

    • Mateusz Piotrowski (0mp)

    On June 10th the outgoing core.11 and incoming core.12 teams held a handover meeting, and the new Core Team was announced on Jun 18.

    The current Core Team secretary, Muhammad Moinur Rahman (bofh), will step down after the appointment of a new Core Team secretary and handover tasks completes.

    In this quarter, src commit bits of Kornel Dulęba (kd) and Dmitry Salychev (dsl) have been approved.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Foundation

    Links:
    FreeBSD Foundation URL: https://www.FreeBSDFoundation.org
    Technology Roadmap URL: https://FreeBSDFoundation.org/blog/technology-roadmap/ Donate URL: https://www.FreeBSDFoundation.org/donate/
    Foundation Partnership Program URL: https://www.FreeBSDFoundation.org/ FreeBSD-foundation-partnership-program
    FreeBSD Journal URL: https://www.FreeBSDFoundation.org/journal/
    Foundation News and Events URL: https://www.FreeBSDFoundation.org/ news-and-events/

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Donations from individuals and corporations are used to fund and manage software development projects, conferences, and developer summits. We also provide travel grants to FreeBSD contributors, purchase and support hardware to improve and maintain FreeBSD infrastructure, and provide resources to improve security, quality assurance, and release engineering efforts. We publish marketing material to promote, educate, and advocate for the FreeBSD Project, facilitate collaboration between commercial vendors and FreeBSD developers, and finally, represent the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.

    Fundraising Efforts

    First, I’d like to send a big thank you to everyone who gave a financial contribution to our efforts. We are 100% funded by your donations, so every contribution helps us continue to support FreeBSD in many ways, including some of the work funded and published in this status report.

    Our goal this year is to raise at a minimum $1,400,000 towards a spending budget of around $2,000,000. As I write this report, we’ve brought in under $200,000 towards that goal. So, we obviously need to step up our effort of fundraising. It’s by far the hardest part of my job. I’d much prefer talking to
    folks in our community on how we can help you, help create content to recruit more users and contributors to the Project, and understand challenges and painpoints that individuals and organizations have in using FreeBSD, so we can help improve those areas. Asking for money is not on that list.

    We support FreeBSD in five main areas. Software development is the largest area we fund with six software developers on staff who step in to implement new features, support tier 1 platforms, review patches, and fix issues. You can find out some of the work we did under OS Improvements in this report. FreeBSD Advocacy is another area that we support to spread the word about FreeBSD at conferences, in presentations online and in-person, tutorials and how-to guides. We purchase and support hardware for the FreeBSD infrastructure that supports the work going on in the Project. Virtual and in-person events are organized by the Foundation to help connect and engage community members to share their knowledge and collaborate on projects. Finally, we provide legal support to the Project when needed and protect the FreeBSD trademarks.

    If you haven’t made a donation this year, please consider making one at https:/
    /freebsdfoundation.org/donate/.

    We also have a Partnership Program for larger commercial donors. You can find out more at https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/

    OS Improvements

    During the second quarter of 2022, 243 src, 62 ports, and 12 doc tree commits were made that identified The FreeBSD Foundation as a sponsor. This represents 10.6, 0.7, and 4.5% of the total number of commits to each repository.

    Sponsored Work

    You can read about some of the Foundation-sponsored work in individual quarterly report entries.

    • Base System OpenSSH Update

    • Ongoing work on LLDB multiprocess debugging support

    • Wireless Status

    • ZFS support in makefs

    Other ongoing sponsored work is described here.

    • FreeBSD Wireguard Improvements

    The aim of the Wireguard project is to improve support for the FreeBSD Wirguard kernel module.
    The work by John Baldwin involved adapting the module to use FreeBSD's OCF rather than Wireguard's internal implementations.
    It also involved adding new ciphers and API support.
    The latest upstream release incorporates this work.

    • Openstack on FreeBSD

    OpenStack is a cloud system for different types of resources like virtual machines.
    However, OpenStack only unofficially supports FreeBSD as a guest system.
    That means users can spawn FreeBSD instances on the open cloud platform, but it is not currently possible run OpenStack on FreeBSD hosts.
    The goal of this project is port OpenStack components so that FreeBSD can function as an OpenStack host.

    • Bhyve Issue Support

    The Foundation recently signed a new contract for Byhve support.
    This contract will allow John Baldwin to dedicate time to Bhyve as issues arise, especially security issues.

    • Handbook Improvement Exploration

    Under sponsorship from the Foundation, Pau Amma wrapped up a mini-project to explore how the Handbook can be improved.
    A survey was sent out and the results will be shared soon.

    Continuous Integration and Quality Assurance

    The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project.

    Supporting FreeBSD Infrastructure

    The Foundation provides hardware and support for the Project. A new Australian mirror was brought online by the Cluster Administration team. If you are a FreeBSD user in Oceania or southeast Asia, please let us know if download speeds for installer images and packages has improved.

    With your donations, the Foundation purchased new hardware to repair two PowerPC package builders, one for little endian packages (powerpc64le) and the second for big endian packages (powerpc64, powerpc). The new hardware just arrived at the data center and will be installed soon. Expect lots of PowerPC packages in the near future.

    FreeBSD Advocacy and Education

    Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature and video tutorials, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

    The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We are continuing to attend virtual events and planning the June 2022 Developer Summit. In addition to attending and planning virtual events, we are continually working on new training initiatives and updating our selection of how-to guides to facilitate getting more folks to try out FreeBSD.

    Check out some of the advocacy and education work we did last quarter:

    • Secured our booth and nonprofit sponsor status for All Things Open, October
    30-November 2, 2022, Raleigh, NC.

    • Finalized our booth and workshop at Scale 19x in Los Angeles, CA on July
    28-30. The FreeBSD workshop will be held Friday,Jul 29, 2022 and you can
    visit the Foundation at booth 502.

    • Confirmed our Silver Sponsorship of EuroBSDcon 2022, September 15-18,
    Vienna, Austria

    • Sponsored and helped organize the June 2022 FreeBSD Developer Summit, June
    16-17, 2022. Videos are available on the FreeBSD Project YouTube channel.

    • Celebrated FreeBSD Day June 19, 2022 and throughout the following week.

    • Secured our Friends level sponsorship of COSCUP, July30-31, Taiwan

    • Published the FreeBSD Foundation Spring 2022 Update

    • New Blog Posts

    □ Let’s Talk About Foundation Funding

    □ New Board Member Interview: Cat Allman

    □ Welcome FreeBSD Google Summer of Code Participants

    □ FreeBSD Foundation Work in the 13.1 Release

    □ Foundation Elects New Officers, Interviews Outgoing Board Members

    □ Help Us Celebrate FreeBSD Day All Week Long

    • New and Updated How-To and Quick Guides:

    □ Networking Basics: WiFi and Bluetooth

    □ Audio on FreeBSD

    □ Installing FreeBSD with VirtualBox (Mac/Windows) - Video Guide

    □ An Introduction to the FreeBSD Operating System - Video Guide

    □ Installing a Desktop Environment on FreeBSD - Video Guide

    □ Installing a Port on FreeBSD - Video Guide

    We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https:// www.FreeBSDfoundation.org/journal/.

    You can find out more about events we attended and upcoming events at https:// www.FreeBSDfoundation.org/news-and-events/.

    Legal/FreeBSD IP

    The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.

    Go to https://www.FreeBSDFoundation.org to find more about how we support FreeBSD and how we can help you!

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Release Engineering Team

    Links:
    FreeBSD 13.1-RELEASE schedule URL: https://www.freebsd.org/releases/13.1R/ schedule/
    FreeBSD 13.1-RELEASE announcement URL: https://www.freebsd.org/releases/13.1R/ announce/
    FreeBSD releases URL: https://download.freebsd.org/releases/ISO-IMAGES/
    FreeBSD development snapshots URL: https://download.freebsd.org/snapshots/ ISO-IMAGES/

    Contact: FreeBSD Release Engineering Team, <re@FreeBSD.org>

    The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.

    During the second quarter of 2022, the Release Engineering Team completed work on the 13.1-RELEASE cycle. This is the second release from the stable/13 branch. Throughout the release cycle, three BETA builds and six RC (release candidate) builds have occurred, moving the final release date from April 21, 2022 to May 16, 2022, as some last-minute issues were identified.

    We thank all FreeBSD developers and contributors for testing the 13.1-RELEASE, reporting problems, and being diligent with proprosed changes as the cycle progressed.

    Additionally throughout the quarter, several development snapshots builds were released for the main, stable/13, and stable/12 branches.

    Sponsor: Rubicon Communications, LLC ("Netgate") Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Cluster Administration Team

    Links:
    Cluster Administration Team members URL: https://www.freebsd.org/administration /#t-clusteradm

    Contact: Cluster Administration Team <clusteradm@FreeBSD.org>

    FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronise its distributed work and communications. In this quarter, the team has worked on the following:

    • Installed a new mirror in Sydney, Australia hosted by IX Australia

    • Fixed CI cluster hardware failure

    • Set up a new internal monitoring system

    • Regular cluster-wide software upgrades

    • Regular support for FreeBSD.org user accounts

    Work in progress:

    • Work with the PowerPC team to improve the package builders, universal, and
    reference machines.

    • Plan Hardware refresh, and fixing misc failures in each sites

    • Improve the package building infrastructure

    • Review the service jails and service administrators operation

    • Working with doceng@ to improve deployment of https://www.freebsd.org and
    https://docs.freebsd.org

    • Improve the web service architecture

    • Improve the cluster backup plan

    • Improve the log analysis system

    We are looking for an additional full mirror site (five servers) in Europe. See generic mirrored layout for our needs. Offers of additional single-server mirrors (see tiny mirror) are always welcome too, especially in Europe.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Continuous Integration

    Links:
    FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org
    FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org
    FreeBSD Jenkins wiki URL: https://wiki.freebsd.org/Jenkins
    Hosted CI wiki URL: https://wiki.freebsd.org/HostedCI
    3rd Party Software CI URL: https://wiki.freebsd.org/3rdPartySoftwareCI
    Tickets related to freebsd-testing@ URL: https://preview.tinyurl.com/y9maauwg FreeBSD CI Repository URL: https://github.com/freebsd/freebsd-ci
    dev-ci Mailing List URL: https://lists.freebsd.org/subscription/dev-ci

    Contact: Jenkins Admin <jenkins-admin@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>
    Contact: freebsd-testing Mailing List
    Contact: IRC #freebsd-ci channel on EFNet

    The FreeBSD CI team maintains the continuous integration system of the FreeBSD project. The CI system checks the committed changes can be successfully built, then performs various tests and analysis over the newly built results. The artifacts from those builds are archived in the artifact server for further testing and debugging needs. The CI team members examine the failing builds and unstable tests and work with the experts in that area to fix the code or adjust test infrastructure.

    During the second quarter of 2022, we continued working with the contributors and developers in the project to fulfill their testing needs and also keep collaborating with external projects and companies to improve their products and FreeBSD.

    Important completed tasks:

    • Fixed the hardware failure issue of the CI cluster

    Work in progress tasks:

    • Designing and implementing pre-commit CI building and testing (to support
    the workflow working group)

    • Designing and implementing use of CI cluster to build release artifacts as
    release engineering does

    • Testing and merging pull requests in the FreeBSD-ci repo

    • Simplifying CI/test environment setting up for contributors and developers

    • Setting up the CI stage environment and putting the experimental jobs on it

    • Organizing the scripts in freebsd-ci repository to prepare for merging to
    src repository

    • Updating documents on wiki

    Open or queued tasks:

    • Collecting and sorting CI tasks and ideas

    • Setting up public network access for the VM guest running tests

    • Implementing use of bare-metal hardware to run test suites

    • Adding drm ports building tests against -CURRENT

    • Planning to run ztest tests

    • Adding more external toolchain related jobs

    • Improving maturity of the hardware lab and adding more hardware for testing

    • Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
    3rdPartySoftwareCI, HostedCI)

    • Working with hosted CI providers to have better FreeBSD support

    Please see freebsd-testing@ related tickets for more WIP information, and don’t
    hesitate to join the effort!

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Ports Collection

    Links:
    About FreeBSD Ports URL:https://www.FreeBSD.org/ports/
    Contributing to Ports URL: https://docs.freebsd.org/en/articles/contributing/# ports-contributing
    FreeBSD Ports Monitoring URL: http://portsmon.freebsd.org/
    Ports Management Team URL: https://www.freebsd.org/portmgr/
    Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/

    Contact: René Ladan <portmgr-secretary@FreeBSD.org>
    Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org>

    The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.

    The number of ports is slightly above 30,000. The last quarter saw 9,137 commits by 151 committers on the "main" and 589 commits by 61 committers on the "2022Q2" branch. At the time of writing, there are 2,700 open ports PRs of which 682 are unassigned. Compared to the previous quarter, there was a slight decrease in commit activity and a constant number of PRs. Note: Freshports appears to overcount substantially. This quarter’s ports count was derived differently and is not comparable with the previous quarter’s.

    During the last quarter, portmgr welcomed back salvadore@ but also said goodbye to seven ports committers due to lack of activity.

    In its bi-weekly meetings, portmgr discussed the following topics: * the future of ca_root_nss * feasibility of the base system providing certain .pc files * ways to deal with incompatibilities in kernel module ports on minor version upgrades of the base system

    Following a discussion among developers, portmgr decided to grant all documentation and source committers approval to fix any documentation-related error in the Ports Tree which does not affect its functionality.

    The following changes were made to the Ports Tree during 2022q2: * pkg got updated to version 1.18.3, Firefox to version 102.0 and Chromium to version 103.0.50060.53 * Default versions of GCC, Lazarus, Python and Ruby got updated to respectively 11 (powerpcspe keeps version 8), 2.2.2, 3.9, and 3.0. * Two new USES were added, gstreamer to support ports based on GStreamer plugins and pytest to help testing with pytest.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Projects

    Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.

    Linux compatibility layer update

    Contact: Dmitry Chagin <dchagin@FreeBSD.org> Contact: Edward Tomasz Napierala < trasz@FreeBSD.org>

    The goal of this project is to improve FreeBSD’s ability to execute unmodified
    Linux binaries. Current support status of specific Linux applications is being tracked at the Linux app status Wiki page.

    Implementation of the Y2k38 Linux project is mostly finished; all '*_time64()' system calls are committed.

    The state of the arm64 Linux emulation layer was brought to the state of the amd64 Linux emulation layer: i.e., implemented the vDSO, machine dependend futexes, signals delivery.

    The thread affinity system calls were modified to implement Linux semantics.

    In total, over 50 bugs were fixed; glibc-2.35 tests suite reports less than 80 failed tests.

    All changes in the Linux emulation layer are merged to the stable/13 branch.

    Initial support for fancy Linux system call tracing has been added to libsysdecode and kdump. There is ongoing work to make tracing more syscalls work.

    Sponsor: EPSRC (Edward’s work)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    go on FreeBSD riscv64

    Links:
    golang Home Page URL: https://github.com/golang/go
    FreeBSD riscv64 github repo URL: https://github.com/MikaelUrankar/go/tree/ freebsd_riscv64
    FreeBSD riscv64 golang issue URL: https://github.com/golang/go/issues/53466

    Contact: Mikaël Urankar <mikael@FreeBSD.org>
    Contact: Dmitri Goutnik <dmgk@FreeBSD.org>

    Work has been done to port go on FreeBSD riscv64 which builds and passes all run.bash tests, including cgo (tested under QEMU and on Unmatched). A pull request is created upstream and the proposal has been added to the active column of the proposals project and will be reviewed at the weekly proposal review meetings.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD on Microsoft HyperV and Azure

    Links:
    Microsoft Azure article on FreeBSD wiki URL: https://wiki.freebsd.org/ MicrosoftAzure
    Microsoft HyperV article on FreeBSD wiki URL: https://wiki.freebsd.org/HyperV

    Contact: Microsoft FreeBSD Integration Services Team <bsdic@microsoft.com> Contact: freebsd-cloud Mailing List
    Contact: The FreeBSD Azure Release Engineering Team <releng-azure@FreeBSD.org> Contact: Wei Hu <whu@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>

    The 13.1-RELEASE image on Azure Marketplace has been published.

    Work in progress tasks:

    • Automating the image building and publishing process

    • Building and publishing ZFS-based images to Azure Marketplace

    □ The taks will be benefited by merging of ZFS support of makefs(8) and
    release(7)

    https://reviews.freebsd.org/D23334

    https://reviews.freebsd.org/D34426

    https://reviews.freebsd.org/D35248

    • Building and publishing Hyper-V gen2 VM images to Azure Marketplace

    □ Blocked by https://bugs.freebsd.org/264267

    The above tasks are sponsored by The FreeBSD Foundation, with resources provided by Microsoft.

    Wei Hu and his colleagues in Microsoft are working on several tasks sponsored by Microsoft:

    • Fixing booting issue on Hyper-V gen2 VM in Azure

    https://bugs.freebsd.org/264267

    • Porting Hyper-V guest support to aarch64

    Open tasks:

    • Update FreeBSD related doc at https://docs.microsoft.com

    • Support FreeBSD in Azure Pipelines

    • Update Azure agent port to the latest version

    • Upstream local modifications of Azure agent

    Sponsor: Microsoft for work by Wei Hu and others in Microsoft, and for resources for the rest Sponsor: The FreeBSD Foundation for everything else

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Userland

    Changes affecting the base system and programs in it.

    Ongoing work on LLDB multiprocess debugging support

    Links:
    Moritz Systems Project Description URL: https://www.moritz.systems/blog/ multiprocess-support-for-lldb/
    Progress Report 1 URL: https://www.moritz.systems/blog/ implementing-non-stop-protocol-compatibility-in-lldb/

    Contact: Kamil Rytarowski <kamil@moritz.systems>
    Contact: Michał Górny <mgorny@moritz.systems>

    According to the upstream description, "LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler."

    FreeBSD includes LLDB in the base system. The previous sponsored projects improved LLDB, to make it a credible debugger for the base system, although it still has a few limitations compared to the contemporary versions of GNU GDB. This project started in April 2022. It aims to implement full support for debugging multiple processes simultaneously.

    At the start of the project, LLDB featured very limited support for multiprocess debugging. The client featured support for debugging multiple independent processes simultaneously via maintaining multiple connections to different server instances. Thanks to our earlier work, the server was able to process fork(2) and vfork(2) calls and either detach the newly forked child and continue tracing the parent process, or detach the parent and follow the child (equivalent to GDB’s follow-fork-mode setting).

    Once the project is finished, LLDB will be able to trace an arbitrary number of forked processes simultaneously (equivalent to GDB’s detach-on-fork off). Full
    support for the multiprocess extension to the GDB Remote Serial Protocol will be implemented, as well as partial support for the non-stop extension that will enable multiple processes to be resumed and stopped independently.

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    ZFS support in makefs(8)

    Links:
    Mailing list post URL: https://lists.freebsd.org/archives/freebsd-hackers/ 2022-May/001128.html
    makefs(8) code review URL: link:https://reviews.freebsd.org/D35248 release(7) code review URL: link:https://reviews.freebsd.org/D34426

    Contact: Mark Johnston <markj@FreeBSD.org>

    makefs(8) is a utility, originating in NetBSD, that creates file system images entirely in userspace. It is a useful component of a toolchain to build virtual machine (VM) images since it does not require any special privileges, unlike the approach of formatting a character device, mounting the fresh file system, and copying files onto it. Moreover, makefs can create reproducible images and aims to minimize resource consumption. Currently, FreeBSD’s makefs can build UFS, cd9660, and msdos (FAT) file system images.

    Recent work enables the creation of ZFS images by makefs. This makes it easier to build ZFS-based VM images. makefs' ZFS support includes the ability to create multiple datasets, with each mapped to a directory in the input file hierarchy. Many ZFS features are not supported however, as the implementation provides only what is needed to get reproducible root pools.

    Follow-up work enables the creation of ZFS-based VM and cloud images by the release(7) framework, using this new makefs extension.

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Base System OpenSSH Update

    Links:
    OpenSSH URL: https://www.openssh.com/
    OpenSSH 8.9 release notes URL:https://www.openssh.com/txt/release-8.9[https:// www.openssh.com/txt/release-8.9]
    OpenSSH 9.0 release notes URL:https://www.openssh.com/txt/release-9.0[https:// www.openssh.com/txt/release-9.0]

    Contact: Ed Maste <emaste@freebsd.org>

    OpenSSH, a suite of remote login and file transfer tools, was updated from version 8.8p1 to 9.0p1 in the FreeBSD base system.

    It has not yet been merged to the stable/13 and stable/12 branches. I anticipate doing so in July.

    NOTE: OpenSSH 9.0p1 switches scp(1) from using the legacy scp/rcp protocol to

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)