Section Navigation

Introduction

This report covers FreeBSD-related projects between April and June
2010. It is the second of the four reports planned for 2010, and
contains 47 entries. During this period, a lot of work has
gone into the development of new minor version of FreeBSD, 8.1-RELEASE,
which should be released within days.

Thanks to all the reporters for the excellent work! We hope you
enjoy reading.

Please note that the deadline for submissions covering the
period between July and September 2010 is October 15th, 2010.

The pkg_patch project is about creating a binary package patch
infrastructure which would allow users to patch their live system's
packages in an easy and efficient way. It is a C program written to
interface with libpkg (for things which are common to all pkg
utilities) meant to be included in the base system when it is done.
It comes with built-in mass patch creation and application
commands. It is funded by Google Summer of Code 2010.

Open tasks:

Finish the project.

Get some testing for it.

Convince the Port Management Team it is actually a Good
Thing to have even as an experimental feature.

Agree upon the policy on which package patches will be
created (i.e. from which point in time to which point in time),
assuming the "stable" package tree idea has still not gotten
traction.

The SGI IRIX operating system has a concept, called job, which
is used to group processes together and then apply resource limits
on them. The purpose of this project is to implement this facility
on FreeBSD.

I spent most of the time familiarizing myself with how
things are done inside the kernel, how syscalls work, etc. So far,
I have the basic understanding needed and I added the most
important syscalls to group processes together into jobs and
manipulate collective resource limits on them.

There is a bug, which I am tracking down at the moment, after
this I can start to implement actual resource limit enforcement.
For some of the limit types, it will be relatively easy but some
others will take more effort and studies.

Open tasks:

Fix the showstopper bug, which prevent me working on actual
limit enforcement.

Implement limit enforcements for all of the limits supported
by IRIX.

Add support for userland facilities and make utilities
jobs-aware, like showing jobs in ps(1), etc.

This project has two goals: pre-allocation algorithm and ext4
read-only mode.

The aim of pre-allocation algorithm is to implement a reservation
window mechanism. Now this mechanism has been introduced. The
performance comparison can be found on the wiki.

The aim of ext4 read-only mode is to make it possible to read ext4 file
system in read-only mode when the hard disk is formatted with default
features. Currently it only supports a few features, such as extents,
huge_file. Others features will be added, such as dir_index,
uninit_bg, dir_nlink, flex_bg and extra_isize. My work resides in
extfs and ext4fs branch of Perforce.

The aim of the project is to implement an inotify-compatible file system
change notification mechanism for FreeBSD and later, and add inotify
support to linuxulator. The result, fsnotify is already functional
but not yet compatible with inotify in some details.

We are once again participating in the Google Summer of Code.
This is our 6th year of participation and we hope to once again see
great results from our 18 students. Coding officially began May
24th, and we are in the middle of the mid-term evaluation period.
You can see and comment on weekly status reports on the mailing
list or on the wiki.

First part of the project is mostly complete. I added support
for new PORTS_CC variable which should be used in make.conf instead
of CC to change ports compiler. This allows user to change ports
compiler easily, while still respecting USE_GCC.

Some patches were written to get ports to work with Clang, and
a lot of old patches written prior to the Google Summer of Code
project were updated. There are still a lot of broken ports, and
some that cannot be built because of Clang/LLVM bugs, but at
this point, Clang can build most ports.

I have been reimplementing VFS namecache to make it granularly
locked and supporting reliable full-path lookup without calling
underlying file system routines. I have successfully implemented
directory cache that works in idealized environment with tmpfs. I am
currently working on adding support for entries without associated
vnodes and for "weak" entries and incomplete cached path.

The libpkg library will allow for fairly fine grained control
over package management.

Presently libpkg has complete read functionality. Info and
delete tools that have most of the current package tool features
have already been implemented, and once they are completed they can
be considered replacements for their counterparts.

Once the write and logging aspects of the library are more
mature, add and create tools can be created quickly. A new set of
more maintainable package tools that leverage libpkg will hopefully
be available soon after.

