Index: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml =================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml (revision 46170) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml (revision 46171) @@ -1,932 +1,1008 @@ October-December 2014
Introduction

This is a draft of the October–December 2014 status report. Please check back after it is finalized, and an announcement email is sent to the &os;-Announce mailing list.

This report covers &os;-related projects between October and December 2014. This is the last of four reports planned for 2014.

The fourth quarter of 2014... was a very busy and productive time

Thanks to all the reporters for the excellent work!

The deadline for submissions covering the period from January to March 2015 is April 7th, 2015.

team &os; Team Reports proj Projects kern Kernel arch Architectures bin Userland Programs ports Ports doc Documentation misc Miscellaneous &os; Forum Software Migration &os; Forums Administration Team forum-admins@

With funding from the &os; Foundation, the &os; forums were migrated to XenForo software. The new software is far more capable and easy to use. While the entire forum team contributed, &a.danger; did a particularly excellent job importing existing users and messages and bringing back the often-requested "Thanks" feature. The upgrade was completed in time to be ready for the influx of new users from the release of &os; 10.1, and we have already seen an increase in usage.

Developers with an @FreeBSD.org address can contact forum administrators to obtain the highly-desired "@" suffix on their forum user name along with a Developer flag.

We want to thank the Foundation for making this possible, and the users for their patience and continued presence on the forums!

The &os; Foundation

Encourage more developers and users to try the new forums.

Continue getting feedback from users for tuning and improvements.

Process management Konstantin Belousov kib@FreeBSD.org Peter Holm pho@FreeBSD.org

There were several improvements made to the FreeBSD process management last quarter.

Reaper. The facility to allow a process to reliably track the running and exiting state of the whole subtree of the processes, was added. It is intended to improve tools like timeout(1) or poudriere, by making it impossible for the runaway granchild to escape the controlling process. Feature was designed based on similar facility in the DragonFlyBSD and Linux, with some references to the Solaris contracts. Committed to HEAD in r275800.

Total stop. Right now, the FreeBSD suspension code does not ensures that the system, both from software and from hardware view, is in the steady and consistent state. One aspect is the usermode process activity which is not stopped, continuing to making requests to the hardware. It is not realistic to expect drivers to be able to correctly handle the calls after SUSPEND_CHILD.

Together with Peter Holm, we developed a facility to stop usermode threads at the safe points, where they are known to not own and to not wait for kernel resources, in particular, not waiting for device requests finishing. It is based on the existing single-threading code, but extending it to allow external thread to put some process into stopped state. Also, a facility to sync filesystems before suspend was added, to ensure that consistent metadata and as much as possilbe of the cached user data are on stable storage, to minimize damage of failed resume.

The code stressed some parts of the system and lead to discovery of the unusual numbers of bugs in the different parts of the system, including process management, buffer cache and syscall handlers. The bugs were fixed, fixes and the features commmitted by a series culminating in r275745.

Process spinlock changes. During the work described above, it was noted that process spinlock duties are significantly overloaded (the same is true for the process lock). The spinlock was split into per-feature lock, see r275121. Also, as result, it was possible to eliminate recursion on it, r275372.

The FreeBSD Foundation
FreeBSD on the Acer C720 Chromebook Michael Gmelin freebsd@grem.de

Most system features work, including keyboard, WiFi, sound, VESA graphics, touchpad, USB and decent battery life (5 to 6 hours).

Streamline patches and merge them into HEAD.

Make suspend/resume work (depends on Haswell support).

Creating Vagrant images with Packer Brad Davis brd@FreeBSD.org Blog Announcement Git Repo

We have developed a recipe to use Packer to create FreeBSD Vagrant images to run on VMware and VirtualBox.

Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

Vagrant is a tool to create and configure lightweight, reproducible, and portable development environments.

To get started clone the Git repo and follow the directions in the README. More information is available from the Packer and Vagrant websites.

pkg(8) The pkg team pkg@FreeBSD.org

The package development team has released pkg(8) 1.4. This release fixes lots of bugs and adds some new features:

An important part of the development direction for the 1.4 release has been done on stabilizing the existing features, and improving the pkg(8) experience on small/embedded machines (reduce memory usage, speed up operations).

pkg(8) is not only the &os; Package Manager, but the Package Manager for DragonflyBSD. Additionally support has been added to build pkg(8) on OS X and Linux. This work will allow other Operating Systems the option of adopting pkg(8) to manage their packages and bring new developers into the project.

Add more regression tests.

Package FreeBSD base.

Allow using mtree as a plist when creating a package.

Implement flexible dependencies.

Test the developement branch.

More developers are needed, check the Issues on Github.

mandoc(1) support Baptiste Daroussin bapt@FreeBSD.org Ulrich Spoerlein uqs@FreeBSD.org The Documentation Team docs@FreeBSD.org

mandoc(1) has been made the default manual page formatter on HEAD -- man(1) will use mandoc(1) to format manual pages by default, then fall back to groff(1) if it fails.

This change also fixes an issue with FreeBSD man(1) command not able to properly deal with ".so" in gzipped manual pages.

