[continued from previous message]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
armv7 Ports Quality Assurance
Contact: Robert Clausecker <
fuz@FreeBSD.org>
As part of a long term project to improve the quality of the FreeBSD ports collection for the armv7 architecture, a number of issues in the base system and in various ports have been fixed. Through this action, the number of binary packages that could be successfully built from the 2023Q4 branch of the ports collection was increased from 30018 (as of 2023-10-04) to 31118 (as of 2023-11-24).
Two kernel bugs affecting package builds (PR 267788 and PR 274705) were identified and addressed, with these two alone being responsible for around 900 failed packages. The most common other causes for build failures include
• lack of FreeBSD-specific armv7 support code
• data alignment issues (armv7 being one of the few architectures for which
we do not support unaligned memory accesses)
• address space exhaustion during the build processes (usually LTO related;
PR 274705 addressed many cases)
• lack of OpenMP support on armv7 FreeBSD
If you are a user of the FreeBSD ports collection on armv7, do not hesitate to file a bug report on our bug tracker should there be any issues.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SIMD enhancements for amd64
Links:
FreeBSD Foundation blog post URL:
https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/
simd(7) URL:
https://man.freebsd.org/cgi/man.cgi?query=simd&sektion=7&manpath=FreeBSD+15.0-CURRENT
Work currently under acceptance testing URL:
https://github.com/clausecker/freebsd-src/commits/acceptance-testing
Contact: Robert Clausecker <
fuz@FreeBSD.org>
The project to enhance the libc with SIMD implementations of string functions for amd64 has now concluded. In total, SIMD implementations for 17 libc functions have been written, complemented by scalar implementations where needed. Through this rewrite, performance of these functions on strings with an average length of 64 characters was improved by an average factor of 5.54. In addition, 9 other library functions were rewritten to call into the SIMD-enhanced routines, conveying benefits without requiring additional assembly implementations. Please see the FreeBSD Foundation blog post linked above for more details.
Parts of the SIMD work are already found in the CURRENT branch. The rest is currently undergoing acceptance testing and will be merged if no problems emerge. It is planned to back port all improvements to 14-STABLE for inclusion into FreeBSD 14.1.
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cloud
Updating cloud-specific features and bringing in support for new cloud platforms.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OpenStack on FreeBSD
Links:
OpenStack URL:
https://www.openstack.org/
OpenStack on FreeBSD URL:
https://github.com/openstack-on-freebsd
Contact: Chih-Hsin Chang <
starbops@hey.com>
Contact: Li-Wen Hsu <
lwhsu@FreeBSD.org>
In the fourth quarter, we successfully migrated the originally virtualized OpenStack platform to physical machines running FreeBSD 14.0-STABLE. The ported OpenStack components include Keystone, Glance, Placement, Neutron, and Nova. As part of this process, we took the opportunity to update the installation documentation and the list of dependencies.
Moving forward, we encourage users and developers interested in this project to effortlessly recreate the OpenStack platform in their FreeBSD environments following this documentation. Any issues or difficulties encountered are welcome to be reported on the GitHub project page. Your contributions will contribute to the refinement of our installation documentation and the overall porting efforts.
In the upcoming quarter, our focus will shift towards incorporating various patches and workarounds generated during the migration process into the project in a more structured code form. Additionally, we plan to develop FreeBSD ports for each OpenStack component, further streamlining the installation process.
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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: Souradeep Chakrabarti <
schakrabarti@microsoft.com>
Contact: Li-Wen Hsu <
lwhsu@FreeBSD.org>
In this quarter, we have solved all the blocking issues and published the 14.0-RELEASE on Azure Marketplace, with complete architecture (amd64, arm64) and VM generation (gen1, gen2) support, available in both UFS and ZFS as the root file system.
Work in progress tasks:
• Automating the image building and publishing process and merging to src/
release/.
• Building and publishing snapshot builds to Azure community gallery.
The above tasks are sponsored by The FreeBSD Foundation, with resources provided by Microsoft.
Open tasks:
• Update FreeBSD related doc at Microsoft Learn
• Support FreeBSD in Azure Pipelines
• Update Azure agent port to the latest version
• Upstream local modifications of Azure agent
• Port Linux Virtual Machine Extensions for Azure
Sponsor: Microsoft for people in Microsoft, and for resources for the rest Sponsor: The FreeBSD Foundation for everything else
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD on EC2
Links:
FreeBSD/EC2 Patreon URL:
https://www.patreon.com/cperciva
Contact: Colin Percival <
cperciva@FreeBSD.org>
FreeBSD is available on both amd64 (Intel and AMD) and arm64 (Graviton) EC2 instances. Work continues to ensure that upcoming instance types will be supported; most recently, changes were needed to support "7th generation" Intel and AMD instances.
FreeBSD 14.0-RELEASE shipped with experimental ZFS-root AMIs and "cloud-init" AMIs. Additional "flavored" FreeBSD AMIs are planned, including "AMI Builder" and "minimal" (no debug symbols).
A bug in the release-building process which resulted in 14.0-RELEASE AMIs shipping with duplicate lines in /etc/rc.conf has been corrected and future releases should not be affected.
A bug in the ec2-aws-imdsv2-get utility which resulted in 14.0-RELEASE AMIs not supporting binary user-data files has been corrected and future releases should not be affected.
This work is supported by Colin’s FreeBSD/EC2 Patreon.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Documentation
Noteworthy changes in the documentation tree, manual pages, or new external books/documents.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Documentation Engineering Team
Link: FreeBSD Documentation Project URL:
https://www.freebsd.org/docproj/
Link: FreeBSD Documentation Project Primer for New Contributors URL:
https://docs.freebsd.org/en/books/fdp-primer/
Link: Documentation Engineering Team URL:
https://www.freebsd.org/administration/#t-doceng
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.
During the last quarter:
Glen Barber stepped down from doceng. doceng would like to thank gjb@ for his service.
Ceri Davies' commit bit was taken for safekeeping as per his request. doceng would like to thank ceri@ for his contributions.
mhorne@ to be mentored by carlavilla@ to obtain a documentation commit bit.
FreeBSD Handbook:
The Handbook was updated to show that FreeBSD 14.0 is the latest release.
FreeBSD Translations on Weblate
Link: Translate FreeBSD on Weblate URL:
https://wiki.freebsd.org/Doc/Translation/Weblate
Link: FreeBSD Weblate Instance URL:
https://translate-dev.freebsd.org/
Q4 2023 Status
• 17 team languages
• 203 registered users
Languages
• Chinese (Simplified) (zh-cn) (progress: 7%)
• Chinese (Traditional) (zh-tw) (progress: 3%)
• Dutch (nl) (progress: 1%)
• French (fr) (progress: 1%)
• German (de) (progress: 1%)
• Indonesian (id) (progress: 1%)
• Italian (it) (progress: 5%)
• Korean (ko) (progress: 33%)
• Norwegian (nb-no) (progress: 1%)
• Persian (fa-ir) (progress: 2%)
• Polish (progress: 1%)
• Portuguese (progress: 0%)
• Portuguese (pt-br) (progress: 22%)
• Spanish (es) (progress: 35%)
• Turkish (tr) (progress: 2%)
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 Handbook working group
Contact: Sergio Carlavilla <
carlavilla@FreeBSD.org>
• The Network chapter has been rewritten
• The Jails chapter has been rewritten
• The next section to work on will be the file systems part: UFS, ZFS, Other
File Systems
FAQ Working Group
Contact: Sergio Carlavilla <
carlavilla@FreeBSD.org>
A new FAQ was released alongside FreeBSD 14.0.
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 three phases:
1. Redesign of the Manual Pages on web
Scripts to generate the HTML pages using mandoc. (Complete, Approved by
Doceng, Deploy Date Not Decided Yet) Public instance on
https://man-dev.FreeBSD.org
2. Redesign of the FreeBSD main website
New design, responsive and dark theme. (Almost Complete, Presented at
EuroBSDCon)
3. Redesign of the Ports page on web
Ports scripts to create an applications portal. (Work in progress)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Online Editor and Man Page Editor
Links:
FreeBSD Online Document Editor URL:
https://github.com/Wang-Yan-Hao/FreeBSD-Online-Document-Editor
FreeBSD Online Man Page Editor URL:
https://github.com/Wang-Yan-Hao/man_page_editor
Contact: Yan-Hao Wang <
bses30074@gmail.com>
Contact: Li-Wen Hsu <
lwhsu@FreeBSD.org>
This report provides a continued overview of the FreeBSD online editor and man page editor project, outlining recent efforts to enhance the documentation and manual page editing processes. In order to optimize the project’s structural integrity, we enlisted the expertise of a professional front-end programmer. We plan to release the editor soon and currently have some tasks that require additional support.
1. We are actively seeking a qualified individual to conduct a comprehensive
front-end security review of the project.
2. A meticulous inspection of the JavaScript code is imperative to ensure its
robustness and efficiency. We are looking for someone with expertise to
thoroughly examine the codebase, identify any issues, and propose
enhancements for optimal performance.
3. Since there is currently no existing JavaScript library for rendering
mandoc, I had to create my own. However, there are still some hidden errors
that emerge during the editing process. We are seeking assistance to fix
these rendering issues.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Wiki
Links:
Wiki URL:
https://wiki.freebsd.org
Contact: Wiki administration <
wiki-admin@FreeBSD.org>
Plans are underway to familiarize our audience on Discord with the wiki (there are too many "silos" in our FreeBSD community). Contact Setesh on the FreeBSD Discord for more information.
Preliminary work is being done on updating the wiki software itself. Continuing to run MoinMoin requires a jail with a downrev version of Python. The MoinMoin project itself seems to have stalled in the middle of a redesign; at a minimum, a complete upgrade of the backend database would be needed.
Alternatives that are under consideration include MediaWiki and DocuWiki; see
https://wiki.freebsd.org/Wiki/NextGeneration. Most of the discussion is occurring on Matrix; please contact
wiki-admin@FreeBSD.org if you would like to participate.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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 initiative URL:
https://freebsd.kde.org/
FreeBSD — KDE Community Wiki URL:
https://community.kde.org/FreeBSD
Contact: Adriaan de Groot <
kde@FreeBSD.org>
The KDE on FreeBSD project packages CMake, Qt, and software from the KDE Community, 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 is part of desktop@ and x11@, building the software stack to make FreeBSD beautiful and usable as a daily-driver graphical desktop workstation. The notes below describe mostly ports for KDE, but also include items that are important for the entire desktop stack.
Infrastructure
CMake was updated several times and is now version 3.28.1, the latest upstream release. FreeBSD ports are once again fully up-to-date.
Qt5 is now on long-term support and updates only rarely. The KDE patch collection is a community-supported branch of Qt which pulls in upstream patches and fixes from the KDE community, and updated to 5.15.12. There were several deprecations (see below) in the Qt5 ports.
Qt6 and KDE’s upcoming megarelease of KDE Plasma 6 (scheduled for 2024q1) are the next major milestone for the KDE team. Qt6 was updated to version 6.6.1 along with the Python bindings for Qt, PySide. An alpha-release of KDE Frameworks 6 was added to the ports tree.
KDE Stack
KDE Gear releases happen every quarter, KDE Plasma updates once a month, and KDE Frameworks have a new release every month as well. These (large) updates land shortly after their upstream release and are not listed separately.
• KDE Frameworks reached version 5.112. The KDE Frameworks 5 series is
winding down, although it will a few months still until it enters long-term
support upstream.
• KDE Plasma Desktop was updated to version KDE Plasma 5.27.10.
• KDE Gear updated to 23.08.4.
• KDE Frameworks 6 (alpha) 5.247 was updated in the ports tree.
• KDE Plasma Desktop 6 (beta 2) 5.91.0 was updated in the ports tree.
Related Ports
The KDE ecosystem includes a wide range of ports — most maintained by kde@, all
building on a shared base of Qt and KDE Frameworks. The KDE team updates them all as needed. This quarter the KDE team would like to thank Tobias C. Berner, Gleb Popov and Jason E. Hale again for keeping things up-to-date.
Many ports have been "flavorized" to support a Qt5 and a Qt6 flavor in the ports tree.
Special mention to:
• New port x11/xwaylandvideobridge. By design, X11 applications can’t access
window or screen contents for Wayland clients. The video bridge improves
Wayland support for screen sharing tools like Discord, MS Teams, Skype, and
more. Screen sharing is fully under the control of the Wayland user.
• Update for multimedia/mlt7 which was updated to 7.20.0.
• Update for sysutils/bsdisks which was updated to 0.33.
• Bugfix for devel/llvm15 to make devel/kdevelop work again.
• Security fixes for www/qt5-webengine and www/qt6-webengine.
Deprecations
Web browsers are huge, and have a considerable security surface. The venerable www/qt5-webkit WebKit port was removed on the last day of 2023.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
State of GNOME 44
Links:
GNOME URL:
https://www.gnome.org/
Development repository URL:
https://codeberg.org/olivierd/freebsd-ports-gnome
Contact: FreeBSD GNOME Team <
gnome@FreeBSD.org> Contact: Olivier Duchateau <
duchateau.olivier@gmail.com>
GNOME is a full desktop environment which is mainly based on GLib, GTK3/GTK4, and libadwaita. It provides two window managers or compositors: x11-wm/mutter and x11-wm/metacity.
Currently in the ports collection, x11/gnome-shell is not supported by upstream anymore. As it is a lot of work, in order to have GNOME 44 available for users, I decided to split this update, because it impacts several ports.
As a maintainer of x11/budgie and Pantheon desktop (a window manager based on x11-wm/mutter, developed for elementary OS) I need more recent versions of some GNOME libraries.
Firstly I worked on WebKitGTK. The 4.0 "legacy" API is almost not used by GNOME’s libraries. The bare minimum is the 4.1 API. I created webkit.mk for the
Mk/Uses framework, in order to flavorize www/webkit2-gtk3. There is an ongoing effort, but currently it is too unstable. Often applications such as Epiphany, mail clients (Geary, Evolution), or the online accounts panel in package:sysutils/gnome-control-center dump core.
Nonetheless, remainder of desktop is usable and the latest release (44.7) of GNOME Shell is functional. I have begun sending my first patches for review (as well as those in Bugzilla).
• D43183
• D43230
• D43244
• D40489
I have also ported the GNOME Flashback session module. It depends on x11-wm/ metacity and x11-toolkits/libwnck3.
I also maintain a documentation, and we can see various desktops available.
GNOME 45 is almost finished, except for GNOME Shell extensions. For this release I will focus on Wayland support (bug #258042 and bug #271836).
Tests and patches are welcomed, especially for WebKitGTK.
Next months I plan to work on:
• Allowing selecting a session in display manager (gdm), it is regression
with our patches.
• Fixing sharing network (VNC, SSH) panel in gnome-control-center and
backport for bug #275900.
• Continuing to update applications and libraries for GNOME 45.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GCC on FreeBSD
Links:
GCC Project URL:
https://gcc.gnu.org/
GCC 10 release series URL:
https://gcc.gnu.org/gcc-10/
GCC 11 release series URL:
https://gcc.gnu.org/gcc-11/
GCC 12 release series URL:
https://gcc.gnu.org/gcc-12/
GCC 13 release series URL:
https://gcc.gnu.org/gcc-13/
Contact: Lorenzo Salvadore <
salvadore@FreeBSD.org>
Updating GCC default version to 13 is moving ahead. Thanks to Antoine Brodin who ran the exp-runs and to all other developers and ports maintainers involved.
As you might remember from last quarter, additional patches were tested together with the default version updates. Some of them have already been merged:
• lang/gcc11 has switched back to STANDARD_BOOTSTRAP and has been updated to
11.4.0;
• lang/gcc13 has been updated to version 13.2.0.
About half of the open bugs have been fixed, but another half remains. If you maintain any of the affected ports, please try to fix your port(s) and/or get your port buildable with the compiler in base.
This quarter many bug reports have also been opened about GCC. As soon as the default GCC version update is finished, all of those bugs will be addressed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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: Bretton Vine (Potluck) <
bv@honeyguide.eu>
Contact: Michael Gmelin (Potman) <
grembo@FreeBSD.org>
Pot is a jail management tool that also supports orchestration through Nomad.
During this quarter, Pot 0.16.0 was released containing a number of features and fixes, including a new setting to prevent direct traffic between VNET pots and new attributes to configure pot stop behavior. There were also maintenance/ stability releases to potnet (0.5.0) and a nomad-pot-driver (0.10.0).
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.
One of the new container images that have been added during the last quarter is Zincsearch, a more light-weight alternative to Elasticsearch written in Go.
The Mastodon container is meanwhile powering the public mastodon.africa instance.
Also, we got some more publicity: BSD Now Episode 536 is titled "Pot-flavored Jails".
As always, feedback and patches are welcome.
Sponsors: Nikulipe UAB, Honeyguide Group
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)