diff --git a/en/news/status/report-2009-04-2009-09.xml b/en/news/status/report-2009-04-2009-09.xml index b982d27745..45fcf850cf 100644 --- a/en/news/status/report-2009-04-2009-09.xml +++ b/en/news/status/report-2009-04-2009-09.xml @@ -1,1192 +1,1423 @@ - + April-September 2009
Introduction

This report covers FreeBSD related projects between April and September 2009. During that time a lot of work has been done on wide variety of projects, including the Google Summer of Code projects. The BSDCan and EuroBSDCon conferences were held in Ottawa, CA, and Cambridge, UK which were both very successful. A new major version of FreeBSD, 8.0 is to be released soon. If you are wondering what's new in this long awaited release, read Ivan Voras' excellent summary.

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

Please note that the next deadline for submissions covering reports between October and December 2009 is January 15th, 2011.

soc Google Summer of Code proj Projects team FreeBSD Team Reports net Network Infrastructure kern Kernel docs Documentation bin Userland Programs arch Architectures ports Ports misc Miscellaneous - libnetstat(3), networking statistics (Summer of Code 2009) + libnetstat(3) - networking statistics (Summer of Code 2009) Gábor Páli pgj@FreeBSD.org Wiki page Perforce depot

libnetstat(3) provides a user-space library API to monitor networking functions with the following benefits:

The supported abstractions are as follows:

There is a sample application, called nettop(8), which provides a simple ncurses-based top(1)-like interface for monitoring active connections and network buffer allocations via the library. A modified version of netstat(1) has also been created to use libnetstat(3) as much as possible.

- pefs - stacked cryptographic filesystem + pefs - stacked cryptographic filesystem (Summer of Code 2009) Gleb Kurtsou gk@FreeBSD.org Stanislav Sedov stas@FreeBSD.org Gleb's Blog Project page in FreeBSD wiki

Pefs is a kernel level filesystem for transparently encrypting files on top of other filesystems (like zfs or ufs). It adds no extra information into files (unlike others), doesn't require cipher block sized io operations, supports per directory/file keys and key chaining, uses unique per file tweak for encryption. Supported algorithms: AES, Camellia, Salsa20. The code is ready for testing.

Implement encrypted name lookup/readir cache Optimize sparse files handling and file resizing
BSD# Project Romain Tartière romain@blogreen.org The BSD# project on Google code Mono (Open source .NET Development Framework)

The BSD# Project is devoted to porting the Mono .NET framework and applications to the FreeBSD operating system.

During the past year, the BSD# Team continued to track the Mono development and the lang/mono port have almost always been up-to-date (we however had to skip mono-2.2 because of some regression issues in this release). Most of our patches have been merged in the mono trunk upstream, and should be included in the upcoming mono-2.6 release.

In the meantime, a few more .NET related ports have been updated or added to the FreeBSD ports tree. These ports include:

Test mono ports and send feedback (a special attention to environments where NOPORTDOCS / WITH_DEBUG is set has to be taken). Port the mono-debugger to FreeBSD. Build a debug live-image of FreeBSD so that Mono hackers without a FreeBSD box can help us fixing bugs more - efficiency. + efficiently.
The Newcons project Ed Schouten ed@FreeBSD.org Wiki page Patchset

Some time ago I started writing a new driver for the FreeBSD kernel called vt(4), which is basically a replacement for Syscons. There is still a lot of work that needs to be done, but it is probably useful to mention what it does (and what not).

Right now there are just two graphics drivers for vt(4), namely a VGA driver for i386 and amd64 and a Microsoft Xbox graphics driver (because it was so easy to write). I still have to figure out what I am going to do with VESA, because maybe it is better to just ignore VESA and figure out how hard it is to extend DRM to interact with vt(4).

Some random features: it already supports both Unicode (UTF-8) input and output, it is MPSAFE and supports per-window graphical fonts of variable dimensions, containing an almost infinite amount of glyphs (both bold and regular).

Research needs to be done on DRM's codebase. Syscons should already be migrated to TERM=xterm to make switching between drivers a bit easier.
+ + libprocstat(3) - process statistics + + + + + Stanislav + Sedov + + stas@FreeBSD.org + + + + Ulf + Lilleengen + + lulf@FreeBSD.org + + + + + libprocstat's repository + + + +