The ringmap stack is a complete FreeBSD packet-capturing
mplementation specialized for very high-speed networks. Similar
to the "zero-copy BPF" implementation, the idea of ringmap is to
eliminate packet copy operations by using shared memory buffers.
However, unlike the "zero-copy BPF" model, ringmap eliminates
ALL packet copies during capturing: the network adapter's DMA
buffer is mapped directly into user-space. The ringmap stack
also adapts libpcap accordingly to provide userspace
applications with access to the captured packets without any
additional overhead.

In the context of Google Summer of Code 2010:

The ringmap software was ported to 9-CURRENT.

Ringmap was redesigned to make it easier to port to other
adapters and to integrate it with other network drivers.

In the past quarter we imported Clang into FreeBSD and it is being
built by default on i386/amd64/powerpc. We have not yet committed
the necessary changes to let world compile with Clang.

Some bugs and warnings were fixed in HEAD as a result of the Clang
import and people are exploring more and more areas (DTrace, etc).
There are some bug fixes in Clang/LLVM as well that stem from the
import (unknown pragmas warnings, etc).

Roman Divacky and Matthew Fleming are working on ELF writer in
LLVM. This is meant as a replacement for assembler (currently we
use an outdated GNU as(1)). This work is progressing nice, currently it
is able to produce working variants of hello world in C and C++, and
some other small programs from "configure run".

The purpose of DAHDI/FreeBSD project is to make it possible to use
FreeBSD as a base system for software PBX solutions.

DAHDI (Digium/Asterisk Hardware Device Interface) is an
open-source device driver framework and a set of hardware drivers for
E1/T1, ISDN digital, and FXO/FXS analog cards
[1]. Asterisk is one of the most
popular open-source software PBX solutions
[2].

The project includes porting DAHDI framework and hardware drivers for
E1/T1, FXO/FXS analog, and ISDN digital cards to FreeBSD. This also
includes TDMoE support, software and HW echo cancellation (Octasic,
VPMADT032), and hardware transcoding support (TC400B). The work is ongoing
in the official DAHDI SVN repository with the close collaboration
with DAHDI folks at Digium.

The project is nearing completion. The DAHDI framework and
hardware drivers telephony cards have been ported and tested.
There are a number of success stories from early adopters who
have been using E1/T1 and FXO/FXS cards on FreeBSD for several
months.

This project purpose is adding support for general purpose DMA
engines found in most embedded devices. GPDMA framework provides a
unified KOBJ interface to DMA engine drivers and unified
programming interface to use direct memory transfers in kernel and
userspace applications.

This project is a part of Google Summer of Code 2010 and it is a
work in progress. Current status can be observed on the wiki
page.

The old ata(4) driver is believed to be going away sometime in
the future, to be replaced with ATA_CAM
[1].
However, ATA pseudo-RAID support in FreeBSD, ataraid(4), is
implemented as part of said ata(4) driver, which means that it,
too, will be going away. It was decided that pseudo-RAID support is
desirable and that it should be reimplemented in GEOM
[2]
[3],
which this project aims to do.

Currently, RAID-1 arrays can be used on VIA Tech V-RAID and
Adaptec HostRAID controllers in a limited capacity. There is no
support for writing metadata yet, so disks are not marked degraded,
there is no rebuild support, etc. These features are planned, along
with support for more hardware and RAID-0 and SPAN arrays.

A major setback for the current code is that it uses the
device(9) family of functions to identify ATA pseudo-RAID
controllers and constructs arrays based on that information.
Unfortunately, ATA_CAM does not appear to add its devices to the
device tree, so that tactic cannot be used with ATA_CAM. While this
is fine for development of the actual RAID parts of the code, the
project will be somewhat useless in the absence of the old ata(4)
driver. There has been talk of exporting PCI information to GEOM
[4]
[5],
but the work does not appear to have been completed yet.

Open tasks:

Obtain documentation for or reverse-engineer metadata formats
for which there is no write support in the ataraid(4) driver (for
example, Adaptec HostRAID).

