Skip site navigation (1) Skip section navigation (2)

Introduction

This report covers FreeBSD-related projects between January and March 2012. It is the first of the four reports planned for 2012. This quarter was highlighted by releasing the next major version of FreeBSD, 9.0, which was finally released in the beginning of January 2012. The FreeBSD Project dedicates the FreeBSD 9.0-RELEASE to the memory of Dennis M. Ritchie, one of the founding fathers of the UNIX® operating system. Our release engineering team has been also busy with preparation of the 8.3-RELEASE, which was publicly announced in April.

Thanks to all the reporters for the excellent work! This report contains 27 entries and we hope you enjoy reading it.

Please note that the deadline for submissions covering the period between April and June 2012 is July 15th, 2012.


Projects

User-land Programs

FreeBSD Team Reports

Kernel

Network Infrastructure

Documentation

Architectures

Ports



    Projects


    FreeBSD Services Control

    Links
    URL: http://people.FreeBSD.org/~trhodes/fsc/

    Contact: Tom Rhodes <trhodes@FreeBSD.org>

    After a while of moving and getting a new job, I finally got back to this project (also thanks to several submissions by Julian Fagir), a new version has been uploaded along with a short description page. The current version supports more options, a configuration file, and updated rc.d script. It also includes manual page updates and an optional debugging mode.


    GNU-Free C++11 Stack

    Contact: David Chisnall <theraven@FreeBSD.org>

    Since the last status report, the combination of libc++ and libcxxrt has received some additional testing and gained some new features including support for ARM EABI. With clang 3.1, we now pass all of the C++11 atomics tests.

    The xlocale implementation (required for libc++) has been tested with a variety of ports that were originally written for the Darwin implementation, and bugs that this testing uncovered have been fixed. This should be released in 9.1.

    In -CURRENT, we are now building libsupc++ as a shared library. This provides the ABI layer and building it as a shared library means that we can replace it with libcxxrt easily. If you are running -CURRENT, please try using libmap.conf to enable libcxxrt instead of libsupc++.

    If libstdc++ is using libcxxrt, you can now link against both libraries that are using libstdc++ and libc++, making the migration slightly easier, although you cannot pass STL objects between libraries using different STL versions.

    We still need a replacement for some parts of libgcc_s and for the linker, but we're on track for a BSD licensed C++ stack in 10.0.

    Open tasks:

    1. Test ports with libc++. Hopefully most will Just Work, but others may need patches or have a hard dependency on libstdc++.
    2. Enable building libc++ by default. This is dependent upon building with clang, because the version of gcc in the base system does not support C++11 and so can not be used to build libc++.
    3. Removing libstdc++ from the base system and making it available through ports for backwards compatibility.

    Growing filesystems online

    Contact: Edward Tomasz Napierala <trasz@FreeBSD.org>

    The goal of this project is to make it possible to grow a filesystem, both UFS and ZFS, while it's mounted read-write. This includes changes to both filesystems, GEOM infrastructure, and the da(4) driver. For testing purposes, I've also added resizing to mdconfig(8) and implemented LUN resizing in CAM Target Layer.

    From the system administrator point of view, this makes it possible to resize mounted partition using gpart(8) and then resize the filesystem on it using growfs(8) - all without unmounting it first; especially useful if it's a root filesystem.

    All the functionality works and is in the process of being refined, reviewed and merged to HEAD.

    This project is sponsored by The FreeBSD Foundation.

    Open tasks:

    1. The write suspension infrastructure (/dev/ufssuspend) implemented to make resizing possible makes it also possible to implement online tunefs(8) and fsck(8).
    2. Right now, there is no way for a GEOM class to veto resizing — classes are notified about resize and they can either adapt, or wither. Many classes store their metadata in the last sector, though, so resizing a partition containing e.g. gmirror will make it inoperable. It would be nice if geom_mirror(4) could veto resizing, so the administrator attempting to shoot himself in the foot would get a warning.

    The FreeNAS Project

    Links
    URL: http://www.FreeNAS.org

    Contact: Josh Paetzel <jpaetzel@FreeBSD.org>
    Contact: Xin Li <delphij@FreeBSD.org>

    FreeNAS 8.0.4 was released last month, which marks the end of the 8.0.x branch in FreeNAS.

    FreeNAS 8.2.0 is in BETA currently, and will hopefully be released by the end of April.

    It features a number of improvements over the 8.0.x line, including plugin support, (the ability to run arbitrary software in jails), as well as better integration between command line ZFS and the GUI.

    Once 8.2.0 is out it will be quickly followed up with 8.3.0, which will include a number of driver updates as well as the long awaited ZFS v28.



    User-land Programs


    Clang Replacing GCC in the Base System

    Links
    Building FreeBSD with Clang URL: http://wiki.FreeBSD.org/BuildingFreeBSDWithClang

    Contact: Brooks Davis <brooks@FreeBSD.org>
    Contact: David Chisnall <theraven@FreeBSD.org>
    Contact: Dimitry Andric <dim@FreeBSD.org>
    Contact: Ed Schouten <ed@FreeBSD.org>
    Contact: Pawel Worach <pawel.worach@gmail.com>
    Contact: Roman Divacky <rdivacky@FreeBSD.org>

    Both FreeBSD 10.0-CURRENT and 9.0-STABLE now have Clang 3.0 release installed by default. At least on 10.0-CURRENT, both world and the GENERIC kernel can be completely built without any -Werror warnings. This may not be the case for all custom kernel configurations yet.

    As of r231057, there is a WITH_CLANG_EXTRAS option for src.conf(5), which will enable a number of additional LLVM and Clang tools, such as 'llc' and 'opt'. These tools are mainly useful for people that want to manipulate LLVM bitcode (.bc) and LLVM assembly language (.ll) files, or want to tinker with LLVM and Clang themselves.

    Also, as of r232322, there is a WITH_CLANG_IS_CC option for src.conf(5), which will install Clang as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp, making it the default system compiler. Unless you also use the WITHOUT_GCC option, gcc will still be available as /usr/bin/gcc, /usr/bin/g++ and /usr/bin/gcpp.

    The intent is to switch on this option by default rather sooner than later, so we can start preparing for shipping 10.0-RELEASE with Clang as as the default system compiler, and deprecating gcc.

    In other news, we will import a newer snapshot of Clang soon, since upstream LLVM/Clang has already announced their 3.1 release will be branched April 16, 2012. Most likely, the actual 3.1 release will be follow a few weeks later, after which we will do another import.

    Last but not least, there are many ports people working on making our ports compile properly with Clang. Fixes are checked in on a very regular basis now, and full exp-runs with Clang are also done fairly regularly. Of course, there are always a few difficult cases, especially with very old software that will not even compile with newer versions of gcc, let alone clang.

    Open tasks:

    1. One of the most important tasks at the moment is to actually build and run your entire FreeBSD system with Clang, as much as possible. Any compile-time or run-time problems should be reported to the appropriate mailing list, or filed as a PR. If you have patches and/or workarounds, that would be even better.
    2. Clang should have gotten better support for cross-compiling after 3.0, so as soon as a 3.1 version is imported, we will need to look at ways to get the FreeBSD world and kernels to cross-compile. This is mainly of use for ARM and MIPS, which are architectures you usually do not want to build natively on.
    3. Help to make unwilling ports build with Clang is always needed, and greatly appreciated. Please mail the maintainer of your favorite port with patches, or file PRs.

    Replacing the Regular Expression Code

    Links
    Project repo URL: http://svnweb.FreeBSD.org/base/user/gabor/tre-integration/
    TRE homepage URL: http://laurikari.net/tre/
    A paper on the topic URL: http://www.tdk.aut.bme.hu/Files/TDK2011/POSIX-regularis-kifejezesek1.pdf

    Contact: Gábor Kövesdán <gabor@FreeBSD.org>

    Since the last status report, there has been a significant progress in optimizing TRE. The multiple pattern heuristic code is mostly finished and it distinguishes several different cases to speed up pattern matching. It extracts literal fragments from the original patterns and uses a multiple pattern matching algorithm to find any occurrence. GNU grep uses the Commentz-Walter algorithm, which is an automaton-based algorithm, while in this project, it has been decided to use a Wu-Manber algorithm, which is more efficient and also easier to implement. In the current state, it does not work entirely yet and some cases, like the REG_ICASE flag are not yet covered. This is the next major step to complete this multiple pattern interface. In the development branch, BSD grep is already modified to use this new interface so it can be used for testing and debugging purposes.

    Open tasks:

    1. Finish multiple pattern heuristic regex matching.
    2. Implement GNU-specific regex extensions.
    3. Test standard-compliance and correct behavior.

    The bsdconfig(8) utility

    Links
    OpenSource Development Tree URL: http://druidbsd.cvs.sf.net/viewvc/druidbsd/bsdconfig/
    Menu Map w/ Includes URL: http://druidbsd.sf.net/download/bsdconfig/bsdconfig-20120512-1.svg
    Menu Map w/o Includes URL: http://druidbsd.sf.net/download/bsdconfig/bsdconfig-20120512-1i.svg

    Contact: Devin Teske <dteske@FreeBSD.org>
    Contact: Ron McDowell <rcm@fuzzwad.org>

    Approaching 20,000 lines of sh(1) code, the bsdconfig(8) tool is approximately 70% complete. Upon completion of this project, bsdconfig(8) will represent (in conjunction with already-existing bsdinstall(8)) a complete set of utilities capable of purposefully deprecating sysinstall(8) in FreeBSD 9 and higher. This project has been a labor of love for Ron McDowell and I for over 90 days now and we are approaching the completion of this wonderful tool.

    Open tasks:

    1. The "installer suite" modules for acquiring/installing binary packages and additional distribution sets. Startup services module.


    FreeBSD Team Reports


    Release Engineering Team Status Report

    Links
    URL: http://www.FreeBSD.org/releng/

    Contact: Release Engineering Team <re@FreeBSD.org>

    On behalf of the FreeBSD Project the Release Engineering Team was are pleased to announce the release of the FreeBSD 8.3-RELEASE on April 18th, 2012.

    With the FreeBSD 8.3 release cycle completed our focus shifts to preparing for the FreeBSD 9.1-RELEASE. A schedule will be posted shortly, with the release target date set for mid-July 2012.


    The FreeBSD Foundation Team Report

    Links
    URL: www.FreeBSDFoundation.org

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The Foundation sponsored AsiaBSDCon 2012 which was held in Tokyo, Japan, March 22-25. We were represented at SCALE on Jan 21 and NELF on March 17. This quarter we plan on being at ILF (Indiana LinuxFest) April 14th, BSDCan May 11-12, and SELF (Southeast LinuxFest) June 9.

    We are proud to be a gold sponsor of BSDCan 2012, which will be held in Ottawa, Canada, May 11-12. We are sponsoring 14 developers to attend the conference.

    We kicked off three foundation funded projects — Growing Filesystems Online by Edward Tomasz Napierala, Implementing auditdistd daemon by Pawel Jakub Dawidek, and NAND Flash Support by Semihalf.

    We are pleased to announce the addition of George Neville-Neil to our board of directors. Deb Goodkin, our Director of Operations, was interviewed by bsdtalk.

    We announced a call for project proposals. We will accept proposals until April 30th. Please read Project Proposal Procedures to find out more.

    FreeBSD 9.0 was released and we are proud to say we funded 7 of the new features!



    Kernel


    DTrace Probes for the linuxulator

    Contact: Alexander Leidinger <netchild@FreeBSD.org>

    Recently DTrace in the kernel was improved to be able to load kernel modules with static dtrace providers after the dtrace modules. This allows me to commit my linuxulator specific static provider work to -CURRENT.

    Together with the linuxulator DTrace probes I developed some D scripts to check various code paths in the linuxulator. Those scripts check various error cases which may be interesting to verify userland code, but also linuxulator internals like locks.

    As of this writing I'm in the process of updating a test machine to a more recent -current to prepare the commit.


    HDMI/DisplayPort Audio Support in HDA Sound Driver (snd_hda)

    Contact: Alexander Motin <mav@FreeBSD.org>

    snd_hda(4) driver got number of improvements to better support HDMI/DisplayPort audio, such as:

    • Added fetching EDID-Like Data from the CODEC and video driver, describing audio capabilities of the display device.
    • Added setting HDMI/DP-specific CODEC options, such as number of channels, speakers configuration and channels mapping.
    • Added support for more multichannel formats. For HDMI and DisplayPort device now supported: 2.0, 2.1, 3.0, 3.1, 4.0, 4.1, 5.0, 5.1, 6.0, 6.1, 7.0 and 7.1 channels.
    • Added support for compressed streams passthrough with data rate 6.144 - 24Mbps, such as DTS-HD Master Audio or Dolby TrueHD.
    • Added support for HDA bus multiplexing to handle higher data rates (up to 92, 184 or more Mbps, depending on hardware capabilities). It allows to handle several 192/24/8 LPCM playback streams simultaneously.

    Above functionality was successfully tested on NVIDIA GT210 and GT520 video cards with nvidia-driver-290.10 driver. HDMI audio on older NVIDIA ION and Geforce 8300 boards still does not work for unknown reason. There are also successful reports about Intel video with latest KMS-based drivers. Support for ATI cards is limited to older cards, because video driver supporting newer cards does not support HDMI audio.

    The code was committed to HEAD and merged to 9-STABLE branch.

    Project sponsored by iXsystems, Inc.

    Open tasks:

    1. Make better use of received EDID-Like Data.
    2. Identify and fix problem with older NVIDIA cards.

    Improved hwpmc(9) Support for MIPS

    Contact: Oleksandr Tymoshenko <gonzo@FreeBSD.org>

    hwpmc(9) for MIPS has been reworked. The changes include:

    • msip24k code was split to CPU-specific and arch-specific parts to make adding support for new CPUs easier
    • Added support for Octeon PMC
    • Added sampling support for MIPS in general

    isci(4) SAS Driver

    Contact: Jim Harris <jimharris@FreeBSD.org>

    An Intel-supported isci(4) driver, for the integrated SAS controller in Intel's C600 chipsets, is now available in head, stable/9, stable/8 and stable/7.

    The isci(4) driver will also be part of the FreeBSD 8.3 release.



    Network Infrastructure


    Atheros 802.11n Support

    Links
    URL: http://wiki.FreeBSD.org/AdrianChadd/AtherosTxAgg
    URL: http://wiki.FreeBSD.org/dev/ath(4)

    Contact: Adrian Chadd <adrian@FreeBSD.org>

    802.11n station and hostap support is now fully functional, sans correct hostap side power saving. TX aggregation and TX BAR handling is implemented.

    Station chip power saving is not implemented at all yet, it's not in the scope of this work.

    Testers should disable bgscan (-bgscan) as scan/bgscan will simply drop any traffic in the TX/RX queues, causing potential traffic stalls.

    Open tasks:

    1. Fix up hostap side power save handling.
    2. Implement filtered frames support in the driver.
    3. Fix scan/bgscan to correctly buffer and retransmit frames when going off channel, so frames are not just "dropped" - this causes issues in the aggregation sessions and may cause traffic stalls.
    4. Test/fix any issues with adhoc 802.11n support.

    IPv6 Performance Analysis

    Links
    Benchmarking results URL: http://people.FreeBSD.org/~bz/bench/

    Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

    IPv6 performance numbers were often seen (significantly) lower on FreeBSD when compared to IPv4. Continuing last years IPv6-only kernel efforts this project looked at various reasons for this and started fixing some.

    As part of the project a benchmark framework was created that could carry out various tests including reboots in between runs and gather results reproducibly without user intervention. It allows regular benchmarking with minimal configuration and easy future extension for more benchmarks.

    As a result of the initial analysis, UDP locking and route lookups were improved, and delayed checksumming, TSO6 and LRO support for IPv6 were implemented. Following this checksum "offload" for IPv6 on loopback was enabled and various further individual improvements, both locking and general code changes, as well as a reduction of the cache size footprint were carried out. Some of the changes were equally applied to IPv4.

    Performance numbers on physical and loopback interfaces are on par with IPv4 when using offload support with TCP/IPv6, which is a huge improvement. UDP and non-offload numbers on IPv6 have generally improved but are still lower than on IPv4 and will need future work to catch up with a decade of IPv4 benchmarking and code path optimizations. UDP IPv6 minimal size send path packets per second (pps) numbers however have increased beating IPv4 when sending to a local discard device.

    This gets us really close to being able to prefer IPv6 by default without causing loopback performance regressions. For physical interfaces, cxgb(4) in HEAD already supports IPv6 TCP offload and LRO/v6 support was added. To be able to get more test results on different hardware, both ixgbe(4) and cxgbe(4) were also updated to support TSO6 and LRO with IPv6.

    Some of the insights gained from this work will help upcoming discussions on both the lower/link-layer overhaul as well as for the mbuf changes to prepare our stack for more, future improvements (ahead of time).

    I once again want to thank the FreeBSD Foundation and iXsystems for their support of the project, as well as George Neville-Neil for providing review.

    Having set the start to close one of the biggest feature parity gaps left I will continue to improve IPv6 code paths and hope that we will see more contributions and independent results from the community as well soon.

    Open tasks:

    1. Carefully merge code changes to SVN.

    Multi-FIB: IPv6 Support and Other Enhancements

    Links
    SVN multi-FIB IPv6 project area URL: http://svnweb.FreeBSD.org/base/projects/multi-fibv6/

    Contact: Bjoern A. Zeeb <bz@FreeBSD.org>
    Contact: Alexander V. Chernikov <melifaro@FreeBSD.org>

    In 2008 the multiple forwarding information base (FIB) feature was introduced for IPv4 allowing up to 16 distinct forwarding ("routing") tables in the kernel. Thanks to the sponsorship from Cisco Systems, Inc. this feature is now also available for IPv6 and one of the bigger IPv6 feature-parity gaps is closed. The changes have been integrated to HEAD, were merged back to stable/9 and stable/8 and will be part of future releases for these branches. A backport to stable/7 is also available in the project branch. If more than one FIB is requested, IPv6 FIBs will be added along the extra IPv4 FIBs without any special configuration needed and programs like netstat and setfib, as well as ipfw, etc. were extended to seamlessly support the multi-FIB feature on both address families.

    Thanks to the help of Alexander V. Chernikov all usage of the multi-FIB feature is now using the boot-time variable rather than depending on the compile time option. In HEAD this now allows us you to use the multi-FIB feature with GENERIC kernels not needing to recompile your own anymore. The former kernel option can still be used to set a default value if desired. Otherwise the net.fibs loader tunable can be used to request more than one IPv6 and IPv4 FIB at boot time.

    Last, routing sockets are now aware of FIBs and will only show the routing messages targeted at the FIB attached to. This allows route monitor or routing daemons to get selective updates for just a specific FIB.



    Documentation


    The FreeBSD Japanese Documentation Project

    Links
    Japanese FreeBSD Web Page URL: http://www.FreeBSD.org/ja/
    The FreeBSD Japanese Documentation Project Web Page URL: http://www.jp.FreeBSD.org/doc-jp/

    Contact: Hiroki Sato <hrs@FreeBSD.org>
    Contact: Ryusuke Suzuki <ryusuke@FreeBSD.org>

    The same as before, the outdated contents in the www/ja subtree were updated to the latest versions in the English counterpart. The updating work of the outdated translations in the www/ja subtree is almost complete. Only the translations of the release documents for old releases may be outdated.

    During this period, we translated the 9.0-RELEASE announcement and published it in a timely manner. It seems that the Japanese version of the release announcement is important for Japanese people as this page has frequently been referenced.

    For FreeBSD Handbook, translation work of the "cutting-edge" section is still on-going. Some updates in the "printing" and the "linuxemu" section were done.

    Open tasks:

    1. Further translation work of outdated documents in both doc/ja_JP.eucJP and www/ja.


    Architectures


    FreeBSD/arm on Various TI Boards

    Links
    URL: http://svnweb.FreeBSD.org/base/projects/armv6/sys/arm/ti/

    Contact: Ben Gray <bgray@FreeBSD.org>
    Contact: Olivier Houchard <cognet@FreeBSD.org>
    Contact: Damjan Marion <dmarion@FreeBSD.org>
    Contact: Oleksandr Tymoshenko <gonzo@FreeBSD.org>

    The goal of this project is to get FreeBSD running on various popular boards that use TI-based SoCs like OMAP3, OMAP4, AM335x. Project covers some ARM generic Cortex-A components: GIC (Generic Interrupt Controller), PL310 L2 Cache Controller and SCU.

    PandaBoard (TI OMAP4430) and PandaBoard ES (OMAP4460) Dual core ARM Cortex-A9 board support includes: USB, onboard Ethernet over USB, GPIO, I2C and MMC/SD card drivers. Board works in multiuser mode over NFS root.

    BeagleBone (TI AM3358/AM3359) single core ARM Cortex-A8 based board support currently includes: Ethernet, L2 cache, GPIO, I2C. Board works in multiuser mode over NFS root.

    Open tasks:

    1. Completing missing peripherals: DMA, SPI, MMC/SD, Video, Audio.
    2. Completing SMP support and testing.
    3. Importing BeagleBoard (OMAP3) code to SVN.
    4. Improving overall stability and performance.

    FreeBSD/powerpc on Freescale QorIQ DPAA

    Links
    P2041 product page URL: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P2040
    P3041 product page URL: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P3041
    P5020 product page URL: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P5020
    e5500 core home page URL: http://www.freescale.com/webapp/sps/site/homepage.jsp?code=64BIT&fsrch=1&sr=1

    Contact: Michal Dubiel <md@semihalf.com>
    Contact: Rafal Jaworowski <raj@semihalf.com>
    Contact: Piotr Ziecik <kosmo@semihalf.com>

    This work is bringing up the FreeBSD on Freescale QorIQ Data Path Acceleration Architecture (DPAA) system-on-chips along with device drivers for integrated peripherals. Since the last status report, the following support has been added:

    • Ethernet (full network functionality using Regular Mode of DPAA infrastructure)
    • QorIQ P5020 SoC (e5500 core in legacy 32-bit mode)
    • P5020 QorIQ Development System support
    • Initial support for Enhanced SDHC

    The next step is:

    • e5500 core in native 64-bit mode

    Related publications:

    • Michal Dubiel, Piotr Ziecik, "FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices", AsiaBSDCon, March 2012, Tokyo, Japan.

    NAND File System, NAND Flash Framework, NAND Simulator

    Links
    NAND branch URL: http://svnweb.FreeBSD.org/base/projects/nand/

    Contact: Grzegorz Bernacki <gjb@semihalf.com>
    Contact: Mateusz Guzik <mjg@semihalf.com>

    The NAND Flash stack consists of a driver framework for NAND controllers and memory chips, a NAND device simulator and a fault tolerant, log-structured file system, accompanied by tools, utilities and documentation.

    • NAND FS support merged into "nand" project branch
      • NAND FS filesystem
      • NAND FS userland tools
    • NAND Framework and NAND simulator merged into "nand" project branch
      • NAND framework: nandbus, generic nand chips drivers
      • NAND Flash controllers (NFC) drivers for NAND Simulator and Marvell MV-78100 (ARM)
      • NAND tool (which allows to erase, write/read pages/oob, etc.

    The next steps include:

    • Fix bugs
    • Merge into HEAD

    Work on this project is supported by the FreeBSD Foundation and Juniper Networks.


    Porting DTrace to MIPS and ARM

    Contact: Oleksandr Tymoshenko <gonzo@FreeBSD.org>

    The major part of DTrace has been ported to MIPS platform. Supported ABIs: o32 and n64. n32 has not been tested yet. MIPS implementation passes 853 of 927 tests from DTrace test suite.

    The fbt provider and userland DTrace are not supported yet.

    The port to ARM is in progress.

    Open tasks:

    1. Userland DTrace support for MIPS.
    2. Investigate amount of effort required for getting fbt provider work at least partially.
    3. Find proper solution for cross-platform CTF data generation (required for ARM).


    Ports


    A New linux_base Port Based Upon CentOS

    Contact: Alexander Leidinger <netchild@FreeBSD.org>

    We got a PR with a linux_based port which is based upon CentOS 6. Currently this can only be used as a test environment, as it depends upon a more recent linux kernel version, than the linuxulator provides.

    As of this writing, I'm in the process of preparing a commit of this port.

    Open tasks:

    1. Repocopy by portmgr.
    2. Add conflicts in other linux_base ports.
    3. Commit the CentOS based one.
    4. Some cleanup.

    BSD-licensed sort Utility (GNU sort Replacement)

    Links
    FreeBSD port of BSD sort URL: http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/textproc/bsdsort/
    IEEE Std 1003.1-2008 sort specification URL: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html

    Contact: Oleg Moskalenko <oleg.moskalenko@citrix.com>
    Contact: Gábor Kövesdán <gabor@FreeBSD.org>

    Currently the BSD sort reached usable stable stage. It is stable, it is as fast as the GNU sort, and it supports multi-byte locales (this is something that GNU sort does not do correctly). BSD sort has all features of GNU sort 5.3.0 (version included into FreeBSD) with some extra features and bug fixes.

    Open tasks:

    1. Add BSD sort into HEAD as an alternative, installed as bsdsort. If proven to work as expected, change it to the default sort version and remove GNU sort.
    2. Investigate the possibility of a multi-threaded sort implementation and implement it, if it proves more efficient.
    3. Upgrade BSD sort features to include some obscure new features in the latest GNU sort version 8.15.

    KDE/FreeBSD

    Links
    KDE/FreeBSD home page URL: http://FreeBSD.kde.org
    area51 URL: http://FreeBSD.kde.org/area51.php

    Contact: KDE FreeBSD <kde@FreeBSD.org>

    The team has made many releases and upstreamed many fixes and patches. The latest round of releases include:

    • KDE SC: 4.7.4 (in ports) and 4.8.0, 4.8.1, 4.8.2 (in area51)
    • Qt: 4.8.0, 4.8.1 (in area51)
    • PyQt: 4.9.1; SIP: 4.13.2 (in area51)
    • KDevelop: 2.3.0; KDevPlatform: 1.3.0 (in area51)
    • Calligra: 2.3.87 (in area51)
    • Amarok: 2.5.0
    • CMake: 2.8.7

    Due to the prolonged port freeze the KDE team has not been able to update KDE in Ports as it is considered a intrusive change.

    The team is always looking for more testers and porters so please contact us at kde@FreeBSD.org and visit our home page at http://FreeBSD.kde.org.

    Open tasks:

    1. Testing KDE SC 4.8.2.
    2. Testing KDE PIM 4.8.2.
    3. Testing phonon-gstreamer and phonon-vlc as the phonon-xine backend was deprecated (but will remain in the ports for now).
    4. Testing the Calligra beta releases (in the area51 repository).

    Perl Ports Testing

    Links
    URL: http://wiki.FreeBSD.org/Perl#Test_Dependencies

    Contact: Steve Wills <swills@FreeBSD.org>

    Many Perl modules in ports come with test cases included with their source. This project's goal is to ensure that all these tests pass. Significant progress has been made on this project. The change to build perl with -pthread was committed and no issues have been reported. Many ports have had missing dependencies added and/or other changes and approximately 90% of p5- ports pass tests. Work is being done on bringing testing support out of ports tinderbox.

    Open tasks:

    1. Finish work on patch to bring testing support to ports.
    2. Add additional support for testing other types of ports such as python and ruby.

    The FreeBSD Haskell Ports

    Links
    FreeBSD Haskell wiki page URL: http://wiki.FreeBSD.org/Haskell
    FreeBSD Haskell ports repository URL: https://github.com/freebsd-haskell/freebsd-haskell/
    hsporter repository URL: https://github.com/freebsd-haskell/hsporter/
    hsmtk repository URL: https://github.com/freebsd-haskell/hsmtk/

    Contact: Gábor PÁLI <pgj@FreeBSD.org>
    Contact: Ashish SHUKLA <ashish@FreeBSD.org>

    We are proud announce that the FreeBSD Haskell Team has committed the Haskell Platform 2011.4.0.0 update, GHC 7.0.4 update, existing port updates, as well new port additions to FreeBSD ports repository, which were pending due to freeze for 9.0-RELEASE. Some of the new ports which were committed include Yesod, Happstack, wxHaskell, gitit, Threadscope, etc. and the count of Haskell ports in FreeBSD Ports tree is now almost 300. All of these updates will be available as part of upcoming 8.3-RELEASE.

    We started project hsporter to automate creation of new FreeBSD Haskell ports from .cabal file, as well as update existing ports. We also published scripts which we were using in the FreeBSD Haskell project under the project hsmtk.

    Open tasks:

    1. Test GHC to work with clang/LLVM.
    2. Add an option to the lang/ghc port to be able to build it with already installed GHC instead of requiring a separate GHC boostrap tarball.
    3. Add more ports to the Ports Collection.

    The FreeBSD Ports Collection

    Links
    URL: http://www.FreeBSD.org/ports/
    URL: http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing-ports/
    URL: http://portsmon.FreeBSD.org/index.html
    URL: http://www.FreeBSD.org/portmgr/index.html
    URL: http://blogs.FreeBSDish.org/portmgr/
    URL: http://www.twitter.com/freebsd_portmgr/
    URL: http://www.facebook.com/portmgr

    Contact: Thomas Abthorpe <portmgr-secretary@FreeBSD.org>
    Contact: Port Management Team <portmgr@FreeBSD.org>

    The ports tree slowly climbs above 23,000 ports. The PR count still remains at about 1100.

    In Q1 we added 2 new committers, took in 2 commit bits for safe keeping, and had one committer return to ports work.

    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:

    • Ports validation in the FreeBSD 10 environment
    • Updates to bison, libtool and libiconv
    • Set java/opendjdk6 as default java
    • Tests with clang set as default
    • Update to devel/boost and friends
    • Update of audio/sdl and friends
    • Tests for changes in the ports licensing infrastructure
    • Update to devel/ruby1[8|9]
    • Update to postresql
    • Update to apr
    • Checks for new x11/xorg
    • Security update to security/gnutls
    • Ongoing validation of infrastructure with pkgng

    A lot of focus during this period was put into getting the ports tree into a ready state for FreeBSD 8.3, including preparing packages for the release.

    Beat Gaetzi has been doing ongoing tests with the ports tree to ensure a smooth transition from CVS to Subversion.

    Open tasks:

    1. Looking for help getting ports to build with clang.
    2. Looking for help with Tier-2 architectures.
    3. ports broken by src changes.
    4. ports failing on pointyhat.
    5. ports failing on pointyhat-west.
    6. ports that are marked as BROKEN.
    7. When did that port break?
    8. Most ports PRs are assigned, we now need to focus on testing, committing and closing.

    News Home | Status Home