Libprocstat is an ongoing effort to develop a library that can + be used to retrieve the information about running processes and + open files in the uniform and platform-independent way both from + a running system or from core files. This will facilitate the + implementation of files/process monitoring applications like + lsof/fstat/fuser/etc. The libprocstat repository contents the + preliminary version of the library as well as fstat and fuser + utilities ported to use this library instead of retriving all + the required information by hand via kvm(3) interface, which + makes them ABI independent as the result.

+ + + + + Implement KVM-based namecache lookup to retrieve filesystem paths + associated with file descriptors/VM objects. + + + Ananlyze possible ways of exporting files/processes information + from the kernel in the extensible ABI-independend way. + + +
+ Clang replacing GCC in the base system Ed Schouten ed@FreeBSD.org Roman Divacky rdivacky@FreeBSD.org Brooks Davis brooks@FreeBSD.org Pawel Worach pawel.worach@gmail.com -

The clang@FreeBSD team presents the status of clang/llvm being +

The clang@FreeBSD team presents the status of clang/LLVM being able to compile FreeBSD system. The situation as of today (early October) is:

All other platforms are untested.

A lot has happened over the spring/summer - amd64 got proper mcmodel=kernel support, compiler-rt was introduced (paving the way for libgcc replacement), we ran two experimental ports build to see how clang does there, C++ support is able to parse devd.cc without warnings, we got kernel working with -O2, we promoted FreeBSD to be officially supported plaform in LLVM, many parts of FreeBSD sources that we could not compile before we can compile now etc.

ClangBSD branch of FreeBSD got a little stale and has not - been updated for a while. We also need to get some important fixes - into LLVM to get libc compiling and some other smaller issues. We + been updated for a while. + We also need to get some important fixes + into LLVM to get libc compiling and some other smaller issues. + We can still appreciate more testers on minor platforms (arm, ppc and mips mostly).
VirtualBox on FreeBSD Beat Gaetzi beat@FreeBSD.org Bernhard Froehlich decke@bluelife.at Dennis Herrmann dhn@FreeBSD.org Juergen Lock nox@FreeBSD.org Martin Wilke miwi@FreeBSD.org

VirtualBox has been committed to the Ports tree and synced with the latest trunk version from SUN. A lot of known problems are already fixed and some new features have been added:

We would like to say thanks to all helpers/reporters and of course - to the Vbox developers.

+ to the VirtualBox developers.

The FreeBSD Dutch Documentation Project René Ladan rene@FreeBSD.org Remko Lodder remko@FreeBSD.org Current status of the Dutch translation

The current translations (Handbook and some articles) are kept up to date with the English versions. Some parts of the website have been translated, more work is in progress.

Find more volunteers for translating the remaining parts of the website and the FAQ.
The FreeBSD German Documentation Project Johann Kois jkois@FreeBSD.org Benedict Reuschling bcr@FreeBSD.org Martin Wilke miwi@FreeBSD.org

In May 2009, Benedict Reuschling received his commit bit to the www/de and doc/de_DE.ISO8859-1 trees under the mentorship of Johann Kois. Since then, he has been working primarily on the Handbook, updating existing chapters and translating new ones. Most notably, the filesystems and DTrace chapters have been recently translated. Bugs found in the original documents along the way were reported back so that the other translation teams could incorporate them, as well.

Christoph Sold has put his time in translating the wiki pages of the BSD Certification Group into the German language. This is a great help for German people, who want to take the exam and like to read the information about it in their native language. Daniel Seuffert has sent valuable corrections and bugfixes. Thanks to both for their time and efforts!

The website is translated and updated constantly. Missing parts will be translated as time permits.

We appreciate any help from volunteers in proofreading documents, translating new ones and keeping them up to date. Even small error reports are of great help for us. You can find contact information at the above URL.

Update the existing documentation set (especially the Handbook). Translate more articles to German. Read the translations. Check for problems/mistakes. Send feedback.
+ + The FreeBSD Foundation Status Report + + + + + Deb + Goodkin + + deb@FreeBSDFoundation.org + + + + + + + + +

Kicking off our fall fund-raising campaign! Find out more at + http://www.freebsdfoundation.org/donate/.

+ +

We were a sponsor for EuroBSDCon 2009, and provided travel + grants to 8 FreeBSD developers and users. We sponsored Kyiv BSD + 2009, in Kiev Ukraine. We were also a sponsor of BSDCan, and + sponsored 7 developers. We funded three new projects, New Console + Driver by Ed Schouten, AVR32 Support by Arnar Mar Sig, and + Wireless Mesh Support by Rui Paulo, which has completed. + We continued funding a project that is making improvements to the + FreeBSD TCP Stack by Lawrence Stewart. The project that made + removing disk devices with mounted filesystems on them safe, by + Edward Napierala, completed.