Implementation of General Purpose Input/Output interface for
FreeBSD. Current GPIO bus implementation allows user to control pins
from userland and it could be expanded to support various type of
peripheral devices. So far there are two drivers:

gpioled provides simple led(4) functionality.

gpioiic implements I2C over GPIO.

Framework is used in Alexandr Rybalko's port of FreeBSD to D-Link
DIR-320 and in Luis Otavio O Souza's work of bringing FreeBSD to
RouterBoard.

The new system installation backend, pc-sysinstall, was merged
into HEAD recently and work is already underway to make it more
functional and useful as a complete replacement to standard
"sysinstall". It is written 100% in shell, not requiring any
additional tools from what is standard to FreeBSD. The backend already
supports a number of exciting features such as:

ZFS (Including support for raidz/mirror/multiple device pool
setups).

Disk encryption via GELI(8).

Auto labeling of file systems with glabel(8).

Big disk support using GPT/EFI.

Full Installation Logging, which is saved to disk for
post-install inspection.

In addition to the features above, pc-sysinstall is unique, in
that every install ends up being a scripted install. Front-ends, be
it GUI- or text-based, simply generate the appropriate system
configuration file, and pc-sysinstall does the grunt work of the
actual installation. This is important for a couple of reasons.
First, it makes the task of front-end development much easier by
not needing to worry about a backend-driven program flow. Second it
means that any front-end can be used to generate the installation
configuration file, which can then be copied or modified to perform
automated installs.

While pc-sysinstall is still relatively new, it is already in
use as the default backend for PC-BSDÂ 8.0 and 8.1, and has been
getting a very good reception and any bugs found are fixed quickly.
A text-based front-end is already in the works which will allow
installation media to be created without X11 support.

AFS is a distributed network filesystem that originated from the
Andrew Project at Carnegie-Mellon University; the OpenAFS client
implementation has not been particularly useful on FreeBSD since the
4.X releases. Recent work on the OpenAFS codebase has updated
it to be consistent with current versions of FreeBSD, and the client,
though still considered experimental, is now relatively stable for
light (single-threaded) use on 9-CURRENT. The auxiliary utilities
for managing and examining the filesystem are functional, and
reading and writing files works sufficiently well to copy /usr/src
into and out of AFS. Compiling and running executables in AFS is
unsuccessful, though, as mmap() is not always reliable.

There are several known outstanding issues that are being
worked on, but detailed bug reports are welcome at port-freebsd@openafs.org.

Open tasks:

Fix the {get,put}pages vnode operations for more reliable
mmap() operation.

Update VFS locking to allow the use of disk-based client
caches as well as memory-based caches.

As of now, FreeBSD only offers very rudimentary resource controls —
resource limits for many resources (e.g. SysV IPC) are missing, and
there is no way to set resource limits for jails. As a result,
users who want to run many different workloads on a single physical
machine often have to replace jails with several FreeBSD instances
running in virtual machines.

The goal of this project is to implement resource containers
and a simple per-jail resource limits mechanism. Resource
containers are also a prerequisite for other resource management
mechanisms, such as Hierarchical Resource Limits, for
"Collective Limits on Set of Processes (aka. Jobs)" Google
Summer of Code 2010 project, for implementing mechanism similar
to Linux cgroups, and might be also used to e.g. provide
precise resource usage accounting for administrative or billing
purposes.

After a long hiatus, we aim to hold a bugathon on the weekend of
the 6thÂ -Â 9th August. Everybody is welcome to help resolve or
progress PRs from the database. We appreciate the help of
committers and non-committers alike, please join us on IRC in
#freebsd-bugbusters on EFnet if you are free at any time over
that weekend and can help. Please see the "Bugathon" URL for more
information.

Mark Linimon and Gavin Atkinson held a session on the State of
Bugbusting at BSDCan, which was well attended and led to some
interesting discussions. Time was also found to sit down with
several committers to discuss long-standing PRs.

