The grep utility is ready for a thorough test on the portbuild
cluster. It is almost compatible with GNU grep, but there are
differences in the regex handling at the level of the regex
libraries of GNU and the base system one, thus a better
compatibility is very hard to implement.

Some progress has been made on diff, but some important options
are still missing. The sort utility seems to be very problematic in
the aspect of the wide character support by design, thus it was
given a lower priority.

Open tasks:

For the past couple of months I have been working on
generalizing the package build cluster to allow it to host other
batch and interactive jobs. Currently we make an inefficient use of
build machines because various projects have dedicated machines
that are either underloaded or overloaded for their particular
tasks. The goal is to provide a framework for combining all of
these machine resources into a single cluster that can be shared by
many users, reducing dead time and allowing distributed build tasks
to take advantage of extra build resources when available.
Developers will be able to obtain on-demand interactive access to a
jail running on any of the available architectures, with root
access. Similarly, batch jobs will specify their resource
requirements and be dispatched to run on a suitable machine in the
cluster. Current status: The job queue manager is working and is
now being used to map package builds to machines. Various package
build scripts have been rewritten to use it instead of the previous
build scheduler. The generic job dispatcher is being prototyped and
will be validated with several existing services such as INDEX
builds. Various support services like ZFS snapshot replication have
been written.

Between the last report and this one, the project has yielded a
LiveCD installer for i386 containing FreeBSD 7.0-RELEASE. The
project was presented at BSDCan 2008. The development is
progressing slowly due to the lack of free time. I'm looking for
funding that will allow me more involvement in the project. The big
item currently in development is documentation and description of
the protocol used between the front-end and the back-end, which
will result in more robustness in the implementation and could
support third-party clients. This sub-project is near completion.
The project is currently hosted at SourceForge to allow
contribution from non-FreeBSD developers.

We have granted Bruce Cran (bruce@) direct access to GNATS and
Volker Werth (vwe@) has been released from mentorship. We
appreciate their help!

We had a third bugathon in June, which resulted in the closing
of a number of bugs and the investigation/classification of several
others. We are still trying to find ways to get more committers
helping us with closing PRs that the team has already analyzed.

We continue to make good progress in categorizing PRs as they
arrive with 'tags' that correspond to manpages. (Special thanks go
to Dylan Cochran for the help.) As a result, we now have created
some prototype reports that allow browsing the database
by manpage.

In addition, another new report, oriented towards PR submitters,
summarizes the
most commonly reported issues.
Many of these issues persist because they are difficult to fix.
Before filing a PR, you may want to check through this list.

Mark Linimon summarized the good technical suggestions from the
bugathons so far this year to the wiki. As a part of this, he
rearranged the wiki pages, so if you have not seen them for a
while, please see
BugBusting.
In particular, the Resources page is much more complete.

Jeremy Chadwick (koitsu@) is now maintaining a
page
that summarizes some of the commonly reported issues. This
complements some of the reports, above, but includes a great deal
more information, including how-tos.

The overall PR count has been holding at around 5300 since the
last release.

Open tasks:

Think of some way for committers to only view PRs that have
been in some way 'vetted' or 'confirmed'.

Generate more publicity for what we've already got in place,
and for what we intend to do next.

Define new categories, classifications, and states for PRs,
that will better match our workflow.

This project aims to implement graphics support for FreeBSD's
boot loader. It will replace the existing ASCII menu. (Note that
the ASCII menu will still be available when graphics mode cannot be
used, such as on serial console or on unsupported hardware.)

For a more detailed description and screen shots please refer to
the project's Wiki URL above.

Progress is slow (due to lack of time) but steady. The code
currently lives in the Perforce repository. I'll try to prepare a
first public CFT as soon as possible.

During the last three months there has been a number of changes.
Most notably all global USB symbols have been renamed to "usb2_" to
allow for co-existence with the old USB stack. Also there is now a
completely new and reworked UGEN driver which allows multiple
drivers to hook onto the same USB device. No more need to unload
any kernel drivers. For example it is now possible to have a
userland Mouse driver stealing half of the mouse events at the same
time "ums" is loaded. The only disadvantage is that your mouse
cursor will move slower on the screen. This is maybe not the most
common use-case, but it illustrates that kernel USB drivers are no
longer locking out other USB userland drivers. A new userland
libusb is in the works for FreeBSD. The USB stack now also has
support for independent USB BUS, USB Device, and USB Interface
permissions. That means you can more easily give USB permissions to
USB device drivers at either USB BUS, USB Device or USB Interface
level. All USB modules have now been grouped into functional
categories: usb2_bluetooth, usb2_ndis, usb2_controller, usb2_quirk,
usb2_core, usb2_serial, usb2_ethernet, usb2_sound, usb2_image,
usb2_storage, usb2_input, usb2_template, usb2_misc, and
usb2_wlan.

