From 8b922ae8e27af94bf718cab873d6821d0d3f2d2f Mon Sep 17 00:00:00 2001
From: Max Laier After a long, exhausting, yet very productive third quarter of 2005
+ FreeBSD 6.0 has been released. Many activities were put into the
+ background in order to make this release the success it has
+ become. Nontheless, we received a tremendous amount of reports covering
+ various projects that either found their way into FreeBSD 6.0 already
+ or have started to develop in, what is now known as 7-CURRENT. The
+ EuroBSDCon and the Developer Summit in Basel next week will be a good
+ opportunity to help some of the ideas herein to take off. Last round we had the pleasure to introduce our accepted Google
+ Summer of Code projects. Now, that the summer is over, we are even
+ more pleased to include reports about the outcome of these projects.
+ Some already found their way into the tree or the general public
+ otherwise - most ocularly the new webdesign. Unfortunately, this publication has been delayed for various
+ reasons - the before mentioned release of 6.0 being one of them.
+ Thus, some of the reports might no longer be as up to date as they
+ were when we received them and we encourage you - even more this time
+ - to also visit the weblinks to get more recent information. Thanks again to everyone who submitted reports, and our sincere
+ apologies for running late this time. A new netgraph-to-zaptel module that allows to use E1(ISDN PRI)
+ WAN adapters as an interface card for open source PBX - Asterisk.
+ All you need is an adapter that able to work in raw phone mode
+ (like Cronyx Tau-PCI/2E1), eq. without HDLC-like framing and that
+ has support of Netgraph. We are in the process of recruiting new members for the program
+ committee. If you would like to volunteer before you are recruited,
+ please contact me. The dates for 2006 have been announced: May 12-13, 2006. The
+ venue will be the same as previous events: University of Ottawa.
+ The prices will not increase from 2005. Please start thinking about your papers. The call for papers
+ will go out soon. A great deal of work has gone into the Ports Collection since
+ the last report in April, much of it behind-the-scenes. As this report was being written, the 6.0 release was ongoing.
+ Due to the amount of time that it has taken to get 6.0 through the
+ beta process and into RC, we have been in ports freeze or slush for
+ more than two months. Unfortunately this has held back needed work
+ on the ports infrastructure. The last major update to bsd.port.mk, in early May, was
+ coordinated by Kirill Ponomarew added a number of new features and
+ closed 15 PRs. Another similar set of changes has been tested and
+ is ready for commit after release. portmgr welcomed two new members to its team: Erwin Lansing (who
+ had previously served as secretary, a role in which he is
+ continuing) and Clement Laforet. Clement is interested in speeding
+ up the adoption of new changes into the infrastructure, an item I'm
+ sure that that everyone can support. He promises to bring some
+ fresh ideas to bear on this, including the revitalization of
+ devel/portmk as a testing ground for new changes to bsd.port.mk in
+ which the larger community can help test changes. The unfetchable distfile survey, which had been non-functional
+ for quite some time, was revitalized by Bill Fenner, with many new
+ pages of analysis added to it. Work is still ongoing. As a result
+ of this analysis, Bill and Mark Linimon eliminated nearly 100 lines
+ of bogus or outdated sites from bsd.sites.mk alone. They are
+ continuing to work through many other sites and ports as successive
+ iterations of the survey reveal more dimensions to the problem. We
+ still need more help from the larger community (see below). Edwin Groothius has instituted a similar but slightly different
+ survey. His program attempts to visit each listed mastersite for
+ each distfile and determine whether or not a newer version might be
+ available. The results are stored in a database. This is helping to
+ automate a function that had been left up to individual maintainers
+ to look through numerous websites to try to find these updates. The
+ survey has been hugely (if not universally) popular. Already,
+ dozens of port updates have been committed as a direct result of
+ this service. In addition, portsmon, which had been down due to a machine
+ change, was moved to portsmon.FreeBSD.org and updated during this
+ time. Many thanks to Erwin Lansing for providing the loan of this
+ machine, and Will Andrews for having provided the loan of the
+ previous incarnation. Both of the above surveys are now generating periodic email to
+ ports maintainers advising them of problems. This is in addition to
+ recurring email from portsmon. The surveys allow individual
+ maintainers to ask to receive no further email. portsmon does not
+ currently have this but it needs to be added. Although we have no
+ doubt the mail can in some cases be annoying (especially given the
+ fact that there will inevitably be some false positives), the fact
+ is that these emails have had a direct impact on the quality on the
+ ports. We ask for patience from the community while each of us
+ continues to fine-tune the algorithms controlling what email is
+ generated. (Because of the number of emails these systems generate,
+ it is impossible to go over every one individually for a sanity
+ check). As a result of bounces from the above email, we have also been
+ resetting maintainers who have become unreachable. Pav Lucistnik has done a great deal of work on the Porter's
+ Handbook, including some much needed reshuffling and cleanup.
+ Expanded sections include Apache and PHP; Configure Scripts;
+ Dealing With Shared Libraries; Dealing With User Configuration
+ Files; Handling Empty Directories; Python; and Ruby. In addition,
+ Edwin Groothius has contributed a section on OPTIONS, and numerous
+ other sections have been improved by good suggestions from various
+ other contributors. A new article, "Maintaining and contributing to the FreeBSD
+ Ports Collection", has been prepared by Sam Lawrance and has been
+ reviewed and is ready for commit. This document attempts to codify
+ the rights and responsibilities of ports maintainers, which until
+ now had merely been "community lore" as discussed on various
+ mailing lists. We continue to add new committers regularly, 8 since the last
+ report. The ports collection now contains over 13,500 ports. This is an
+ increase of over 750 since the last report in April. The project met all the scheduled goals, and following are the
+ new features implemented in libalias:
+
+
+
+
+
+ Fell free to suggest other improvements.
I'm in the process of adding personalized newsfeeds to the + website. For each of your Watch Lists, you will also have a news + feed just for that watch list. Any commit to any port in your watch + list will turn up on your newsfeed. This fantastic new feature is + available now for your RSS pleasure at + the BETA site + + . I've also been doing some work in the area of supporting multiple + platforms and architectures. This will allow FreshPorts to + correctly report that a port is broken, for example, on i386, but + not the other platforms. This feature will take note of BROKEN, + FORBIDDEN, and IGNORE for the following architectures: +
Fuse for FreeBSD is the outcome of my "ssh based networking + filesystem for FreeBSD" SoC project.
+ +The kernel interface for the comprehensive userspace filesystem + API provided by the ( + Fuse project + + ) has been implemented for FreeBSD (6.x and 7.x), under the BSD + license. This has the benefit of opening up the possibility of + porting the rich collection of Fuse based filesystems to + FreeBSD.
+ +Now it's ready for consumption by a broader audience. The + sysutils/fusefs-kmod + + , + sysutils/fusefs-libs + + , + sysutils/fusefs-sshfs + + ports can be expected to be integrated into the FreeBSD ports tree + in the next few days (the ports were created and are maintained by + Anish Mistry, and Simon Barner's careful review also helps a + lot).
+ + +Support for moving and renaming objects in gvinum was completed + at the end of August 2005. All gvinum objects (drives, subdisks, + plexes, and volumes) can be renamed, and subdisks can be moved from + drive to drive. Also, a man page for gvinum was created.
+ + +This summer, we've had the pleasure of having two Google Summer + of Code students hacking on our SNMP monitoring machinery. Victor + worked on implementing the Host Resources, TCP and UDP MIBs in + bsnmpd while Shteryana started on client-side SNMP tools.
+ +With these modules and tools, a FreeBSD installation can be + monitored without having to install any (heavy!) third-party + tools.
+ + +While the modules and the tools currently in Perforce are + generally functional, they still need some tidying up (style(9)) + and testing before they can be committed to CVS.
+ +At the time of this writing, the Hostres MIB is pretty much + commit-ready in Perforce (//depot/user/philip/bsnmp/...), the + other modules and tools live in + //depot/projects/soc2005/bsnmp/... They'll be branched for + tidying up and committing "Real Soon Now"[tm]
+The dependencies to kernel-only datastructures in netstat + (ifnet, etc.) have been removed almost completely (AppleTalk and + IPX still needs work). In order to remove the dependencies, the + debugging features of netstat had to be removed. However, a project + to create a generic, modular 'data structure' examination tool is + ongoing, and the debugging features factor out of netstat have been + migrated to this tool.
+ + +Scott has been working on inserting journalling hooks into the + ufs and ffs filesystem code. Brian has been balancing school and + redesigning various things that were deemed necessary to update + during the end of the actual SoC project.
+ + +pfSense is a m0n0wall derived operating system platform with + radically different goals such as using Packet Filter, FreeBSD 6, + ALTQ for excellent packet queueing and finally an integrated + package management system for extending the environment with new + features.
+ +Work continues to stabilize pfSense in preparation for the + FreeBSD 6 release. Once FreeBSD 6 is released pfSense will enter + the final beta and release candidate phases in preparation for the + 1.0 release.
+ + +In short, launchd can run perfectly fine on FreeBSD, and + combined with launchctl, it can be used to manage daemons through + the launchctl(1) interface. Jobs can be added and managed two ways + as of yet from launchctl(1). Using zarzycki@'s experimental + "submit" command within launchctl(1) or by using my + lame/rudimentary/etc "launcher" format (launchd/launchers/*.launch) + which uses property(3) to parse out three simple, and important + details. The program label, path, and any program flags. Using the + "load" command, one can load the data into launchctl(1) and then + start the processes with the..."start" command. Jobs can be + removed/stopped with the "remove" command. The "limit" command + still throws launchctl(1) into an infinite loop, and yes, I plan on + fixing this.
+ +There are some things that need to be fixed, first off, some + sort of boot time integration, whether as an init-replacement (i.e. + PID 1, a la Mac OS X) or as the first thing started from init, that + kicks all rcng things off. Along with, more importantly, a plist + parser, so we can have full compatibility with Mac OS X's launchd + via Core Foundation.
+ +I'm also trying to get launchd(8) relicensed with the BSD + license, as opposed to the APSL, anybody with tips, or methods for + achieving this goal, contact me at tyler@tamu.edu
+ + +As of 26th July 2005, it is possible to run FreeBSD on your Xbox + with minor patching effort. The framebuffer has initial support; + The USB ports, IDE- and audio controllers are fully supported; the + only part severely lacking now is the lack of support for the + NForce Ethernet controller.
+ +Currently, efforts are focussing on eliminating the XBOX kernel + option and make the port self-detecting; this means the x86 and + xbox kernels will be identical. The goal is to provide native xbox + support in 7-CURRENT.
+ +Futhermore, a porting effort is planned from Linux' GPL-ed + forcedeth.c; not only the Xbox port will benefit from this but also + all NForce motherboard owners. The resulting driver could be + kldload-ed to keep the kernel GPL-free.
+ + +Ggtrace is "GEOM gate tracer", utility to track I/O requests on + a storage device on FreeBSD. It uses the ggate facility of FreeBSD + to attach to a file or device and produces a device that can be + used for any I/O, including hosting filesystems.
+ +I/O requests are presented in the form of a moving histogram + that can be used to discern which parts of the storage device are + used most often. One use of ggtrace is to analyze how filesystems + arrange and access data on storage devices.
+ +The project is working and usable only on the RELENG_6 + branch.
+ +Gjournal provides GEOM-level journaling and COW capabilities to + storage devices. Unfortunately, it cannot be used as a substitute + for filesystem journaling (fsck is still needed when gjournal + device is used to host filesystems). Development has slowed down, + and the existing code needs much more testing. If there is + continued interest in it, I'll probably split the functionalities + into two projects, one handling COW and one handling the + journaling, in order to make the code cleaner.
+ + +The fundraise has been very successful and I want to thank + everyone who has pledged their support and tipped the jar. The full + amount plus a little bit more has been raised in a very short + timeframe. More information on the exact amounts and their sponsors + can be found at the first link.
+ +Due to the extended (and unexpected long) code freeze for the + release process of FreeBSD 6.0 (which is very high quality btw.) + I've decided to push back on working full time until the freeze is + lifted. So far I've done some work in the mbuf handling area and + some other netinet cleanups in my local repository.
+ +Once FreeBSD 6.0 is released I resume my work on this project + and many changes and optimizations, as described in the first and + second link, will go into into FreeBSD-current.
+ +The TODO list for volunteers (see the last report for more) is + now under review by some doc@ people.
+ +As of September 27, the old bridge(4) implementation has been + removed from HEAD and will not be part of FreeBSD 7 and later. + FreeBSD 6 will serve as transition period. The full functional + replacement if_bridge(4) is now available in FreeBSD 5 (not yet + part of 5.4 however), FreeBSD 6 and -CURRENT. Any problems should + be reported to Andrew Thompson, who is maintaining if_bridge in + FreeBSD.
+ + +Due to some good recent commit and cleanup work by both + Alexander Leidinger and Craig Rodrigues, the number of base-system + PRs has stabilized somewhat. The number of incoming ports PRs + continues to accelerate but except during freezes the ports + committers have been battling to commit them as quickly as they + come in. (The graphs very clearly show where the freezes are.) The + net result is that we are holding our own but it takes a great deal + of (mostly unheralded) effort to do so. Thanks are due to a large + number of individuals who are doing this ongoing work.
+ +There is ongoing work to ask committers who have had PRs + assigned to them for a significant period of time, whether they are + still interested in pursuing them or whether they should instead be + reassigned to the pool. This is being done to try to get as many + PRs 'unstuck' as possible to try to help improve our users' + perceptions of the project.
+ +As an experiment, Mark Linimon has been adding 'tags' to many of + the kern and bin PRs, including such things as '[nfs]', '[if_em]', + and so forth. The idea is to try allow searching and browsing based + on these terms so that committers will find it easier to work with + our current PR database. At the moment this is in the experimental + stage, although it is possible for committers to work with them + from the command line on systems with a database installed via + query-pr(1).
+ +This project is an attempt to clean up handling of network + interfaces in order to allow interfaces to be removed reliably. + Current problems include panics if Dummynet is delaying packets to + an interface when it is removed.
+ +I have removed struct ifnet's and layer two common structures + from device driver structures. This will eventually allow them to + be managed properly upon device removal. This code has been + committed and will appear in 6.0. Popular drivers have continued to + be fixed. jhb's locking work has identified and corrected many + issues. rwatson has also committed cleanups to the multicast code + which fix some issues in this area.
+ +The OpenBSD rewrite of dhclient has been imported, replacing the + ISC dhclient. The OpenBSD client provides better support for + roaming on wireless networks and a simpler model of operation. + Instead of a single dhclient process per system, there is on per + network interface. This instance automatically goes away in the + even of link loss and is restarted via devd when link is + reacquired. To support this change, many aspects of the network + interface configuration process were overhauled.
+ +The current code works well in most circumstances, but more + testing and polishing is needed. A few bug are being tracked, but + most of them are edge cases.
+ +Work on further interface configuration enhancements is underway + for FreeBSD 7.0.
+ +The fourth European BSD conference in Basel, Switzerland is a + great opportunity to present new ideas to the community and to meet + some of the developers behind the different BSDs.
+ +The two day conference program (Nov 26 and 27) will be + complemented by a tutorial day preceeding the conference (Nov + 25).
+ +The FreeBSD developers will hold a DevSummit on Nov 24 and 25, + so several developers will be at the conference.
+ +The program is available for + + Saturday + + and + + Sunday + + providing very interesting FreeBSD talks and topics.
+ +Today more than 160 people from 25 countries have registered for + the conference.
+ +Since our last status report, we have added a new member to the + team: Jean-Yves Lefort (jylefort). We have even spiced up our + contact + page + + with pictures of ourselves and in some cases, a cute hippo. And our + very own Adam Weinberger (adamw) has been made a GNOME Project + committer heading up the Canadian English translation project.
+ +We have finished the port GNOME 2.12 to FreeBSD. However, due to + the ports slush in preparation for 6.0-RELEASE, the update has not + been merged into the official ports tree. If people are eager to + try out GNOME 2.12 while waiting for the ports tree to fully thaw, + we have + + instructions + + on our website. GNOME 2.12 will be the first FreeBSD GNOME release + not + + to include support for FreeBSD 4.X. While 4.X is still a very + viable release for servers, it lacks many of the features needed + for a Desktop Environment such as GNOME. We do plan to continue + support of the GNOME development platform on 4.X, however. This + includes Glib, GTK+, libgnome, etc. A new porting component will be + introduced with GNOME 2.12 called, ``ltverhack''. This will help + with future upgrades by keeping shared library versions from + needlessly changing.
+ +The FreeBSD GNOME Project is also committed to providing our + users with a solid package experience. To that end, we have + extended our + + Tinderbox + + to build amd64 packages for all supported versions of FreeBSD for + both the production and development releases of the GNOME Desktop. + The development packages are even built with debugging symbols to + better help with reporting problems.
+ + +The project has been following the 6.0 release schedule by + producing BETA-* builds and is now up to the RC1 build.
+ +Dario Freni successfully built a FreeSBIE/ppc iso for his + Summer-of-code project.
+ +This iSCSI kernel module and its companion control program, are + still under development, but the main parts seem to be working. A + second round of public tests has started.
+ + +The current version of the test suite took form in the beginning + of this year after discussions with Jeff Roberson, during a long + period of testing Jeff's VFS SMP work.
+ +At that time Daniel Seuffert donated a Tyan Thunder 7500 M/B + with CPUs, RAM and coolers so I was able to do some serious SMP + testing.
+ +Mid July Murray Stokely suggested adding a link from the 6.0 + todo web page to the Stress Test Status Page. At that time there + were a few reoccurring panics that made it hard to test the kernel + for other problems. Numerous people put a lot of hard work in + fixing the panics and livelocks found during the next months. At + the same time others stepped in and ran the test suite on their own + hardware, thus increasing the focus on kernel stability.
+ +The status for 6.0 is that I do not any longer get panics with + the test suite.
+ +The nsswitch / caching daemon project was developed within the + Google's Summer Of Code program. Almost all goals of the project + were achieved. Thanks to Brooks Davis and Jacques Vidrine, who were + my mentors and greatly helped me.
+ +Nsswitch subsystem was extended to support new sources + (services, protocols, rpc, openssh and GT4). The testing of the + Globus Grid Toolkit 4 patch (which adds support for nsswitch to + GT4) is still to be done. For nsswitch to support caching, the + caching daemon was implemented on top of the caching library, which + was also developed during the SoC. The current version of the + daemon uses simple nscd-like configuration file and seems to be + stable. To complete the SoC project, the experimental version of + libc with in-process caching enabled was made. It's benchmarking + will be done in the nearest future.
+ +There were some requests for caching daemon to be able to act + like NSCD (to perform the actual nsswitch lookups by itself), so it + was modified to support this feature. But current implementation + has some restrictions and requires a lot of testing. Right now the + final polishing is being made to the project's sources, so that + they could be added to the CURRENT
+ + +The new website has gone live! Thanks to Emily Boyd for all her + hard work. We still have a lot of work to do to integrate + suggestions that have been made by users since we went live. The + new CSS design makes it much easier to rapidly change the look and + feel of the site, so it is easy to experiment. We're still looking + for more HTML/CSS designers to help us improve the site.
+ +Due to an email snafu, the June report was not submitted, so + this report covers since the last 6 months.
+ +Summary: The 16-bit part of NEWCARD has been greatly enhanced. + In addition, power control has become interrupt driven. Some + drivers make use of the new functionality.
+ +The pccard layer now exports the CIS for each device that is + present, even if there's no driver for the card or parts of the + card.
+ +The power up and reset sequence is now interrupt driven. This + has eliminated many of the long pauses that the system used to + experience after a card insertion. We can not play glitch-free + audio while inserting or removing a card.
+ +A number of additional cards are recognized by PC Card. In + addition, drivers now can read the CIS for more information about + the card. Drivers have been enhanced to read the CIS for MAC + addresses and the like where appropriate.
+ +The ed driver now attaches the mii bus of the AX88190 and + AX88790 fast ethernet PC Card chips. This allows better status + reporting and increased functionality for PHY chips that need some + help. The ed driver also supports the Tamarack TC5299J chipset + (including attaching its MII bus) now, the only open source OS that + does so (TC5299J cards will work with other open source OS, but + they won't report their status or attach a mii bus).
+ +A number of bugs have been fixed in the pccard or cardbus + drivers. Most of these changes have been merged into the + forthcoming 6.0. Others will be merged after the release.
+ + +Futher improvements have been made to pfsync to make it behave + well in SMP scenarios. All bug fixes have been MFCed to RELENG_5 + where applicable. A couple of bugfixes and feature improvements + have been imported via OpenBSD (originally suggested by FreeBSD + users).
+ +As described in the last report, FreeBSD 6.0 and future RELENG_6 + releases will be based on OpenBSD 3.7. Newer code will be imported + as soon as 6.0 has settled down a bit.
+ +By the end of August I managed to modify the release building + process to build a live CD that loads the front and backends. It + could install all the distfiles, install the ports tree and had + minimal support to install and uninstall packages.
+ +Since the end of the Summer of Code I have worked to integrate + the new Lua backend. This has been successful, with it now past the + point of the BSDINSTALLER-BETA-1 release. It can install the + distfiles but not the ports tree or packages yet.
+ +This projects implements a kernel module (hwpmc(4)), an + application programming interface (pmc(3)) and a few simple + applications (pmcstat(8) and pmccontrol(8)) for measuring system + performance using event monitoring hardware in modern CPUs.
+ +The last three months have been spent in bug fixing and in + tweaking the code. A few more minor features and loose ends remain + to be taken care of. Once these are done, I hope to get started on + a graphical performance analyser.
+ +The FreeBSD kernel is powerful, but it still lacks some realtime + POSIX facilities, for example, sigqueue, current I am working on + it, most code is ready, and being tested.
+ + +New MIBs are implmented for the BSNMP agent:
+ +During the "Summer of Code" I worked on csup (a rewrite of CVSup + in C). It already supported checkout-mode, so my task was to + implement support for cvs-mode. The biggest part of the project was + to implement support for rcs-files. As "byproducts" I also wrote + the necessary code to create nodes/hardlinks and to update files + using the rsync-algorithm. For what I know, the code works fine, + but errorhandling is practically inexistent.
+ + +Recently a lot of fixes, specially in handling format / rate + conversion and general stability got committed to -current. This + include fixes for most LOR's and new features (software volume + handling for soundcards without volume handling in hardware and the + possibility to switch to spdif).
+ +A lot of effort was spend by Ariff (and other people) to come up + with those improvements. For this reason Ariff is "punished" with a + commit bit, so he is able to commit further improvements on his + own.
+ +This work is not integrated into 6.0-RELEASE because of some + lose ends (see 'sndctl' below).
+ +You can help by looking at + + sound related PR's in GNATS + + and making follow-up's which tell us if a problem still persists or + if a PR can be closed because the bug is fixed. Also feel free to + submit patches for anything on the TODO list below.
+ + +The Ports Tinderbox is a packaged system for building FreeBSD + ports in a clean environment. It can be used to test new ports, + updates to existing ports, or simply as a package building engine. + Tinderbox uses the same underlying code that the official FreeBSD + package build cluster, pointyhat, uses. So if a port builds under + Tinderbox, it is guaranteed to build on pointyhat.
+ +More an more FreeBSD committers and ports maintainers are + starting to use Tinderbox. We just released version 2.1.0 which + added much-requested PostgreSQL support as well as fixed many bugs. + We expect a 2.1.1 release soon with some additional bug fixes.
+ +With the 2.1.0 release of Tinderbox, we have branched the code + base so that we can focus on larger features in our HEAD branch + while still producing stable releases on a more frequent basis. The + biggest new feature planned for Tinderbox 3.0 is clustering support + which is being spearheaded by Ade Lovett (ade).
+ + +After a long, exhausting, yet very productive third quarter of 2005 + FreeBSD 6.0 has been released. Many activities were put into the + background in order to make this release the success it has + become.
+ +Nontheless, we received a tremendous amount of reports covering + various projects that either found their way into FreeBSD 6.0 already + or have started to develop in, what is now known as 7-CURRENT. The + EuroBSDCon and the Developer Summit in Basel next week will be a good + opportunity to help some of the ideas herein to take off.
+ +Last round we had the pleasure to introduce our accepted Google + Summer of Code projects. Now, that the summer is over, we are even + more pleased to include reports about the outcome of these projects. + Some already found their way into the tree or the general public + otherwise - most ocularly the new webdesign.
+ +Unfortunately, this publication has been delayed for various + reasons - the before mentioned release of 6.0 being one of them. + Thus, some of the reports might no longer be as up to date as they + were when we received them and we encourage you - even more this time + - to also visit the weblinks to get more recent information.
+ +Thanks again to everyone who submitted reports, and our sincere + apologies for running late this time.
+A new netgraph-to-zaptel module that allows to use E1(ISDN PRI) + WAN adapters as an interface card for open source PBX - Asterisk. + All you need is an adapter that able to work in raw phone mode + (like Cronyx Tau-PCI/2E1), eq. without HDLC-like framing and that + has support of Netgraph.
+ +We are in the process of recruiting new members for the program + committee. If you would like to volunteer before you are recruited, + please contact me.
+ +The dates for 2006 have been announced: May 12-13, 2006. The + venue will be the same as previous events: University of Ottawa. + The prices will not increase from 2005.
+ +Please start thinking about your papers. The call for papers + will go out soon.
+ +A great deal of work has gone into the Ports Collection since + the last report in April, much of it behind-the-scenes.
+ +As this report was being written, the 6.0 release was ongoing. + Due to the amount of time that it has taken to get 6.0 through the + beta process and into RC, we have been in ports freeze or slush for + more than two months. Unfortunately this has held back needed work + on the ports infrastructure.
+ +The last major update to bsd.port.mk, in early May, was + coordinated by Kirill Ponomarew added a number of new features and + closed 15 PRs. Another similar set of changes has been tested and + is ready for commit after release.
+ +portmgr welcomed two new members to its team: Erwin Lansing (who + had previously served as secretary, a role in which he is + continuing) and Clement Laforet. Clement is interested in speeding + up the adoption of new changes into the infrastructure, an item I'm + sure that that everyone can support. He promises to bring some + fresh ideas to bear on this, including the revitalization of + devel/portmk as a testing ground for new changes to bsd.port.mk in + which the larger community can help test changes.
+ +The unfetchable distfile survey, which had been non-functional + for quite some time, was revitalized by Bill Fenner, with many new + pages of analysis added to it. Work is still ongoing. As a result + of this analysis, Bill and Mark Linimon eliminated nearly 100 lines + of bogus or outdated sites from bsd.sites.mk alone. They are + continuing to work through many other sites and ports as successive + iterations of the survey reveal more dimensions to the problem. We + still need more help from the larger community (see below).
+ +Edwin Groothius has instituted a similar but slightly different + survey. His program attempts to visit each listed mastersite for + each distfile and determine whether or not a newer version might be + available. The results are stored in a database. This is helping to + automate a function that had been left up to individual maintainers + to look through numerous websites to try to find these updates. The + survey has been hugely (if not universally) popular. Already, + dozens of port updates have been committed as a direct result of + this service.
+ +In addition, portsmon, which had been down due to a machine + change, was moved to portsmon.FreeBSD.org and updated during this + time. Many thanks to Erwin Lansing for providing the loan of this + machine, and Will Andrews for having provided the loan of the + previous incarnation.
+ +Both of the above surveys are now generating periodic email to + ports maintainers advising them of problems. This is in addition to + recurring email from portsmon. The surveys allow individual + maintainers to ask to receive no further email. portsmon does not + currently have this but it needs to be added. Although we have no + doubt the mail can in some cases be annoying (especially given the + fact that there will inevitably be some false positives), the fact + is that these emails have had a direct impact on the quality on the + ports. We ask for patience from the community while each of us + continues to fine-tune the algorithms controlling what email is + generated. (Because of the number of emails these systems generate, + it is impossible to go over every one individually for a sanity + check).
+ +As a result of bounces from the above email, we have also been + resetting maintainers who have become unreachable.
+ +Pav Lucistnik has done a great deal of work on the Porter's + Handbook, including some much needed reshuffling and cleanup. + Expanded sections include Apache and PHP; Configure Scripts; + Dealing With Shared Libraries; Dealing With User Configuration + Files; Handling Empty Directories; Python; and Ruby. In addition, + Edwin Groothius has contributed a section on OPTIONS, and numerous + other sections have been improved by good suggestions from various + other contributors.
+ +A new article, "Maintaining and contributing to the FreeBSD + Ports Collection", has been prepared by Sam Lawrance and has been + reviewed and is ready for commit. This document attempts to codify + the rights and responsibilities of ports maintainers, which until + now had merely been "community lore" as discussed on various + mailing lists.
+ +We continue to add new committers regularly, 8 since the last + report.
+ +The ports collection now contains over 13,500 ports. This is an + increase of over 750 since the last report in April.
+ + +The project met all the scheduled goals, and following are the + new features implemented in libalias: +
I'm in the process of adding personalized newsfeeds to the + website. For each of your Watch Lists, you will also have a news + feed just for that watch list. Any commit to any port in your watch + list will turn up on your newsfeed. This fantastic new feature is + available now for your RSS pleasure at + the BETA site + + . I've also been doing some work in the area of supporting multiple + platforms and architectures. This will allow FreshPorts to + correctly report that a port is broken, for example, on i386, but + not the other platforms. This feature will take note of BROKEN, + FORBIDDEN, and IGNORE for the following architectures: +
Fuse for FreeBSD is the outcome of my "ssh based networking + filesystem for FreeBSD" SoC project.
+ +The kernel interface for the comprehensive userspace filesystem + API provided by the ( + Fuse project + + ) has been implemented for FreeBSD (6.x and 7.x), under the BSD + license. This has the benefit of opening up the possibility of + porting the rich collection of Fuse based filesystems to + FreeBSD.
+ +Now it's ready for consumption by a broader audience. The + sysutils/fusefs-kmod + + , + sysutils/fusefs-libs + + , + sysutils/fusefs-sshfs + + ports can be expected to be integrated into the FreeBSD ports tree + in the next few days (the ports were created and are maintained by + Anish Mistry, and Simon Barner's careful review also helps a + lot).
+ + +Support for moving and renaming objects in gvinum was completed + at the end of August 2005. All gvinum objects (drives, subdisks, + plexes, and volumes) can be renamed, and subdisks can be moved from + drive to drive. Also, a man page for gvinum was created.
+ + +This summer, we've had the pleasure of having two Google Summer + of Code students hacking on our SNMP monitoring machinery. Victor + worked on implementing the Host Resources, TCP and UDP MIBs in + bsnmpd while Shteryana started on client-side SNMP tools.
+ +With these modules and tools, a FreeBSD installation can be + monitored without having to install any (heavy!) third-party + tools.
+ + +While the modules and the tools currently in Perforce are + generally functional, they still need some tidying up (style(9)) + and testing before they can be committed to CVS.
+ +At the time of this writing, the Hostres MIB is pretty much + commit-ready in Perforce (//depot/user/philip/bsnmp/...), the + other modules and tools live in + //depot/projects/soc2005/bsnmp/... They'll be branched for + tidying up and committing "Real Soon Now"[tm]
+The dependencies to kernel-only datastructures in netstat + (ifnet, etc.) have been removed almost completely (AppleTalk and + IPX still needs work). In order to remove the dependencies, the + debugging features of netstat had to be removed. However, a project + to create a generic, modular 'data structure' examination tool is + ongoing, and the debugging features factor out of netstat have been + migrated to this tool.
+ + +Scott has been working on inserting journalling hooks into the + ufs and ffs filesystem code. Brian has been balancing school and + redesigning various things that were deemed necessary to update + during the end of the actual SoC project.
+ + +pfSense is a m0n0wall derived operating system platform with + radically different goals such as using Packet Filter, FreeBSD 6, + ALTQ for excellent packet queueing and finally an integrated + package management system for extending the environment with new + features.
+ +Work continues to stabilize pfSense in preparation for the + FreeBSD 6 release. Once FreeBSD 6 is released pfSense will enter + the final beta and release candidate phases in preparation for the + 1.0 release.
+ + +In short, launchd can run perfectly fine on FreeBSD, and + combined with launchctl, it can be used to manage daemons through + the launchctl(1) interface. Jobs can be added and managed two ways + as of yet from launchctl(1). Using zarzycki@'s experimental + "submit" command within launchctl(1) or by using my + lame/rudimentary/etc "launcher" format (launchd/launchers/*.launch) + which uses property(3) to parse out three simple, and important + details. The program label, path, and any program flags. Using the + "load" command, one can load the data into launchctl(1) and then + start the processes with the..."start" command. Jobs can be + removed/stopped with the "remove" command. The "limit" command + still throws launchctl(1) into an infinite loop, and yes, I plan on + fixing this.
+ +There are some things that need to be fixed, first off, some + sort of boot time integration, whether as an init-replacement (i.e. + PID 1, a la Mac OS X) or as the first thing started from init, that + kicks all rcng things off. Along with, more importantly, a plist + parser, so we can have full compatibility with Mac OS X's launchd + via Core Foundation.
+ +I'm also trying to get launchd(8) relicensed with the BSD + license, as opposed to the APSL, anybody with tips, or methods for + achieving this goal, contact me at tyler@tamu.edu
+ + +As of 26th July 2005, it is possible to run FreeBSD on your Xbox + with minor patching effort. The framebuffer has initial support; + The USB ports, IDE- and audio controllers are fully supported; the + only part severely lacking now is the lack of support for the + NForce Ethernet controller.
+ +Currently, efforts are focussing on eliminating the XBOX kernel + option and make the port self-detecting; this means the x86 and + xbox kernels will be identical. The goal is to provide native xbox + support in 7-CURRENT.
+ +Futhermore, a porting effort is planned from Linux' GPL-ed + forcedeth.c; not only the Xbox port will benefit from this but also + all NForce motherboard owners. The resulting driver could be + kldload-ed to keep the kernel GPL-free.
+ + +Ggtrace is "GEOM gate tracer", utility to track I/O requests on + a storage device on FreeBSD. It uses the ggate facility of FreeBSD + to attach to a file or device and produces a device that can be + used for any I/O, including hosting filesystems.
+ +I/O requests are presented in the form of a moving histogram + that can be used to discern which parts of the storage device are + used most often. One use of ggtrace is to analyze how filesystems + arrange and access data on storage devices.
+ +The project is working and usable only on the RELENG_6 + branch.
+ +Gjournal provides GEOM-level journaling and COW capabilities to + storage devices. Unfortunately, it cannot be used as a substitute + for filesystem journaling (fsck is still needed when gjournal + device is used to host filesystems). Development has slowed down, + and the existing code needs much more testing. If there is + continued interest in it, I'll probably split the functionalities + into two projects, one handling COW and one handling the + journaling, in order to make the code cleaner.
+ + +The fundraise has been very successful and I want to thank + everyone who has pledged their support and tipped the jar. The full + amount plus a little bit more has been raised in a very short + timeframe. More information on the exact amounts and their sponsors + can be found at the first link.
+ +Due to the extended (and unexpected long) code freeze for the + release process of FreeBSD 6.0 (which is very high quality btw.) + I've decided to push back on working full time until the freeze is + lifted. So far I've done some work in the mbuf handling area and + some other netinet cleanups in my local repository.
+ +Once FreeBSD 6.0 is released I resume my work on this project + and many changes and optimizations, as described in the first and + second link, will go into into FreeBSD-current.
+ +The TODO list for volunteers (see the last report for more) is + now under review by some doc@ people.
+ +As of September 27, the old bridge(4) implementation has been + removed from HEAD and will not be part of FreeBSD 7 and later. + FreeBSD 6 will serve as transition period. The full functional + replacement if_bridge(4) is now available in FreeBSD 5 (not yet + part of 5.4 however), FreeBSD 6 and -CURRENT. Any problems should + be reported to Andrew Thompson, who is maintaining if_bridge in + FreeBSD.
+ + +Due to some good recent commit and cleanup work by both + Alexander Leidinger and Craig Rodrigues, the number of base-system + PRs has stabilized somewhat. The number of incoming ports PRs + continues to accelerate but except during freezes the ports + committers have been battling to commit them as quickly as they + come in. (The graphs very clearly show where the freezes are.) The + net result is that we are holding our own but it takes a great deal + of (mostly unheralded) effort to do so. Thanks are due to a large + number of individuals who are doing this ongoing work.
+ +There is ongoing work to ask committers who have had PRs + assigned to them for a significant period of time, whether they are + still interested in pursuing them or whether they should instead be + reassigned to the pool. This is being done to try to get as many + PRs 'unstuck' as possible to try to help improve our users' + perceptions of the project.
+ +As an experiment, Mark Linimon has been adding 'tags' to many of + the kern and bin PRs, including such things as '[nfs]', '[if_em]', + and so forth. The idea is to try allow searching and browsing based + on these terms so that committers will find it easier to work with + our current PR database. At the moment this is in the experimental + stage, although it is possible for committers to work with them + from the command line on systems with a database installed via + query-pr(1).
+ +This project is an attempt to clean up handling of network + interfaces in order to allow interfaces to be removed reliably. + Current problems include panics if Dummynet is delaying packets to + an interface when it is removed.
+ +I have removed struct ifnet's and layer two common structures + from device driver structures. This will eventually allow them to + be managed properly upon device removal. This code has been + committed and will appear in 6.0. Popular drivers have continued to + be fixed. jhb's locking work has identified and corrected many + issues. rwatson has also committed cleanups to the multicast code + which fix some issues in this area.
+ +The OpenBSD rewrite of dhclient has been imported, replacing the + ISC dhclient. The OpenBSD client provides better support for + roaming on wireless networks and a simpler model of operation. + Instead of a single dhclient process per system, there is on per + network interface. This instance automatically goes away in the + even of link loss and is restarted via devd when link is + reacquired. To support this change, many aspects of the network + interface configuration process were overhauled.
+ +The current code works well in most circumstances, but more + testing and polishing is needed. A few bug are being tracked, but + most of them are edge cases.
+ +Work on further interface configuration enhancements is underway + for FreeBSD 7.0.
+ +The fourth European BSD conference in Basel, Switzerland is a + great opportunity to present new ideas to the community and to meet + some of the developers behind the different BSDs.
+ +The two day conference program (Nov 26 and 27) will be + complemented by a tutorial day preceeding the conference (Nov + 25).
+ +The FreeBSD developers will hold a DevSummit on Nov 24 and 25, + so several developers will be at the conference.
+ +The program is available for + + Saturday + + and + + Sunday + + providing very interesting FreeBSD talks and topics.
+ +Today more than 160 people from 25 countries have registered for + the conference.
+ +Since our last status report, we have added a new member to the + team: Jean-Yves Lefort (jylefort). We have even spiced up our + contact + page + + with pictures of ourselves and in some cases, a cute hippo. And our + very own Adam Weinberger (adamw) has been made a GNOME Project + committer heading up the Canadian English translation project.
+ +We have finished the port GNOME 2.12 to FreeBSD. However, due to + the ports slush in preparation for 6.0-RELEASE, the update has not + been merged into the official ports tree. If people are eager to + try out GNOME 2.12 while waiting for the ports tree to fully thaw, + we have + + instructions + + on our website. GNOME 2.12 will be the first FreeBSD GNOME release + not + + to include support for FreeBSD 4.X. While 4.X is still a very + viable release for servers, it lacks many of the features needed + for a Desktop Environment such as GNOME. We do plan to continue + support of the GNOME development platform on 4.X, however. This + includes Glib, GTK+, libgnome, etc. A new porting component will be + introduced with GNOME 2.12 called, ``ltverhack''. This will help + with future upgrades by keeping shared library versions from + needlessly changing.
+ +The FreeBSD GNOME Project is also committed to providing our + users with a solid package experience. To that end, we have + extended our + + Tinderbox + + to build amd64 packages for all supported versions of FreeBSD for + both the production and development releases of the GNOME Desktop. + The development packages are even built with debugging symbols to + better help with reporting problems.
+ + +The project has been following the 6.0 release schedule by + producing BETA-* builds and is now up to the RC1 build.
+ +Dario Freni successfully built a FreeSBIE/ppc iso for his + Summer-of-code project.
+ +This iSCSI kernel module and its companion control program, are + still under development, but the main parts seem to be working. A + second round of public tests has started.
+ + +The current version of the test suite took form in the beginning + of this year after discussions with Jeff Roberson, during a long + period of testing Jeff's VFS SMP work.
+ +At that time Daniel Seuffert donated a Tyan Thunder 7500 M/B + with CPUs, RAM and coolers so I was able to do some serious SMP + testing.
+ +Mid July Murray Stokely suggested adding a link from the 6.0 + todo web page to the Stress Test Status Page. At that time there + were a few reoccurring panics that made it hard to test the kernel + for other problems. Numerous people put a lot of hard work in + fixing the panics and livelocks found during the next months. At + the same time others stepped in and ran the test suite on their own + hardware, thus increasing the focus on kernel stability.
+ +The status for 6.0 is that I do not any longer get panics with + the test suite.
+ +The nsswitch / caching daemon project was developed within the + Google's Summer Of Code program. Almost all goals of the project + were achieved. Thanks to Brooks Davis and Jacques Vidrine, who were + my mentors and greatly helped me.
+ +Nsswitch subsystem was extended to support new sources + (services, protocols, rpc, openssh and GT4). The testing of the + Globus Grid Toolkit 4 patch (which adds support for nsswitch to + GT4) is still to be done. For nsswitch to support caching, the + caching daemon was implemented on top of the caching library, which + was also developed during the SoC. The current version of the + daemon uses simple nscd-like configuration file and seems to be + stable. To complete the SoC project, the experimental version of + libc with in-process caching enabled was made. It's benchmarking + will be done in the nearest future.
+ +There were some requests for caching daemon to be able to act + like NSCD (to perform the actual nsswitch lookups by itself), so it + was modified to support this feature. But current implementation + has some restrictions and requires a lot of testing. Right now the + final polishing is being made to the project's sources, so that + they could be added to the CURRENT
+ + +The new website has gone live! Thanks to Emily Boyd for all her + hard work. We still have a lot of work to do to integrate + suggestions that have been made by users since we went live. The + new CSS design makes it much easier to rapidly change the look and + feel of the site, so it is easy to experiment. We're still looking + for more HTML/CSS designers to help us improve the site.
+ +Due to an email snafu, the June report was not submitted, so + this report covers since the last 6 months.
+ +Summary: The 16-bit part of NEWCARD has been greatly enhanced. + In addition, power control has become interrupt driven. Some + drivers make use of the new functionality.
+ +The pccard layer now exports the CIS for each device that is + present, even if there's no driver for the card or parts of the + card.
+ +The power up and reset sequence is now interrupt driven. This + has eliminated many of the long pauses that the system used to + experience after a card insertion. We can not play glitch-free + audio while inserting or removing a card.
+ +A number of additional cards are recognized by PC Card. In + addition, drivers now can read the CIS for more information about + the card. Drivers have been enhanced to read the CIS for MAC + addresses and the like where appropriate.
+ +The ed driver now attaches the mii bus of the AX88190 and + AX88790 fast ethernet PC Card chips. This allows better status + reporting and increased functionality for PHY chips that need some + help. The ed driver also supports the Tamarack TC5299J chipset + (including attaching its MII bus) now, the only open source OS that + does so (TC5299J cards will work with other open source OS, but + they won't report their status or attach a mii bus).
+ +A number of bugs have been fixed in the pccard or cardbus + drivers. Most of these changes have been merged into the + forthcoming 6.0. Others will be merged after the release.
+ + +Futher improvements have been made to pfsync to make it behave + well in SMP scenarios. All bug fixes have been MFCed to RELENG_5 + where applicable. A couple of bugfixes and feature improvements + have been imported via OpenBSD (originally suggested by FreeBSD + users).
+ +As described in the last report, FreeBSD 6.0 and future RELENG_6 + releases will be based on OpenBSD 3.7. Newer code will be imported + as soon as 6.0 has settled down a bit.
+ +By the end of August I managed to modify the release building + process to build a live CD that loads the front and backends. It + could install all the distfiles, install the ports tree and had + minimal support to install and uninstall packages.
+ +Since the end of the Summer of Code I have worked to integrate + the new Lua backend. This has been successful, with it now past the + point of the BSDINSTALLER-BETA-1 release. It can install the + distfiles but not the ports tree or packages yet.
+ +This projects implements a kernel module (hwpmc(4)), an + application programming interface (pmc(3)) and a few simple + applications (pmcstat(8) and pmccontrol(8)) for measuring system + performance using event monitoring hardware in modern CPUs.
+ +The last three months have been spent in bug fixing and in + tweaking the code. A few more minor features and loose ends remain + to be taken care of. Once these are done, I hope to get started on + a graphical performance analyser.
+ +The FreeBSD kernel is powerful, but it still lacks some realtime + POSIX facilities, for example, sigqueue, current I am working on + it, most code is ready, and being tested.
+ + +New MIBs are implmented for the BSNMP agent:
+ +During the "Summer of Code" I worked on csup (a rewrite of CVSup + in C). It already supported checkout-mode, so my task was to + implement support for cvs-mode. The biggest part of the project was + to implement support for rcs-files. As "byproducts" I also wrote + the necessary code to create nodes/hardlinks and to update files + using the rsync-algorithm. For what I know, the code works fine, + but errorhandling is practically inexistent.
+ + +Recently a lot of fixes, specially in handling format / rate + conversion and general stability got committed to -current. This + include fixes for most LOR's and new features (software volume + handling for soundcards without volume handling in hardware and the + possibility to switch to spdif).
+ +A lot of effort was spend by Ariff (and other people) to come up + with those improvements. For this reason Ariff is "punished" with a + commit bit, so he is able to commit further improvements on his + own.
+ +This work is not integrated into 6.0-RELEASE because of some + lose ends (see 'sndctl' below).
+ +You can help by looking at + + sound related PR's in GNATS + + and making follow-up's which tell us if a problem still persists or + if a PR can be closed because the bug is fixed. Also feel free to + submit patches for anything on the TODO list below.
+ + +The Ports Tinderbox is a packaged system for building FreeBSD + ports in a clean environment. It can be used to test new ports, + updates to existing ports, or simply as a package building engine. + Tinderbox uses the same underlying code that the official FreeBSD + package build cluster, pointyhat, uses. So if a port builds under + Tinderbox, it is guaranteed to build on pointyhat.
+ +More an more FreeBSD committers and ports maintainers are + starting to use Tinderbox. We just released version 2.1.0 which + added much-requested PostgreSQL support as well as fixed many bugs. + We expect a 2.1.1 release soon with some additional bug fixes.
+ +With the 2.1.0 release of Tinderbox, we have branched the code + base so that we can focus on larger features in our HEAD branch + while still producing stable releases on a more frequent basis. The + biggest new feature planned for Tinderbox 3.0 is clustering support + which is being spearheaded by Ade Lovett (ade).
+ + +One of the benefits of the FreeBSD development model is a focus on centralized design and implementation, in which the operating system is @@ -42,6 +44,8 @@