The bugbusting team continue work on trying to make the GNATS PR
database more accessible and easier for committers to find and
resolve PRs.

As a result, PRs continue to be classified as they arrive, by
adding 'tags' to the subject lines corresponding to the kernel
subsystem involved, or man page references for userland PRs.
Reports are generated from these nightly, grouping related PRs in
one place, sorted by tag or man page. Mark Linimon continues work
on producing a new report, Summary Chart of PRs with Tags, which
sorts tagged PRs into logical groups such as file system, network
drivers, libraries, and so forth. The slice labels are clickable
and may further subdivide the groups. The chart is updated once
a day. You can consider it as a prototype for browsing
"subcategories" of kernel PRs.

The "recommended list" has been split up into "non-trivial PRs
which need committer evaluation" and the "easy list" of trivial
PRs, to try to focus some attention on the latter. Various new
reports exist, including "PRs containing code for new device
drivers", "PRs which are from FreeBSD vendors or OEMs", and
"PRs referencing other BSDs".

It is now possible for interested parties to be emailed a weekly,
customized, report similar in style to the above. If you are
interested in setting one up, contact linimon@FreeBSD.org.

Our clearance rate of PRs, especially in kern and bin, seems to
be improving. The number of non-ports PRs has stayed almost
constant since the last status report.

As always, anybody interested in helping out with the PR queue is
welcome to join us in #freebsd-bugbusters on EFnet. We are always
looking for additional help, whether your interests lie in triaging
incoming PRs, generating patches to resolve existing problems, or
simply helping with the database housekeeping (identifying duplicate
PRs, ones that have already been resolved, etc). This is a great way
of getting more involved with FreeBSD!

Open tasks:

Plan and manage the bugathon in August, and get as many people
as possible interested in participating.

Try to find ways to get more committers helping us with closing
PRs that the team has already analyzed.

The 2010 FreeBSD core team election was recently completed. The
FreeBSD core team acts as the project's "board of directors" and is
responsible for approving new src committers, resolving disputes
between developers, appointing sub-committees for specific
purposes (security officer, release engineering, port managers,
webmaster, et cetera), and making any other administrative or
policy decisions as needed. The core team has been elected by
FreeBSD developers every 2 years since 2000, and this marks our 6th
democratically elected core team.

The new core team would like to thank outgoing members Kris
Kennaway, Giorgos Keramidas, George V. Neville-Neil, Murray
Stokely, and Peter Wemm for their service over the past two
(and in some cases, many more) years.

The core team would also especially like to thank Dag-Erling
SmÅgrav for running the election.

The Release Engineering Team has been working on the
FreeBSDÂ 8.1-RELEASE. At the time of this writing
the final builds have been completed and uploaded to
the master FTP site. The release announcement should
be made within the next couple of days.

We were proud to be a sponsor for BSDCan in May. We also
committed to sponsoring MeetBSD 2010 Poland and California. We
provided 12 travel grants for BSDCan.

The Foundation and Core Team held a summit on BSD-licensed
toolchains at BSDCan 2010.

We officially kicked off five new projects that we are funding.
They are BSNMP Improvements by Shteryana Shopova, Userland DTrace
by Rui Paulo, FreeBSD jail-based virtualization by Bjoern Zeeb, DAHDI
FreeBSD driver port by Max Khon, and Resource Containers project by
Edward Tomasz Napierała.

We continued our work on infrastructure projects to beef up
hardware for package building, network testing, etc. This includes
purchasing equipment as well as managing equipment donations.

This project is about creating a wrapper library to support
monitoring and management of networking with avoiding direct use of
the FreeBSD kvm(3) and sysctl(3) interfaces. This approach would allow
the kernel implementation to change and monitoring applications to
be extended without breaking applications and requiring them to be
recompiled. We decided to merge the sources from the last year's
Summer of Code project back to the FreeBSD src/ repository piece by
piece, and we have defined several phases of integration.

Standardize the in-kernel networking statistics
structures.

Build a sysctl(3) interface, and add export routines.

