FreeBSD Quarterly Status Report, July-September 2012. Introduction This report covers FreeBSD-related projects between July and September 2012. This is the third of the four reports planned for 2012. Highlights from this quarter include successful participation in Google Summer of Code, major work in areas of the source and ports trees, and a Developer Summit attended by over 30 developers. Thanks to all the reporters for the excellent work! This report contains 12 entries and we hope you enjoy reading it. __________________________________________________________________ Projects * FreeBSD on Altera FPGAs * Native iSCSI Target * Parallel rc.d execution FreeBSD Team Reports * FreeBSD Bugbusting Team * FreeBSD Foundation * The FreeBSD Core Team Kernel * FreeBSD on ARMv6/ARMv7 Documentation * The FreeBSD Japanese Documentation Project Ports * KDE/FreeBSD * Ports Collection Miscellaneous * FreeBSD Developer Summit, Cambridge, UK FreeBSD in Google Summer of Code * Google Summer of Code 2012 __________________________________________________________________ FreeBSD Bugbusting Team URL: http://www.FreeBSD.org/support.html#gnats URL: https://wiki.freebsd.org/BugBusting Contact: Eitan Adler <eadler at FreeBSD.org> Contact: Gavin Atkinson <gavin at FreeBSD.org> Contact: Oleksandr Tymoshenko <gonzo at FreeBSD.org> In August, Eitan Adler (eadler@) and Oleksandr Tymoshenko (gonzo@) joined the Bugmeister team. At the same time, Remko Lodder and Volker Werth stepped down. We extend our thanks to Volker and Remko for their work in the past, and welcome Oleksandr and Eitan. Eitan and Oleksandr have been working hard on migrating from GNATS, and have made significant progress on evaluating new software, and creating scripts to export data from GNATS. The bugbusting team continue work on trying to make the contents of the GNATS PR database cleaner, more accessible and easier for committers to find and resolve PRs, by tagging PRs to indicate the areas involved, and by ensuring that there is sufficient info within each PR to resolve each issue. 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: 1. Further research into tools suitable to replace GNATS. 2. Get more users involved with triaging PRs as they come in. 3. Assist committers with closing PRs. __________________________________________________________________ FreeBSD Developer Summit, Cambridge, UK URL: https://wiki.freebsd.org/201208DevSummit Contact: Robert Watson <rwatson at FreeBSD.org> In the end of August, there was an "off-season" Developer Summit held in Cambridge, UK at the University of Cambridge Computer Laboratory. This was a three-day event, with a documentation summit scheduled for the day before. The three days of the main event were split into three sessions, with two tracks in each. Some of them even involved ARM developers from the neighborhoods which proven to be productive, and led to further engagement between the FreeBSD community and ARM. The schedule was finalized on the first day, spawning a plethora of topics to discuss, followed by splitting into groups. A short summary from each of the groups was presented in the final session and then published at the event's home page on the FreeBSD wiki. This summit contributed greatly to arriving to a tentative plan for throwing the switch to make clang the default compiler on HEAD. This was further discussed on the mailing list, and has now happened, bringing us one big step closer to a GPL-free FreeBSD 10. As part of the program, an afternoon of short talks from researchers in the Cambridge Computer Laboratory involved either operating systems work in general or FreeBSD in particular. Robert Watson showed off a tablet running FreeBSD on a MIPS-compatible soft-core processor running on an Altera FPGA. In association with the event, a dinner was hosted by St. John's college and co-sponsored by Google and the FreeBSD Foundation. The day after the conference, a trip was organized to Bletchley Park, which was celebrating Turing's centenary in 2012. __________________________________________________________________ FreeBSD Foundation URL: http://www.freebsdfoundation.org/press/2012Jul-newsletter.shtml Contact: Deb Goodkin <deb at FreeBSDFoundation.org> The Foundation hosted and sponsored the Cambridge FreeBSD developer summit in August 2012. We were represented at the following conferences: OSCON July 2012, Texas LinuxFest, and Ohio LinuxFest. We negotiated/supervised Foundation funded projects: Distributed Security Audit Logging, Capsicum Component Framework, Native iSCSI Target Scoping, and Growing UFS Filesystems Online. We negotiated, supervised, and funded hardware needs for FreeBSD co-location centers. We welcomed Kirk McKusick to our board of directors. He took over the responsibility of managing our investments. We visited companies to discuss their FreeBSD use and to help facilitate collaboration with the Project. We managed FreeBSD vendor community mailing list and meetings. We created a high quality FreeBSD 9 brochure to help promote FreeBSD. Published our semi-annual newsletter that highlighted Foundation funded projects, travel grants for developers, conferences sponsored and other ways the Foundation supported the FreeBSD Project. We hired a technical writer to help with FreeBSD marketing/promotional material. We began work on redesigning our website. __________________________________________________________________ FreeBSD on Altera FPGAs URL: http://www.cl.cam.ac.uk/research/security/ctsrd/ URL: http://www.cl.cam.ac.uk/research/security/ctsrd/cheri.html Contact: Brooks Davis <brooks at FreeBSD.org> Contact: Robert Watson <rwatson at FreeBSD.org> Contact: Bjoern Zeeb <bz at FreeBSD.org> In the course of developing the CHERI processor as part of the CTSRD project SRI International's Computer Science Laboratory and the University of Cambridge Computer Laboratory have developed support for a number of general purpose IP cores for Altera FPGAs including the Altera Triple Speed Ethernet (ATSE) MAC core, the Altera University Program SD Card core, and the Altera JTAG UART. We have also added support for general access to memory mapped devices on the Avalon bus via the avgen bus. We have implemented both nexus and flattened device tree (FDT) attachments for these devices. In addition to these softcore we have developed support for the Terasic multi-touch LCD and are working to provide support for the Terasic HDMI Transmitter Daughter Card. Both of these work with common development and/or reference boards for Altera FPGAs. They do require additional IP cores which we plan to release to the open source community in the near future. With exception of the ATSE and HDMI drivers we have merged all of these changes to FreeBSD-CURRENT. We anticipate that these drivers will be useful for users who with to run FreeBSD on either hard or soft core CPUs on Altera FPGAs. This work has been sponsored by DARPA, AFRL, and Google. __________________________________________________________________ FreeBSD on ARMv6/ARMv7 Contact: freebsd-arm mailing list <freebsd-arm at FreeBSD.org> Support for ARMv6 and ARMv7 architecture has been merged from project branch to HEAD. This code covers the following parts: * General ARMv6/ARMv7 kernel bits (pmap, cache, assembler routines, etc...) * ARM Generic Interrupt Controller driver * Improved thread-local storage for cpus >=ARMv6 * Driver for SMSC LAN95XX and LAN8710A ethernet controllers * Marvell MV78x60 support (multiuser, ARMADA XP kernel config) * TI OMAP4 and AM335x support (multiuser, no GPU or graphics support, kernel configs for Pandaboard and Beaglebone) * LPC32x0 support (multiuser, frame buffer works with SSD1289 LCD controller. Embedded Artists EA3250 kernel config) This work was a result of a joint effort by many people, including but not limited to: Grzegorz Bernacki (gber@), Aleksander Dutkowski, Ben R. Gray (bgray@), Olivier Houchard (cognet@), Rafal Jaworowski (raj@) and Semihalf team, Tim Kientzle (kientzle@), Jakub Wojciech Klama (jceel@), Ian Lepore (ian@), Warner Losh (imp@), Damjan Marion (dmarion@), Lukasz Plachno, Stanislav Sedov (stas@), Mark Tinguely and Andrew Turner (andrew@). Thanks to all, who contributed by submitting code, testing and giving valuable advice. Open tasks: 1. More hardware bring-ups and more drivers 2. Finish SMP support 3. VFP/NEON support __________________________________________________________________ Google Summer of Code 2012 URL: http://www.freebsd.org/projects/summerofcode.html URL: https://wiki.freebsd.org/SummerOfCode2012 Contact: FreeBSD Summer of Code Administrators <soc-admins at FreeBSD.org> Over the Summer of 2012, FreeBSD were once again granted a place to participate in the Google Summer of Code program. We received a total of 32 project proposals, and were ultimately given 15 slots for university students to work on open source projects mentored by existing FreeBSD developers. We were able to accept a wide spread of proposals, covering both the base system and the ports infrastructure. We had students working on file systems, file integrity checking, and parallelization in the ports collection. Students worked on kernel infrastructure, including one project to support CPU resource limits on users, processes and jails, and one student improving the BSD callout(9) and timer facilities. Two students worked on the ARM platform, widely used in embedded systems and smart phones; one student worked on a significant cleanup and improvements to the Flattened Device Tree implementation code, while the other ported FreeBSD to the OMAP3-based BeagleBoard-xM device. One student worked on improving IPv6 support in userland tools, whilst another worked on BIOS emulation for the BHyVE BSD-licensed hypervisor, new in FreeBSD 10. Other students worked on EFI boot support, userland lock profiling and an automated kernel crash reporting system. Overall, a significant proportion of the code produced has or will be integrated into FreeBSD in one form or another. All of the work is available in our Summer Of Code Subversion repository, and some of the work has already been merged back into the main repositories. FreeBSD is once again grateful to Google for being selected to participate in Summer of Code 2012. __________________________________________________________________ KDE/FreeBSD URL: http://FreeBSD.kde.org URL: http://FreeBSD.kde.org/area51.php Contact: KDE FreeBSD <kde at FreeBSD.org> The KDE/FreeBSD team have continued to improve the experience of KDE software and Qt under FreeBSD. The latest round of improvements include: * Fixes for building Qt with libc++ and C++11 * Fixes for Solid-related crashes * Fix battery detection in battery monitor plasmoid The team has also made many releases and upstreamed many fixes and patches. The latest round of releases include: * KDE SC: 4.9.1 (area51) and 4.8.4 (ports) * Qt: 4.8.3 (area51) * PyQt: 4.9.4 (area51); QScintilla 2.6.2 (area51); SIP: 4.13.3 (area51) * Calligra: 2.4.3, 2.5-RC2, 2.5.0. 2.5.1, 2.5.2 (area51) and 2.4.3, 2.5.0, 2.5.1 (ports) * Amarok: 2.6.0 (area51) * CMake: 2.8.9 (ports) * Digikam (and KIPI-plugins): 2.7.0, 2.8.0, 2.9.0 (area51) and 2.7.0, 2.9.0 (ports) * QtCreator: 2.6.0-beta (area51) * many smaller ports The team is always looking for more testers and porters so please contact us at kde at FreeBSD.org and visit our home page at http://FreeBSD.kde.org. Open tasks: 1. Please see 2012 Q4 Status Report 2. Updating out-of-date ports, see PortScout for a list __________________________________________________________________ Native iSCSI Target Contact: Edward Tomasz Napieral/a <trasz at FreeBSD.org> During the July-September time period, the Native iSCSI Target project was officially started under sponsorship from the FreeBSD Foundation. Before the end of September I've written ctld(8), the userspace part of the target, responsible for handling configuration, accepting incoming connections, performing authentication and iSCSI parameter negotiation, and handing off connections to the kernel. For the time being, I've reused some parts of protocol-handling code from the istgt project; since ctld(8) only handles the Login phase, the code can be rewritten in a much simpler and shorter way in the future. __________________________________________________________________ Parallel rc.d execution URL: https://github.com/buganini/rcexecr URL: https://github.com/kil/rcorder Contact: Kuan-Chung Chiu <buganini at gmail.com> Contact: Kilian <kklimek at uos.de> There are two implementations to make rc.d execution parallel. Compared to Kil's rcorder, rcexecr brings more concurrence and provides more flexibility than older "early_late_divider" mechanism but require more invasive /etc patch. Both implementations have switch to toggle parallel execution. Further modification/integration needs more discussion. Open tasks: 1. Refine /etc/rc.d/* to eliminate unnecessary waiting. __________________________________________________________________ Ports Collection 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 at FreeBSD.org> Contact: Port Management Team <portmgr at FreeBSD.org> The ports tree approaches 24,000 ports, while the PR count still is above 1000. In Q3 we added 2 new committers and took in two commits bit for safe keeping. The Ports Management team had performed multiple -exp runs, verifying how base system updates may affect the ports tree, as well as providing QA runs for major ports updates. Beat Gaetzi took over the role of sending out fail mails, a role that Pav Lucistnik had previously held. Beat also undertook the task of converting the Ports tree from CVS to Subversion. Florent Thoumie stepped down from his role on portmgr, he was instrumental in maintaining the legacy pkg_* code. Open tasks: 1. Most ports PRs are assigned, we now need to focus on testing, committing and closing. __________________________________________________________________ The FreeBSD Core Team Contact: Core Team <core at FreeBSD.org> Along with the change in the Core Team membership, several related roles changed hands. Gabor Pali assumed the role of core secretary from Gavin Atkinson, and David Chisnall replaced Robert Watson as liaison to the FreeBSD Foundation. The Core Team felt there was no longer a need for a formal security team liaison, so that role was retired. In the third quarter, the Core Team granted access for 2 new committers and took 2 commit bits into safekeeping. The Core Team worked with the Port Management Team and Cluster Administrators to set a date to stop providing CVS exports for the ports repository, which is February 28, 2013. In the meantime, the CVS export for 9.1-RELEASE was restored. __________________________________________________________________ The FreeBSD Japanese Documentation Project URL: http://www.FreeBSD.org/ja/ URL: http://www.jp.FreeBSD.org/doc-jp/ Contact: Hiroki Sato <hrs at FreeBSD.org> Contact: Ryusuke Suzuki <ryusuke at FreeBSD.org> Web page (htdocs): Newsflash and some other updates in the English version were translated to keep them up-to-date. Especially "security incident on FreeBSD infrastructure" was translated and published in a timely manner. FreeBSD Handbook: Big update in the "advanced-networking". With this update, merging translation results from the handbook in the local repository of Japanese documentation project into the main repository was completed. This chapter is still outdated and needs more work. The other sections have also constantly been updated. Especially, new subsection "Using pkgng for Binary Package Management" was added to "ports" section and "Using subversion" subsection was added to "mirrors" section. Article: Some progress was made in "Writing FreeBSD Problem Reports" and "Writing FreeBSD Problem Reports" articles. Open tasks: 1. Further translation work of outdated documents in the ja_JP.eucJP subtree. __________________________________________________________________