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

    From Lorenzo Salvadore@21:1/5 to All on Sat Jun 11 16:00:02 2022
    [continued from previous message]

    iwlwifi status FreeBSD wiki page URL: https://wiki.freebsd.org/WiFi/Iwlwifi

    Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

    The Intel Wireless driver update project aims to bring support for newer chipsets along with mac80211 LinuxKPI compat code. The dual-licensed Intel driver code was ported in the past for the iwm(4) native driver; using the LinuxKPI compat framework allows us to use the driver directly and gives support to all the latest chipsets, with only minor local modifications. Some of the changes made while porting the driver to FreeBSD were kindly incorporated into the upstream Linux driver already.

    During the first quarter work continued with about 70 commits. Updating the driver and firmware reduced differences to the Linux version and gave us bugfixes and improvements. Changes to the LinuxKPI 802.11 compatibility layer were made to avoid firmware crashes and possible panics for users along with other improvements.

    Auto-loading support for LinuxKPI PCI drivers was comitted. This means that iwlwifi(4) will now load automatically during boot if a supported card is detected without any user interactions. Considering the current state of the driver and the next release a decision was made that iwm(4) supported chipsets will continue to attach to iwm(4) for now and only newer and otherwise unsupported chipsets will use the iwlwifi(4) driver. This is likely going to change in CURRENT as soon as iwlwifi(4) provides better support than iwm(4).

    The code was merged to the stable/13 branch and the current state will be shipped with the upcoming 13.1-RELEASE.

    In addition to The FreeBSD Foundation thanks need to go to all users who have been testing and reporting back or are patiently waiting for the next update. For the latest state of the development, please follow the freebsd-wireless mailing list.

    Sponsor: The FreeBSD Foundation

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

    Kernel Crypto changes to support WireGuard

    Contact: John Baldwin <jhb@FreeBSD.org>

    During the last quarter, I continued my work to improve the FreeBSD WireGuard driver. On the FreeBSD side, I added support for the XChaCha20-Poly1305 AEAD cipher. I also added a dedicated API to support [X]ChaCha20-Poly1035 on small, flat buffers. Finally, I added an API wrapper for the curve25519 implementation from libsodium.

    For the WireGuard driver, I wrote a series of patches which updates the driver to use crypto APIs such as those mentioned above in place of internal cipher implementations. The series also includes a fix to avoid scheduling excessive crypto tasks as well as a few other small fixes. This series is pending review.

    Sponsor: The FreeBSD Foundation

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

    Documentation

    Noteworthy changes in the documentation tree, man-pages, or new external books/ documents.

    Documentation Engineering Team

    Link: FreeBSD Documentation Project
    Link: FreeBSD Documentation Project Primer for New Contributors
    Link: Documentation Engineering Team

    Contact: FreeBSD Doceng Team <doceng@FreeBSD.org>

    The doceng@ team is a body to handle some of the meta-project issues associated with the FreeBSD Documentation Project; for more information, see FreeBSD Doceng Team Charter.

    No new documentation commit bit was granted during the last quarter, and only one commit bit was safe kept.

    Several tasks were completed related to the doc tree during the last quarter:

    • Fix some issues in the translation workflow with PO files and Weblate
    related to the po4a program.

    More info here.

    • Update offline documentation (PDF and HTML).

    The old directory /doc is now on ftp-archive; it contains files prior to
    the Hugo/Asciidoctor migration.

    • Remove Google Analytics from documentation and website.

    • Add last modified information to the documentation and website pages.

    • Tag FreeBSD docset for 13.1-RELEASE.

    • Add the first Indonesian translation to the doc tree.

    FreeBSD Translations on Weblate

    Link: Translate FreeBSD on Weblate
    Link: FreeBSD Weblate Instance

    The translation workflow with Weblate is more mature at this point. Several issues were fixed between PO files and po4a program.

    We welcome everyone to try our Weblate instance to translate a few documents.

    The first Indonesian translation was added to the FreeBSD project. We thank Azrael JD for the contribution, and we are looking forward to seeing more Indonesian translations.

    Q1 2022 Status

    • 12 languages (1 new language)

    • 142 registered users

    Languages

    • Chinese (Simplified) (zh-cn)

    • Chinese (Traditional) (zh-tw)

    • Dutch (nl)

    • French (fr)

    • German (de)

    • Indonesian (id) - Added

    • Italian (it)

    • Norwegian (nb-no)

    • Persian (fa-ir)

    • Portuguese (pt-br)

    • Spanish (es)

    • Turkish (tr)

    We want to thank everyone that contributed, translating or reviewing documents.

    And please, help promote this effort on your local user group, we always need more volunteers.

    FreeBSD Website Revamp - WebApps working group

    Contact: Sergio Carlavilla <carlavilla@FreeBSD.org>

    Working group in charge of creating the new FreeBSD Documentation Portal and redesigning the FreeBSD main website and its components. FreeBSD developers can follow and join the working group on the FreeBSD Slack channel #wg-www21. The work will be divided into four phases:

    1. Redesign of the Documentation Portal

    Create a new design, responsive and with global search. (Complete)

    2. Redesign of the Manual Pages on web

    Scripts to generate the HTML pages using mandoc. (Work in progress)

    3. Redesign of the Ports page on web

    Ports scripts to create an applications portal. (Work in progress)

    4. Redesign of the FreeBSD main website

    New design, responsive and dark theme. (Not started)

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

    Ports

    Changes affecting the Ports Collection, whether sweeping changes that touch most of the tree, or individual ports themselves.

    KDE on FreeBSD

    Links:
    KDE FreeBSD URL: https://freebsd.kde.org/
    KDE Community FreeBSD URL: https://community.kde.org/FreeBSD

    Contact: Adriaan de Groot <kde@FreeBSD.org>

    The KDE on FreeBSD project packages the software from the KDE Community, along with dependencies and related software, for the FreeBSD ports tree. The software includes a full desktop environment called KDE Plasma (for both X11 and Wayland) and hundreds of applications that can be used on any FreeBSD machine.

    The KDE team (kde@) is part of desktop@ and x11@ as well, building the software stack to make FreeBSD beautiful and usable as a daily-driver graphics-based desktop machine.

    KDE Qt Patch Collection The Qt Company did not release Qt 5.15 updates under Open Source licenses in 2021, leaving the Open Source 5.15 version lagging behind the proprietary release. Qt 6 is released under an Open Source license, but for the world of Open Source software that requires Qt 5, there is still a need for updates. The KDE Community fills that need by maintaining a curated set of patches — generally backported from Qt6 — to maintain the Open Source
    version of Qt 5. FreeBSD ports now use this KDE Qt Patch Collection, rather than the outdated last Qt 5.15.2 release from the Qt Company. This landed both in main and the last quarterly branch for 2021, since it brings important bugfixes.

    KDE Stack

    • KDE Plasma Desktop (all the /plasma5- ports) was updated to 5.23.5 at the
    start of the year. Since this happened very shortly after quarterly was
    branched, this was MFH’ed. The long-term-support release 5.24 landed
    mid-february. The FreeBSD ports do not stick to LTS releases, and will
    follow the regular release schedule. 5.24.3 landed on schedule in March.

    • KDE Gear (the collection of KDE libraries and applicatious outside of the
    Frameworks and Plasma Desktop groups) was updated to 21.12.1 and MFH’ed.
    Monthy releases landed as well: 21.12.2 in February.

    • KDE Frameworks have a monthly release cadence, so 5.90 landed in January,
    5.91 in February and 5.92 in March.

    • KDE PIM currently does not support Contacts stored in a Google account
    because Google has changed the available REST API.

    • astro/kstars received its regularly scheduled updates.

    • deskutils/kalendar was updated. It has now reached the 1.0 stage.

    • deskutils/kodaskanna was added to the ports tree. It is a simple QR-code
    scanner for the desktop.

    • deskutils/latte-dock is an alternative launcher for use in KDE Plasma
    Desktop and other environments. It was updated to 0.10.7 as part of its
    monthly releases.

    • devel/okteta, an editor and viewer for binary data, was updated to 0.26.7,
    a regular bugfix release.

    • graphics/digikam, the digital photography manager, was updated to 7.6.0.
    (Thanks Dima Panov)

    • graphics/kf5-kimageformats has a new option enabling libheif and HEIC
    support.

    • graphics/kontrast was added to the 'accessibility' category. This is a tool
    for checking color-combinations (e.g. for a website) for sufficient
    contrast and readability.

    • graphics/krita was updated to the next big release, Krita 5. (Thanks Max
    Brazhnikov)

    • lang/kross-interpreters was fixed for Ruby 3. (Thanks Yasuhiro Kimura)

    • sysutils/plasma5-discover was updated to resolve some denial-of-service
    bugs in KDE infrastructure.

    • www/falkon was updated. After a two-year wait, a new release of the KDE web
    browser built on Qt WebEngine (itself a wrapper around Chromium internals)
    arrived upstream and in ports.

    • x11/plasma5-plasma-workspace now can properly edit login and account
    information.

    Related Applications

    • devel/qtcreator was updated to version 6. A new versioning model has been
    introduced by upstream, so this will now jump by major release number
    regularly. (Thanks to Florian Walpen)

    • irc/quassel was updated. Quassel is a distributed IRC client (think of it
    as your own personal IRC bouncer).

    • misc/tellico was updated. Tellico is a "collection manager", for instance
    collections of books, music, stamps, or FreeBSD releases.

    • net-im/nheko was updated. This is one of a dozen Matrix clients available
    in the ports tree.

    Elsewhere

    • archivers/7-zip is the preferred tool for dealing with 7zip files; this
    affacts KDE applications that work with archives (like archivers/ark). We
    would like to thank makc@ for stewarding that update.

    • devel/libphonenumber has bi-weekly updates to chase the exciting world of
    telephony details.

    • graphics/poppler was updated to version 22.01. This version requires C17,
    which pushes a number of consumers to the newer C standard as well. Most
    consumers were fixed in advance.

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

    FreeBSD Office Team

    Links:
    The FreeBSD Office project URL: https://wiki.freebsd.org/Office
    The FreeBSD Office mailing list URL: https://lists.freebsd.org/subscription/ freebsd-office

    Contact: FreeBSD Office team ML <office@FreeBSD.org>
    Contact: Dima Panov <fluffy@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>

    The FreeBSD Office team works on a number of office-related software suites and tools such as OpenOffice and LibreOffice.

    Work during this quarter was focused on providing the latest stable release of LibreOffice suite and companion apps to all FreeBSD users.

    During the 2022Q1 period we pushed maintenance patches for the LibreOffice 7.2 port to the quarterly branch and brought the latest, 7.3, releases and all companion libraries such as MDDS, libIxion and more to the ports tree.

    Also we are still working on the Boost WIP repository to bring the latest Boost library to the ports.

    We are looking for people to help with the open tasks:

    • The open bugs list contains all filed issues which need some attention

    • Upstream local patches in ports

    Patches, comments and objections are always welcome in the mailing list and Bugzilla.

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

    lang/gcc* ports need some love and attention

    Links:
    GCC Project URL: https://gcc.gnu.org
    GCC 11 release series URL: https://gcc.gnu.org/gcc-11/

    Contact: toolchain@FreeBSD.org
    Contact: Gerald Pfeifer <gerald@pfeifer.com>

    After about two decades of maintaining FreeBSD’s lang/gcc* ports, the time came
    to hand over the baton and mostly step back. Alas the baton essentially dropped to the floor, despite multiple calls for help.

    Here are a few specific tasks looking for help:

    • Upgrade GCC_DEFAULT in Mk/bsd.default-versions.mk from 10 to 11, including
    fixing the (luckily minor) fall out of an -exp run: https://
    bugs.freebsd.org/bugzilla/show_bug.cgi?id=258378

    • Three changes to work through with upstream GCC (requires src expertise,
    not ports):

    □ upstreaming lang/gcc11/patch-gets-no-more

    □ upstreaming lang/gcc11/patch-arm-unwind-cxx-support

    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256874

    • We have removed the unmaintained lang/gcc9-devel and lang/gcc10-devel
    ports, alas kept lang/gcc11-devel and lang/gcc12-devel which would be good
    to see if not weekly, then somewhat regular updates.

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

    PortConfig

    Links:
    Repository portconfig URL: https://gitlab.com/alfix/portconfig/

    Contact: Alfonso Sabato Siciliano (upstream) <asiciliano@FreeBSD.org>
    Contact: Baptiste Daroussin (port) <bapt@FreeBSD.org>

    FreeBSD provides the Ports Collection to give users and administrators a simple way to install applications. It is possible to configure a port before the building and installation. PortConfig is an utility for setting the port options via a Text User Interface.

    As each terminal has different properties PortConfig can be customized via environment variables to set up the User Interface, for example: menu size, theme, borders, and so on; each feature is documented inside the manual. Further, if a port has a specific 'pkg-help' file, PortConfig will show a Help button to open a "popup" with help information.

    FreeBSD provides thousands of ports therefore it is not feasible to test PortConfig for each use; please report any problem.

    Alfonso would like to thank Baptiste Daroussin for the port, suggestions, help, and testing for this utility and its library.

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

    Wifibox: Use Linux to drive your wireless card on FreeBSD

    Links:
    Project GitHub Page
    net/wifibox port

    Contact: PÁLI Gábor János <pali.gabor@gmail.com>

    Wifibox is an experimental project for exploring the ways of deploying a virtualized Linux guest to drive wireless networking cards on the FreeBSD host system. There have been guides on the Internet to suggest the use of such techniques to improve the wireless networking experience, of which Wifibox aims to implement as a single easy-to-use software package.

    • bhyve(8) is utilized to run the embedded Linux system. This helps to
    achieve low resource footprint. It requires an x64 CPU with I/O MMU
    (AMD-Vi, Intel VT-d), ~150 MB physical memory, and some disk space
    available for the guest virtual disk image, which can be even ~30 MB only
    in certain cases. It works with FreeBSD 12 and later, some cards may
    require a recent 13-STABLE though.

    • The guest is constructed using Alpine Linux, a security-oriented,
    lightweight distribution based on musl libc and BusyBox.

    • Configuration files are shared with the host system. The guest uses
    wpa_supplicant(8) so it is possible to import the host’s
    wpa_supplicant.conf(8) file without any changes.

    • When configured, wpa_supplicant(8) control sockets could be exposed by the
    guest, which enables use of related utilities directly from the host, such
    as wpa_cli(8) or wpa_gui(8) from the net/wpa_supplicant_gui port/package.

    • Everything is shipped in a single package that can be easily installed and
    removed. This comes with an rc(8) system service that automatically
    launches the guest on boot and stops it on shutdown.

    • A workaround is supplied for laptops to support suspend/resume.

    Wifibox has been mainly tested with Intel chipsets so far, and it has shown great performance and stability. Therefore it might serve as an interim solution until the Intel Wireless support becomes mature enough. It was confirmed that Wifibox works with Atheros chipsets too, and feedback is more than welcome about others. Support for Broadcom chipsets is not yet complete, that is currently a work in progress.

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

    Third Party Projects

    Many projects build upon FreeBSD or incorporate components of FreeBSD into their project. As these projects may be of interest to the broader FreeBSD community, we sometimes include brief updates submitted by these projects in our quarterly report. The FreeBSD project makes no representation as to the accuracy or veracity of any claims in these submissions.

    helloSystem

    Links:
    Documentation URL: https://hellosystem.github.io/

    Contact: Simon Peter <probono@puredarwin.org>
    Contact: #helloSystem on irc.libera.chat, mirrored to #helloSystem:matrix.org on Matrix

    What is helloSystem?

    helloSystem is FreeBSD preconfigured as a desktop operating system with a focus on simplicity, elegance, and usability. Its design follows the “Less, but better” philosophy.

    Q1 2022 Status

    • Version 0.8.0 of helloSystem is under development and test

    □ helloSystem 0.8.0 will be based on FreeBSD 13.1-RELEASE

    □ Experimental Live ISOs using FreeBSD 13.1-BETA3 are available

    □ Initial support for running Linux AppImage files using an optional
    Debian runtime

    □ Initial support for the AppImage format in the user interface

    □ Improved reliability and performance of mounted archives by using
    fuse-archive

    □ Various bugfixes

    Installable experimental Live ISO images are available at https://github.com/ helloSystem/ISO/releases/tag/experimental-13.1.

    Contributing

    The project appreciates contributions in various areas.

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

    Containers and FreeBSD: Pot, Potluck and Potman

    Links:
    Pot organization on github URL: https://github.com/bsdpot

    Contact: Luca Pizzamiglio (Pot) <pizzamig@freebsd.org>
    Contact: Stephan Lichtenauer (Potluck) <sl@honeyguide.eu>
    Contact: Michael Gmelin (Potman) <grembo@freebsd.org>

    Pot is a jail management tool that also supports orchestration through Nomad.

    As a result of production testing in a real-world cluster deployment, pot and related projects received stability improvements for controlling the pot lifecycle (i.e., pot prepare/start/stop).
    Various attributes and commands have been developed to improve support of nomad orchestration and batch jobs (e.g., change dns config during clone, ability to disable tmpfs, new last-run-stats command). A new pot release will follow soon.

    Potluck aims to be to FreeBSD and pot what Dockerhub is to Linux and Docker: a repository of pot flavours and complete container images for usage with pot and in many cases nomad.

    Many of the core images like Nomad, Consul and Vault that can be used to build a private cloud and orchestration platform, but also e.g. Prometheus or PostgreSQL Patroni, have reached a stable status over the last quarter and are in production use now.

    To make navigating the evolving pot ecosystem easier, most project resources have been centralized in a dedicated github project: https://github.com/bsdpot

    There, we plan to release ansible playbooks that allow easily creating a FreeBSD based orchestration environment from scratch based on all these tools.

    As always, feedback and patches are welcome.

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

    Fpart and fpsync

    Links:
    Project site and documentation URL: https://www.fpart.org
    Development URL: https://github.com/martymac/fpart
    Port URL: https://www.freshports.org/sysutils/fpart

    Contact: Ganael Laplanche <martymac@FreeBSD.org>

    What is fpart ?

    Fpart is a filesystem partitioner. It helps you sort file trees and pack them into bags ("partitions").

    It uses FreeBSD’s fts(3) implementation (GNU/Linux builds can also use it as an
    option), which makes it crawl filesystems very fast.

    A hook facility is provided to trigger actions on the partitions produced.

    What is fpsync ?

    Fpsync is a companion script that uses fpart under the hood to parallelize rsync(1) or cpio(1) jobs, making it a simple but powerful data migration tool. Those jobs can be run either locally or remotely (using SSH). Fpsync is often used by researchers and cloud providers where lots of data need to be moved and clusters are available to speed up transfers.

    Q1 2022 Status

    Both tools continued to evolve and saw several bugs fixed; see the changelog.

    Also, a user reported a major bug regarding our fts(3) implementation, which ignores readdir(3) errors. I have reported the bug in our Bugzilla:

    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262038

    It should be merged soon (hopefully).

    Last but not least, fpart has been referenced in the French Government’s 'SILL'
    .

    Contributing

    If you are interested in contributing, have a look at the TODO list.

    Any contribution is welcome, more especially in the field of unit testing.

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