Add a library, libnetstat(3) to work with the exported
information, and to provide further functions in order to support
extracting information via kvm(3). This library implements
abstractions over the gathered data.

Adapt sources of the existing applications, i.e. netstat(1)
and bsnmpd(1) to use the abstractions offered by the library,
resulting in a cleaner and simpler code.

Add new applications on the top of the library, e.g.
nettop(1).

The first phase has been already posted for review. Note that we
are looking for a sponsor with an src commit bit and enough time to
represent the effort towards the Project.

Open tasks:

For a while I have wanted to rework interrupt threads to
address a few issues. The new design uses per-CPU queues of
interrupt handlers. Interrupt threads are allocated by a CPU from
a pool and bound to that CPU while draining that CPU's queue of
handlers. Non-filter handlers can also reschedule themselves at
the back of the current CPU's queue while executing. Filters with
handlers are now always enabled and should provide a full
replacement for the various uses of filters with "fast"
taskqueues. A new class of "manual" handlers are also available
which are not automatically scheduled, but are only explicitly
scheduled from a filter. Thus, a filter can potentially schedule
multiple handlers.

The code has been tested on amd64, but it needs wider review
and testing. I hope to start soliciting review and feedback soon
with the goal of getting the code into 9.0.

The project started with some cleanup on the network stack after
all the import work and adjustments for virtualization to minimize
changes to earlier branches. These made it into the tree already
and to 8-STABLE, and it will be included in the upcoming 8.1
release.

The first major task was to generalize the virtualization
framework, so that virtualization of further subsystems would be
easier and could be achieved with less duplication.

In addition some documentation on the virtual network stack
programming was written to help developers virtualizing their code.
The interactive kernel debugger support was improved and libjail
along with jls and netstat can work on core dumps now and query
individual jails and attached virtual network stacks.

The second major task was network stack teardown, a concept
introduced with the network stack virtualization. The primary goal
was to prototype a shutdown of the (virtual) network stacks from
top to bottom, which means letting interfaces go last rather than
first. Work in this area is still in progress and will have to
continue to allow long term stability and a leak and panic free
shutdown.

The work on this project had been sponsored by the FreeBSD
Foundation and CK Software GmbH. Special thanks also to John
Baldwin and Philip Paeps for helping with review and
suggestions.

Open tasks:

Merge stabilised change sets.

Work further down the network stack freeing all resources for
a stable, safe teardown.

Modern x86 systems include four different types of event timers:
i8254, RTC, LAPIC, and HPET. First three are already supported by
FreeBSD. Depending on hardware and loader tunables, periodic
interrupts from them are used to trigger all time-based events in
kernel. That code has a long history, that made it tangled and
at the same time limited and hard-coded.

New kernel event timers infrastructure was started to allow
different event timer hardware to be operated in uniform way and to
allow more features to be supported. Work consists of three main
parts: writing machine-independent timer driver API and management
code, updating existing drivers and improving HPET driver to
support event timers.

The new driver API provides unified support for both per-CPU
(independent for every CPU core) and global timers in periodic and
one-shot modes. Management code at this moment uses only periodic
mode, while one-shot mode use is planned by later tickless kernel
work.

Different kinds of timers have different capabilities and could
be present in hardware in different combinations. In every
situation the infrastructure automatically chooses two best event
timers to supply system with hardclock(), statclock(), and
profclock() events. If some timer is not functioning — it will be
replaced. If there is no second timer — it will be emulated.
The administrator may affect that choice using loader tunables during
boot and sysctl variables in run-time (kern.eventtimer.*, and so on).

Most of the code was recently committed to HEAD. Now it is used
by i386 and amd64 architectures.

Open tasks:

Troubleshoot possible hardware and software issues.

Port other architectures to the new infrastructure.

Implement tickless kernel, utilizing new features, such as
per-CPU and one-shot timers.

The ZFS file system has been updated to version 15 on HEAD and
it will be MFC'ed to 8-STABLE around September 13th, 2010. Work
is in progress on porting the recent ZFS version 26 with
deduplication functionality.