The documentation team has spent a lot of time fixing issues reported by mdoc(7) in the FreeBSD manual pages. This greatly improves the quality of our manual pages.

Most manual pages with remaining issues are from contrib/ for which changes should be reported and fixed upstream.

The "manlint" target has also been switch to use mandoc -Tlint which results in the target being way more useful when working on manual pages.

Some groff(1) vs mandoc(1) formatting differencies have been spotted and reported to mandoc's upstream developers.

Switch makewhatis(1) to the version shipped with mandoc(1).

Figure out a way to detect non mandoc(1) friendly manpages from ports and create catpages with groff(1) for them.

Remove groff(1) from base.

External toolchain Baptiste Daroussin bapt@FreeBSD.org Warner Losh imp@FreeBSD.org Brooks Davis brooks@FreeBSD.org

The main goal of the external toolchain project is to be able to build world and kernel with non default toolchain. It can be helpful to:

The initial support for external toolchain only supported clang. It has been extended to support recent GCC (4.9.1 has been tested) and recent binutils (2.24 and 2.25).

A large number of fixes have been committed to HEAD to support incompatible behaviour changes between ld(1) from binutils 2.17.50 (the version in base) and binutils 2.24+.

A large number of warnings have been deactivated when building the kernel to make sure it is possible to build the kernel with recent GCC (first 4.6 and then 4.9.1)

The build system has been changed to build libc++ as a C++ stack when a recent enough GCC (4.6+) is used to build world.

To simplify using an external toolchain, the following pre-seeded configurations have been added to the ports tree:

Those packages will depend on special version of GCC (minimalistic cross-built ready GCC) and on binutils. To use them run: make CROSS_TOOLCHAIN=powerpc64-gcc TARGET=powerpc TARGET_ARCH=powerpc64

As a result of this effort, it has been possible to successfully build and run a kernel and world built with GCC 4.9.1 and binutils 2.24 on sparc64, amd64 (with minor tweaks for amd64), powerpc and powerpc64.

Patch and upstream GCC 4.9 to support &os; mips, arm and aarch64.

Adapt and upstream the aarch64 patches for binutils 2.25.

Add more pre seeded configurations.

Timer function support for linuxolator Bjoern A. Zeeb bz@FreeBSD.org

Since 2006, initial support for Linux timer function compatibility support was present but untested. This update corrects the initial implementation and makes it available to the 32bit linuxolator on amd64, not just on i386.

Starting with &os; 10.1, this enables users to run another FPGA high-level synthesis toolchain and emulation platform on a FreeBSD system.

DARPA AFRL
GNOME on FreeBSD FreeBSD GNOME Team gnome@FreeBSD.org FreeBSD GNOME Team website FreeBSD Team development repo. GNOME jhbuild buildbot wiki pages.

The FreeBSD GNOME Team maintains the GNOME, MATE and CINNAMON desktop environments and graphical user interfaces for FreeBSD. GNOME 3 is part of the GNU Project. MATE is a fork of the GNOME 2 desktop. CINNAMON is desktop environment using GNOME 3 technologies but with a GNOME 2 look and feel.

This quarter was exciting time for the GNOME Team. We imported GNOME 3.14.0 and CINNAMON 2.2.16 into the ports tree. At the same time we removed the old GNOME 2.32 desktop. And two weeks later we updated GNOME to 3.14.2 and CINNAMON to 2.4.2 which was collected while the preparation for the initial GNOME 3.14.0 import was underway.

We moved our development repo to GitHub. The link is in the links section. The master branch is vanilla, and we have theme branches for topic, like the porting of MATE 1.9 (mate-1.10 branch) and GNOME 3.15 (gnome-3.16 branch). The GNOME 3.14 branch (gnome-3.14) is not used/updated anymore because the content has been committed to ports.

The GNOME website is stale. Work is starting on updating the development section. We could use some help here.

MATE 1.10 porting is underway, the latest 1.9 releases are available in the mate-1.10 branch.

GNOME 3.16 porting is underway, and is available in the gnome-3.16 branch.

The &os; Core Team &os; Core Team core@FreeBSD.org

The &os; Core Team constitutes the project's "Board of Directors", responsible for deciding the project's overall goals and direction as well as managing specific areas of the &os; project landscape.

During the fourth quarter of 2014, the &os; Core team saw the culmination of a long-running project to rebuild the &os; Forums. The chosen solution was to license XenForo; core would like to thank the FreeBSD Foundation for paying the licensing costs of this software.

Much discussion ensued concerning the "New Support Model" following Core's meeting at EuroBSDCon in September. It was recognised that trying to change the model immediately before 10.1-RELEASE was far too late, and the change will be targeted at 11.0-RELEASE.

In order to ensure that 10.1-RELEASE shipped with support for up-to-date X Windows and KDE4, core approved the switch to 'new Xorg' as the default in time for building the packages for that release.

Git was officially promoted from beta to an officially supported version control system. Git is available as a read-only resource for downstream consumers and contains an exported copy from SVN, the primary and only read-write repository. The &os; git repositories (exported from the master SVN version control) will shortly be available at https://git.freebsd.org/, and core has been active in ensuring that there is a sufficient body of Git administrators available with access to appropriate documentation in order to maintain a good git service.