+ +

We recognized the following FreeBSD developers at EuroBSDCon + 2009: Poul-Henning Kamp, Bjoern Zeeb, and Simon Nielsen. These + developers received limited edition FreeBSD Foundation vests.

+ +

Follow us on Twitter now!

+ +
+ FreeBSD KDE Team Thomas Abthorpe tabthorpe@FreeBSD.org Max Brazhnikov makc@FreeBSD.org Martin Wilke miwi@FreeBSD.org

Since the spring, the FreeBSD KDE team has been busy upgrading KDE from 4.2.0 up through to 4.3.1. As part of the ongoing maintenance of KDE, the team also updated Qt4 from 4.4.3 through to 4.5.2

We added two new committers/maintainers to the team, Kris Moore (kmoore@) and Dima Panov (fluffy@). We also granted enhanced area51 access to contributors Alberto Villa and Raphael Kubo da Costa. Alberto has been our key contributor updating and testing Qt 4.6.0-tp1. Raphael is a KDE developer, who has become our Gitorious liaison, he has been responsible for getting FreeBSD Qt patches merged in upstream.

Markus Brüffer (markus@) spent a lot of time patching widgets and system plugins so they would work under FreeBSD. We would like to thank him for all his effort!

Update to Qt 4.6.0 Update to KDE 4.4.0 Work with our userbase on fixing an EOL for KDE3 in the ports tree
EuroBSDcon 2009 Sam Smith eurobsdcon@ukuug.org Robert Watson rwatson@FreeBSD.org 2009 2010

EuroBSDcon 2009 happened in Cambridge, with over 160 users, developers, friends and others. Slides, papers and audio are now up on the website for those who could not make it to Cambridge. Next year's event in 2010 will take place in Karlsruhe from 8 to 10 October 2010. If you are interested in what you missed in 2009, or to join the mailing list so you do not miss out next year, visit http://2009.eurosbsdcon.org.

The FreeBSD Forums FreeBSD Forums Admins forum-admins@FreeBSD.org FreeBSD Forums Moderators forum-moderators@FreeBSD.org

Since their public launch in November 2008, the FreeBSD Forums (the most recent addition to the user community and support channels for the FreeBSD Operating System), have witnessed a healthy and steady growth.

The user population is now at over 8,000 registered users, who have participated in over 6,000 topics, containing over 40,000 posts in total. The sign-up rate hovers between 50-100 each week. The total number of visitors (including 'guests') is hard to gauge but is likely to be a substantial multiple of the registered userbase.

New topics and posts are actively 'pushed out' to search engines. This in turn makes the Forums show up in search results more and more often, making it a valuable and very accessible source of information for the FreeBSD community.

One of the contributing factors to the Forum's success is its 'BSD-style' approach when it comes to administration and moderation. The Forums have a strong and unified identity, they are neatly divided into sub-forums (like 'Networking', 'Installing & Upgrading', etc.), very actively moderated, spam-free, and with a core group of very active and helpful members, dispensing many combined decades' worth of knowledge to starting, intermediate and professional users of FreeBSD.

We expect the Forums te be, and to remain, a central hub in FreeBSD's community and support efforts.

New approach to the locale database Edwin Groothuis edwin@FreeBSD.org i18n mailinglist freebsd-i18n@FreeBSD.org Documentation on FreeBSD wiki Code

Problem: Over the years the FreeBSD locale database (share/colldef, share/monetdef, share/msgdef, share/numericdef, share/timedef) has accumulated a total of 165 definitions (language - country-code - character-set triplets). The contents of the files is for Western European languages often low-ASCII but for Eastern European and Asian languages partly or fully high-ASCII. Without knowing how to display or interpret the character-sets, it is difficult to make sure by the general audience that the local languages (language - country-code) definitions is displayed properly in various character-sets. Suggested approach: With the combination of the data in the Unicode project (which goal is to define all the possible written characters and symbols on this planet) and the Common Locale Data Repository (which goal is to document all the different data and definitions needed for the locale database), we can easily keep track of the data, without the need of being able to display the data in the required charactersets or understand them fully when updates are submitted by third parties. Current status: Conversion of share/monetdef, share/msgdef, share/numericdef, share/timedef to the new design is completed. The Makefile infrastructure is converted. Regression checks are done. Most of the tools are in place, waiting on the import of bsdiconv to the base system.