A number of updates to the documentation were made since the
last status report. We are especially grateful for the
contributions from external people who sent the translations. People
like Fabian Ruch, who updated the porters-handbook to the latest
version (which had been on his to-do list for quite some time), and
Benjamin Lukas, who did a great job with the from-scratch
translation of the MAC chapter of the German handbook. We thank
them both for their contributions and hope they will continue their
efforts to enhance the German documentation.

Frank BÃ¶rner was released from Benedicts mentorship and is
now a full committer to the German Documentation Project. We are
always looking for fresh blood that is willing to be mentored by us
as a first step in becoming committers for the documentation project
themselves.

Johann is keeping up the German website with the latest version.
But we could use more translators for sections that are not fully
translated yet.

Open tasks:

Read the translations and report bugs that you have found (even
small ones).

Thanks to Katalin Konkoly, the first few chapters of the FreeBSD
Handbook translation have been reviewed, therefore many typos and
mistranslations were spotted and fixed. Apart from this, we are
still keeping the existing documentation and web page translations
up to date, currently without plans on further work. If you are
interested in helping us, or you have any comments, or requests
regarding the translations, do not hesitate to contact the project
via the email addresses mentioned in the entry.

This project focuses on updating the www/ja and doc/ja_JP.eucJP/
trees. Since last year www/ja tree has been mostly synchronized
with the English counterpart and doc/ja_JP.eucJP has also been
updated steadily. We are now working on FreeBSD Handbook and Porter's
Handbook.

Open tasks:

More Japanese translation of FreeBSD Handbook and contents of
www.FreeBSD.org.

We need manpower. Existing documentation set has not been
updated for quite some time because of lack of volunteers. Current
members are busy with other projects and real life at the moment
and we have not received anything from outside contributors. It is
a shame because there are lots of users in Spain and Latin-America,
as well. Besides, the world's first Free Software Street has been
recently inaugurated in Spain. This obviously means that there is
interest in free software but unfortunately, this translation
project is not going very well nowadays.

The work has been completed and the GNU compatibility levels
seems to be quite high. One exception is the fallback support. It
is difficult to implement that facility in this implementation
because the design is somewhat different. Probably, it will not be
a big problem because that functionality is not even documented in
the GNU version so few applications might use it.

Open tasks:

FreeBSD Services Control is a mix of binaries which integrate into
the rc.d system and provide for service (daemon) monitoring. It
knows about signals, pidfiles, and uses very few resources.

The fsc daemon (fscd) runs in the background once the system has
started. Services are then added to this daemon via the fscadm
control utility, and from there they will be monitored. When they
die, depending on the reason, they will be restarted. Certain
signals may be ignored (list not decided) and fscd will remove that
service from monitoring. Every action is logged to the system
logging daemon. Additionally, the fscadm utility may be used to
inquire about what services are monitored, their pidfile location,
and current process ID.

FSC provides several advantages over the third-party
daemontools package. For example, fscd uses push notifications
instead of polling; fscd is an internal, FreeBSD-maintained software
package accessible to all developers, where daemontools would have
to be a port and require us to maintain patches; fscd could be
easily integrated with the current rc.d infrastructure.

Partially based on the ideas of daemontools and Solaris Service
Service Mangement Facility (SMF), this could be an extremely
useful tool for FreeBSD systems.

The purpose of this project was to provide FreeBSD with support for
the Flattened Device Tree (FDT) technology. A mechanism for
describing computer hardware resources, which cannot be probed or
self enumerated, in a uniform and portable way. The primary
consumers of this technology are embedded FreeBSD platforms (ARM, MIPS,
PowerPC), where a lot of designs are based on similar chips, but
have different assignment of pins, memory layout, addresses ranges,
interrupts routing and other resources.

Current state highlights:

All code and documentation developed during the course of
this project was merged with HEAD, which covers FDT support for
the following platforms and systems:

Marvell ARM

DB-88F5182

DB-88F5281

DB-88F6281

DB-78100

SheevaPlug