Core mediated in disputes between a number of committers over some updates to system sources, and fielded complaints about code quality of some other work in critical areas. While such disagreements will occasionally occur, core is promoting the routine use of the phabricator service in order to review work before committal. Catching problems early is in the project's best interests, and discussion of changes in an open review context should minimize confrontational demands for immediate back-out of changes.

Core is working on a charter for a proposed new QA team, to encompass members of the Release Engineering and Security teams, as well as committers with interests in standards compliance. It is envisioned that the QA team will take responsibility for merging code from HEAD into the STABLE branches, run integration testing against those updates and handle merging patches and bug-fixes submitted to the &os; project from third parties.

During this quarter, core issued two new commit bits, and also took two commit bits into safe-keeping.

KDE on FreeBSD KDE on &os; team kde@FreeBSD.org

The KDE on &os; team focuses on packaging and making sure that the experience of KDE and Qt on &os; is as good as possible.

As mentioned last quarter, Alonso Schaich (alonso@) became a committer and since then has made good progress helping his mentors Raphael Kubo da Costa (rakuco@) and Max Brazhnikov (makc@) maintain all Qt and KDE-related ports.

This quarter, Qt 5.3 was finally committed to the ports tree after extensive work that included cleaning up and/or changing a lot of the Qt5 ports infrastructure to make it both easier to maintain the Qt ports as well as finally make it possible to build newer versions when older ones are already installed on the system.

We have also updated KDE in our experimental area51 repository and committed several updates to other ports such as KDevelop and KDE Telepathy. Overall, we have worked on the following releases:

Tobias Berner has contributed patches to update QtCreator to 3.3.0 as well as KDE Frameworks 5 ports which are under review for inclusion in our experimental area51 repository.

Update Qt5 to 5.4.0.

Try to contribute to the work on getting rid of HAL on &os;, which seems to be gaining more traction recently.

Add KDE Frameworks 5 ports to our experimental repository.

More Michael Lucas books Michael Lucas mwlucas@michaelwlucas.com FreeBSD Mastery: Storage Essentials page blog

The first small &os; Book, "FreeBSD Mastery: Storage Essentials" is available.

Lucas is moving on to &os; books on ZFS, Specialty Filesystems, and jails. They will hopefully be available by BSDCan 2015.

Get status updates on his blog, or follow @mwlauthor on Twitter.

Push BSDCan out to June, so he has more time to write the new books.

New Translators Mailing List &os; Translators Mailing List freebsd-translators@FreeBSD.org

A new mailing list has been created for people translating &os; documents and programs from English into other languages. Discussions can include methods, tools, and techniques. Existing translators are encouraged to join so there is a single point of contact. New translators and those who wish to help with translation are welcome.

New members are asked to introduce themselves and mention the languages they are interested in translating.

Encourage existing translators to join.

Welcome and educate new volunteers.

Work on implementing newer and easier translation systems and tools.

Jenkins Continuous Integration for &os; Craig Rodrigues rodrigc@FreeBSD.org Jenkins Administrators jenkins-admin@FreeBSD.org &os; Testing freebsd-testing@FreeBSD.org Jenkins CI server in &os; cluster FreeBSD and Jenkins OS Testing Kyua and Jenkins Testing Framework for BSD PAM authentication problems in FreeBSD Issue to update Jenkins to JNA 4.1.0 for FreeBSD Kyua Quickstart Guide Igor tool for proofreading documentation FreeBSD_Doc-igor Jenkins build FreeBSD_HEAD_sparc64 Jenkins build Susan Stanziano from Xinuous ran kyua tests Andy Zhang from Microsoft ran kyua tests &a.ngie; imported NetBSD tests Steve Wills ran tests in Google Compute Engine Kyua submitted to Homebrew project Brian Gardner submits jtreg tests Ahmed Kamal offers to help with Saltstack MIPS builds

Since the last status report, many people have contributed help in various areas to help with with Continuous Integration and Testing in FreeBSD. Some of the highlights include:

Set up more builds based on different architectures.

Improve the maintenance of nodes in the Jenkins cluster using devops frameworks such as Saltstack.

Get feedback for improving the Kyua Quickstart Guide.

People interested in helping out should join the freebsd-testing@FreeBSD.org list.

+ + Xfce + + + + FreeBSD Xfce Team + xfce@FreeBSD.org + + + + + + + + +

Xfce is a free software desktop environment for Unix and + Unix-like platforms, such as FreeBSD. It aims to be fast and + lightweight, while still being visually appealing and easy to use.

+ +

During this quarter, the team has kept up-to-date the following + applications:

+ + + +

Two new ports have also been added (taken from our repository):

+ + + +

Moreover, we are working on the next stable release, below list + of ports updated:

+ + + +

We sent some patches to upstream.

+ + + +

A FAQ is being written D1305.

+ + + + +

Find workaround when acpi_video(4) is not functional + (panel crashes); OpenBSD seems to have same problem.

+
+ +

Cleanup patch in order to add new panel plugin in ports + tree.

+
+ +

Continue to work on documentation, especially the Porter's + handbook.

+
+
+
+