diff --git a/en/news/status/report-2005-07-2005-10.xml b/en/news/status/report-2005-07-2005-10.xml
index 4db40c3b1f..e36e8df1a8 100644
--- a/en/news/status/report-2005-07-2005-10.xml
+++ b/en/news/status/report-2005-07-2005-10.xml
@@ -1,2033 +1,2033 @@
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 + committed and will appear in 6.0. Popular drivers continue 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.
+ which fixed 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 + Instead of a single dhclient process per system, there is one 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 + testing and polishing is needed. A few bugs 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 + of the 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.
+At that time, Daniel Seuffert donated a Thunder 7500 + motherboard complete with CPUs, RAM and coolers. This allowed me + 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.
+As of 6.0, the kernel stress test suite cannot panic the + kernel.
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.
+ POSIX facilities, for example, sigqueue. Most of the code is ready, + and I am testing it.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 + conversion and general stability was 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 +
A lot of effort was expended by Ariff (and other people) to come up + with those improvements. For this reason Ariff was "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 +
More and 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 + committed and will appear in 6.0. Popular drivers continue 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.
+ which fixed 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 + Instead of a single dhclient process per system, there is one 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 + testing and polishing is needed. A few bugs 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 + of the 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.
+At that time, Daniel Seuffert donated a Thunder 7500 + motherboard complete with CPUs, RAM and coolers. This allowed me + 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.
+As of 6.0, the kernel stress test suite cannot panic the + kernel.
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.
+ POSIX facilities, for example, sigqueue. Most of the code is ready, + and I am testing it.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 + conversion and general stability was 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 +
A lot of effort was expended by Ariff (and other people) to come up + with those improvements. For this reason Ariff was "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 +
More and 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).