Freescale PowerPC

MPC8555CDS

MPC8572DS

The FDT infrastructure (bus drivers, helper libraries, and
routines shared across architectures and platforms) allows for
easier porting to new platforms or variations. The initially
supported systems offer a working example of how to migrate
towards FDT approach.

Work on this project was sponsored by the FreeBSD Foundation.

Open tasks:

Improve how-to and guidelines for new adopters (how to convert
to FDT and so on).

Work has begun to port FreeBSD/powerpc64 to the IBM Cell-based Sony
Playstation 3, using the OtherOS feature present on some models of
the console. As of July 14, the FreeBSD boot loader is ported, and it
is possible to netboot a kernel, which has support for the
framebuffer, MMU, and device discovery. Once work on drivers for
the network interface and interrupt controller is complete, it will
be possible to boot the console multi-user.

The FreeBSD/avr32 project was started by Arnar Mar Sing, and actively
developed by him and Ulf Lilleengen. It successfully reached
single-user stage but since then has not progressed much. At the
moment I am trying to get it back into shape. So far some problems
with toolchain on i386 host have been fixed, buildkernel succeeds,
buildworld succeeds with some exceptions. Next step would be fixing
pmap and bringing port back to single-user stage.

On July 13, FreeBSD/powerpc64 was integrated into HEAD. This
provides support for fully 64-bit operation on 64-bit PowerPC
machines conforming to the Book-S specification, including the
PowerPC 970, Cell, and POWER4-7. Hardware support is currently
limited to Apple machines, although this should expand in the near
future.

Since the last status report some issues with cas(4) have been
fixed, allowing it to work with Sun GigaSwift Ethernet 1.0 MMF
cards (Cassini Kuheen, part no. 501-5524) as well as the on-board
interfaces of Sun Fire B100s server blades (for the Sun Fire
B1600 platform).

Support for Fujitsu (Siemens) PRIMEPOWER 250 based on SPARC64
V CPUs has been added. PRIMEPOWER 450, 650, and 850 likely also
work but have not been tested. This also means that the building
blocks for support of machines based on SPARC64 VI and VII CPUs
like the Fujitsu/Sun SPARC Enterprise Mx000 series are now in
place, but they need testing as well.

The problems with Schizo version 7 bridges (actually the
firmware of these machines) triggering panics during boot finally
should be solved.

The work on getting Sun Fire V1280 supported has been stalled
due to access to such machines no longer being available.

The above mentioned improvements are/will be available in FreeBSD
8.1-RELEASE and 7.4-RELEASE.

Open tasks:

Access to machines based on SPARC64 VI and VII CPUs, like
the Fujitsu/Sun SPARC Enterprise Mx000 series would be
appreciated.

Someone adding support for 64-bit SPARC V9 to Clang/LLVM,
and getting it on par with GCC would be appreciated.

Chromium is a Webkit-based web browser that is largely
BSD-licensed. It works very well on FreeBSD and supports new features
like HTML 5 video. This effort uses a new
hybrid-source model, where the FreeBSD patches are largely kept closed
for a limited time. I submitted Chromium to ports a couple of
months ago and recently updated the submission to the stable 5.0.375
branch. The port is ready to be committed pending final legal
approval by the FreeBSD Foundation. Further work remains to port
Chromium to FreeBSD completely, such as porting the task manager fully
and making sure extensions work properly.

Our efforts on porting the generalized, general-purpose purely
functional programming language, Haskell has rallied, since
two new committers, Giuseppe Pilichi and Ashish
Shukla joined recently, forming the FreeBSD Haskell Team.
Over the last months, FreeBSD/i386 and FreeBSD/amd64 have become Tier-1
platforms, featuring officially supported vanilla binary
distributions for the Glasgow Haskell Compiler
starting from version 6.12.1. We introduced a unified ports
infrastructure for Haskell Cabal ports, which also makes possible
the direct
translation of Cabal package descriptions to FreeBSD ports.
The number of Haskell package ports increases steadily.