At this moment the system is not self-hosted yet, because of the lack of an iconv-kind of program in the base operating system. Gabor@ is working on bsdiconv as a GSoC project and once that has been imported we will be able to clean install from the definitions in Unicode text format to the required formats and charactersets.
- BSD-licensed iconv + BSD-licensed iconv (Summer of Code 2009) Gábor Kövesdán gabor@FreeBSD.org BSDL iconv on FreeBSD wiki

The code has been extracted from NetBSD and has been transformed into an independent shared library. The basic encodings are well supported. Almost all forward conversions (foo -> UTF-32) are compatible with GNU but the reverse ones are not so accurate because of GNU's advanced transliteration. Some extra encodings have also been added. There are two modules, which segfault, they need some debugging. I can keep working on this project as part of my BSc thesis, so I hope to be able to solve the remaining issues. An improved GNU compatibility is also very desired (extra command line options for iconv(1), iconvctl(), private interfaces, etc.).

Fix segfaults in Big5 and HZ modules Improve transliteration in reverse encodings Improve GNU compatibility by implementing extra features Verify POSIX compatibility Verify GNU compatibility Check performance
- Ext2fs Status report + Ext2fs Status report (Summer of Code 2009) Aditya Sarawgi sarawgi.aditya@gmail.com Wiki Page

FreeBSD's ext2fs had some parts under GPL. The aim of my project was to rewrite those parts and free ext2fs from GPL. I have been successful in rewriting the parts and NetBSD's ext2fs was a great help in this. Certain critical parts under GPL were also removed due to which the write performance suffered. I also implemented Orlov Block Allocator for ext2fs. Currently I am planning to make ext2fs Multiprocessor Safe (MPSAFE). My work resides in truncs_ext2fs branch of Perforce.

Ext4 support for FreeBSD Directory indexing for ext2fs Journaling in ext2fs using gjournal
The FreeBSD Hungarian Documentation Project Gábor Kövesdán gabor@FreeBSD.org Gábor Páli pgj@FreeBSD.org Hungarian Web Page for FreeBSD Hungarian Documentation for FreeBSD The FreeBSD Hungarian Documentation Project's Wiki Page Perforce Depot for the FreeBSD Hungarian Documentation Project

In the last months, we have not added new translations, although we have been working on the existing ones to have them updated. We need more translators and volunteers to keep the amount of the translated documentation growing, so feel free to contribute, every line of submission or feedback is appreciated and highly welcome.

If you want to join our work, please read the introduction to the project as well as the FDP Primer (both of them are available in Hungarian).

Translate news entries, press releases Translate Release Notes for -CURRENT and 8.X Translate articles Translate web pages Read the translations, send feedback
The FreeBSD Spanish Documentation Project José Vicente Carrasco Vayá carvay@FreeBSD.org Gábor Kövesdán gabor@FreeBSD.org Spanish Web Page for FreeBSD Spanish Documentation for FreeBSD Introduction to the FreeBSD Spanish Documentation Project

Recently, we have added one new article translation. The existing translations have not been updated, though. We need more human resources to keep up with the work and keep the translations up-to-date.

Update the Handbook translation Update the web page translation
BSD-licensed text-processing tools Gábor Kövesdán gabor@FreeBSD.org Wiki page for the project

This project was started as part of Google Summer of Code 2008 but there is still an ongoing work to complete some missing parts. The BSD-licensed grep implementation is feature-complete and has a good level of GNU compatibility. The only concern is the performance. The GNU variant is much more complex, has about 8 KSLOC, while BSD grep is tiny, has only 1.5 KSLOC. GNU uses some shortcuts and optimizations to trick out the regex library, that is why it is significantly faster. My point of view is that such optimizations must be implemented in the regex library, keeping the dependent utilities clean and easy to read. BSD grep is so tiny that there is hardly any optimization opportunity by simplifying the code, so the regex library is the next important TODO. There is another issue with the current regex library. It does not support some invalid regular expressions, which work in GNU. We need to maintain compatibility, so we cannot just drop this feature. Actually, BSD grep is linked to the GNU regex library to maintain this feature but due to the lack of the mentioned shortcuts, it is still slower than GNU. Anyway, if we can live with this little performance hit until we get a modern regex library, I think grep is ready to enter HEAD. As for the regex library, NetBSD's result of the last SoC is worth taking a look.