After the last couple of months of intensive development going
on towards FreeBSD support for Marvell System-on-Chip devices, we
have FreeBSD 8.0-CURRENT running on the following systems:

Orion (already available in Perforce):

88F5281

88F5181

88F5182

Kirkwood - 88F6281

Discovery - MV78100

The above families of SOCs are built around CPU
cores compliant with ARMv5TE instruction set architecture
definition. They share a number of integrated peripherals, for most
of which we already have operational and stable drivers:

UART

EHCI USB 2.0

Ethernet

IDMA (general purpose DMA engine)

XOR

TWSI (I2C)

Timers, watchdog, RTC

GPIO

Interrupt controller

L1, L2 cache

High level functional summary:

Production Quality

Error-free Operation

Multiuser

Self-hosted kernel/world builds

NFS- or USB-mounted root filesystem

The code is partially available (Orion in Perforce), other
variants will also be integrated with Perforce/SVN soon.

The ports count has jumped to over 19,000. The PR count has been
holding steady at around 900.

KDE has been updated to 4.1. Special thanks go to Martin Wilke
for a great deal of pre-testing.

GNOME has been updated three times, first to 2.22.1 and then to
2.22.2 and 2.22.3.

Other notable updates are automake, gettext, libtool, and
m4.

Florent Thoumie has been working on some updates to the pkg_*
tools.

Ion-Mihai Tetcu has set up a tinderbox with several purposes:
first, to quickly try to build packages as changes are committed;
secondly, to build them with a non-standard set of environment
variables; and thirdly, to build older packages with the non-
standard set of environment variables. As a result of all this
work, and work by various committers, we are much closer to
building packages corrected in the NOPORTDOCS case.

Kris Kennaway has done a substantial rewrite of the package
building tools, including moving as a default to ZFS, which allows
quick cloning of src and ports directories. It is now much easier
to manage and monitor the builds. Work on this is continuing. See
the commits to
Tools/portbuild/scripts
for more information. (Work is ongoing to update the Package
Building article.) Related work has involved cleaning up some of
the ports infrastructure; in particular, the INDEX builds are now
much faster.

We have been able to do many -exp runs since the last report,
including those for bsd.cmake.mk, autotools update, CC environment
passing, the KDE 4.1 pre-integration and post-integration checks,
lockmgr changes, tty changes, and others.

Although a number of PRs have been closed, we are still at 57
portmgr PRs, the same as the last report.

The following large changes are in the pipeline:

Introduction of Perl 5.10

We are currently building packages for amd64-6, amd64-7,
amd64-8, i386-6, i386-7, i386-8, sparc64-6, and sparc64-7. RELENG_5
has reached the end of its supported life.

We have added 4 new committers since the last report.

Open tasks:

Most of the remaining ports PRs are "existing port/PR
assigned to committer". Although the maintainer-timeout policy is
helping to keep the backlog down, we are going to need to do more
to get the ports in the shape they really need to be in.

Although we have added many maintainers, we still have over
4,000 unmaintained ports (see, for instance, the list on portsmon).
We are always looking for dedicated volunteers to adopt at least a
few unmaintained ports. As well, the packages on amd64 and sparc64
lag behind i386, and we need more testers for those.

Qt4 has been updated to 4.4.1 in our test repository. We ran
into some runtime problems with Qt 4.4.0, so it was never committed
it to the ports tree. Most of the problems have been fixed in 4.4.1
and we plan to commit it in a few days.

At the moment, the KDE 4.1 ports are ready for testing before
they are committed to the FreeBSD ports tree. We have already had
the first Call for Public Testing on July 17th, 2008 with KDE 4.1
beta2. The feedback has been positive so far. If you want to help
to test them to speed up the process, please visit the
Wiki page
and provide feedback.

An extensive work on renovating the FreeBSD FAQ has been started
to support its Greek and Hungarian translations. Further
improvements and content changes are still possible, we hope other
committers will help us to keep the FAQ updated and tuned
further.

We have launched a renewal proposal to collect and organize the
ideas around a more interactive, accurate, open for comments,
consistent across several views etc. FAQ document. We would like to
experiment with methods to implement the goals mentioned before,
and help is more than welcome.

Hungarian translation of the
FreeBSDÂ Handbook
has been finally committed to the doc repository. The translation
of the
FreeBSDÂ FAQ
has also been started, however, the original document needed to be
brought up to date first. Two other article translations has been
added,
compiz-fusion
and
linux-users.

Our Perforce depot was reorganized for the better layout, giving
newcomers more space to play. The
checkupdate
script written by GiorgosÂ Keramidas, a new tool for checking
translations has been adopted to help the project's work.