A significant part of quarter two was spent coordinating efforts
for inclusion of XorgÂ 7.5, KDEÂ 4, GNOMEÂ 2, plus preparation of ports
for the 8.1 release process. Due to the success of enforcing
Feature Safe ports commits during 7.3-RELEASE, it was continued
for the recent src/ freeze.

The port count is approaching 22,000 ports. The open PR count
currently floats at about 1200 entries.

Since the last report, we added four new committers, and had two
old committers rejoin us.

The Ports Management Team is very grateful to the FreeBSD
Foundation for sponsoring two new head nodes for the ports building
cluster, pointyhat. Each of the new head nodes has a larger
capacity, both with regard to performance but also in amount of
space available for the staging areas, allowing for faster, and
thus more, build cycles. Additionally, having two head nodes will
allow us to dedicate one of them for building production-ready
binary packages, adding predicability for our users to when what
types of packages are available for installation, and dedicate the
other for regression testing of large port updates, ports
infrastructure improvements, the cluster scheduling code, and FreeBSD
itself. Over the last few weeks, Mark Linimon has been working hard
to get the first of the two new nodes online and has already
completed its first package build. This has involved a substantial
rework of our custom codebase.

The Ports Management team have been running -exp runs on an
ongoing basis, verifying how base system updates may affect the
ports tree, as well as providing QA runs for major ports
updates. Of note, -exp runs were done for:

ale: Update of math/gmp.

delphij: Changes to Mk/bsd.ldap.mk.

gahr: Inclusion of USE_GL=glew.

pgollucci: Changes to Mk/bsd.*apache.mk plus updates to devel/apr
and www/apache*.

Testing of x11/xorg, x11/gnome2, x11/kde4, and
lang/mono

A test run make fetch run.

A test run for devel/gettext.

mm: Inclusion of USE_XZ.

ale: Request to switch default mysql from 5.0-EOL to
5.1-GA.

alepulver's Licensing Framework Summer of Code project has made
it into the tree and the Port Management Team is currently
assessing the fallout and it will come up with guidelines and
documentation in due time.

The purpose of this one-day event is to gather Central European
developers of today's open-source BSD systems to popularize
their work and their organization, and to provide an interface
for real-life communication. There are no formalities, no
papers, and no registration or participation fee. However the
invited developers are encouraged to give a talk on their
favorite BSD-related topic or join the live forum, then have a
beer with the other folks around. The goal is to motivate
potential future developers and users, especially undergraduate
university students to work with BSD systems.

This year's BSD-Day will be held in Budapest, Hungary at
EÃ¶tvÃ¶s LorÃ¡nd University, Faculty of Informatics
on November 20, 2010.

Open tasks:

Apply as a developer, we are still looking for BSD people in
the area.

BSDCan 2010 was our 7th conference. As has become the custom,
a FreeBSD developer summit was held in the two days before the
conference. Record numbers attended the Dev Summit which carried
over into the conference proper. It was great to see
representatives from so many more companies. I saw many great
ideas take root and the start of cooperation on several
projects.

The talks during the Dev Summit are beginning to attract a wider
audience, and we have been talking about opening this up to the
general audience by creating a fourth track at BSDCan 2011.

As impossible as it sounds, each year has seen an increase in
the quality of talks and the number of proposals submitted.

Open tasks:

I need people to help with various pre-conference tasks:
website updates, booking travel, etc.

meetBSD 2010 took place on July 2Â -Â 3 in Krakow, Poland at the
Faculty of Mathematics and Computer Science building of the
Jagiellonian University.

The gathering was a much successful event which brought together
developers, contributors, and users of the BSD systems from around the
world. We had many interesting presentations, of various character and
appeal for the diversified audience.

Attendees had a chance for taking the BSD Certification exam during
the conference, as well as the advantage of face to face side
conversations and discussions, which continued long during the social
event on Friday night!

The conference presentation slides are already available for
download. Video recordings edition is being finalized, and their
publication is expected shortly.

We hope you enjoyed the event and had great time in Krakow. See you
again soon!