The sort utility has been rewritten from scratch. The existing BSD-licensed implementation could not deal with wide characters by design. The new implementation is still lacking some features but is quite complete. There is a performance issue, though. Sorting is a typical algorithmic subject but I am not an algorithmic expert, so my implementation is not completely optimal. Some help would be welcome with this part.

The bc/dc utilities have been ported from OpenBSD. They pass OpenBSD's and GNU's regression tests but they arrived too late to catch 8.X, so they will go to HEAD after the release.

Improve sort's sorting and file merging algorithms Complete missing features for sort Get a modern regex library for FreeBSD
Enhancing the FreeBSD TCP Implementation Lawrence Stewart lstewart@freebsd.org

TCP appropriate byte counting (RFC 3465) support has been merged into the FreeBSD 8 branch and will ship in FreeBSD 8.0-RELEASE.

The reassembly queue autotuning and SIFTR work was not ready in time to safely integrate for the 8.0 release. Padding has been added to necessary TCP structs to facilitate MFCing features back to the 8-STABLE branch after 8.0 is released.

Candidate patches against FreeBSD-CURRENT will be ready for wider testing in the coming weeks. The freebsd-net@ mailing list will be solicited for testing/feedback when everything is ready.

Solicit review/testing and integrate the ALQ kld and variable length message support patch into FreeBSD-CURRENT. Solicit review/testing and integrate the SIFTR tool into FreeBSD-CURRENT. Complete dynamic reassembly queue autotuning patch for FreeBSD-CURRENT. Fix an identified bug in the SACK implementation's fast retransmit/fast recovery behaviour. Profit!
Modular Congestion Control Lawrence Stewart lstewart@freebsd.org

The patch has received some significant rototilling in the past few months to prepare it for merging to FreeBSD-CURRENT. Additionally, I completed an implementation of the CUBIC congestion control algorithm to complement the existing NewReno and H-TCP algorithm implementations already available.

I have one further intrusive change to make which will allow congestion control modules to be shared between the TCP and SCTP stacks. Once this is complete, I will be soliciting for review/testing in the hope of committing the patch to FreeBSD-CURRENT in time to be able to backport it for 8.1-RELEASE.

Abstract the congestion control specific variables out of the TCP and SCTP control blocks into a new struct that can be passed into the API instead of the control block itself.
+ + + hwpmc for MIPS + + + + + George + Neville-Neil + + gnn@freebsd.org + + + + + Main FreeBSD MIPS Page + Sub page for the board I'm using. + + + +

Currently working on board bringup. I have looked over the docs + for how MIPS provides performance counters and will begin adding + code soon.

+ +
+ + + FreeBSD Gecko Project + + + + + Beat + Gaetzi + + beat@FreeBSD.org + + + + Martin + Wilke + + miwi@FreeBSD.org + + + + Andreas + Tobler + + andreast-list@fgznet.ch + + + + + Gecko TODO + + + +

Andreas Tobler made a mistake of sending us a lot of powerpc and + sparc64 related patches, for which we have punished him with the + commit bit to the Gecko repository.

+ +

We currently have some old ports in the ports tree:

+ + + +

A patch which includes the following changes has been tested on + pointyhat and is ready for commit:

+ + + +

We also working on Firefox 3.6 (Alpha 2), Thunderbird 3.0 (Beta 4), + new libxul 1.9.1.3 and Seamonkey 2.0 (Beta 2) ports. All of them are + already committed to our Gecko repository.

+ +

A current status and todo list can be found at + http://trillian.chruetertee.ch/freebsd-gecko/wiki/TODO.

+ + + + Remove mozilla, xulrunner and firefox2 from the ports tree. + www/firefox35 should be moved to www/firefox. + Gecko providers mozilla, nvu, xulrunner, flock and firefox also + need to be removed. + +
+ + + Valgrind suite on FreeBSD + + + + + Stanislav + Sedov + + stas@FreeBSD.org + + + + + Valgrind Wiki page + + + +

Valgrind suite in the FreeBSD ports collection has been updated to + the version 3.5.0 (the latest available). Most of the issues of + the previous version should be resolved now: we expect memcheck, + callgrind and cachegrind to be fully functional on both i386 and + amd64 platforms as well as for i386 binaries running on amd64 + system. DRD/hellgrind should work too, though they generate + a lot of false-positives for now, so their output is a bit messy.

+ + + + + Port exp-ptrcheck valgrind tool and fix outstanding issues + that show up in memcheck/helgrind/DRD in the Valgrind regression + tests suite. + + + More testing (please, help). + + + Integrate our patches upstream. + + +