[FreeBSD-Announce] FreeBSD Status Report Third Quarter 2005
Max Laier
max at love2party.net
Fri Nov 18 04:42:21 PST 2005
July-October 2005 Status Report
Introduction
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.
__________________________________________________________________
Google summer of code
* BSD Installer
* csup: cvs mode support
* FreeBSD Web Site Redesign
* Fuse for FreeBSD
* gjournal
* gvinum 'move', 'rename' support
* Improve Libalias
* Integrated SNMP monitoring
* Interface Cleanup
* launchd(8) for FreeBSD
* Nsswitch / Caching daemon
* SNMP Monitoring
* UFS Journaling
Projects
* ggtrace
* iSCSI Initiator
* pfSense
* Realtime POSIX signal
Documentation
* bridge.c retired
* TODO list for volunteers
Kernel
* Low-overhead performance monitoring for FreeBSD
* NEWCARD
* Sound subsystem improvements
* The Kernel Stress Test Suite
Network infrastructure
* OpenBSD dhclient import
* Removable interface improvements
* TCP & IP Routing Optimization Fundraise
Architectures
* Porting FreeBSD to the Xbox
* PowerPC Port
Ports
* FreeBSD GNOME Project
* FreshPorts
* Ports Collection
* Ports Tinderbox
Vendor / 3rd Party Software
* Cronyx/Asterisk
* OpenBSD packet filter - pf
Miscellaneous
* BSDCan
* EuroBSDCon 2005 - Basel
* Problem Report Database
__________________________________________________________________
bridge.c retired
Contact: Max Laier <mlaier at freebsd.org>
Contact: Andrew Thompson <thompsa at freebsd.org>
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.
Open tasks:
1. Document the change in the handbook and other reference material.
__________________________________________________________________
BSD Installer
URL: http://www.bsdinstaller.org/
URL: http://wikitest.freebsd.org/moin.cgi/BSDInstaller
Contact: Andrew Turner <soc-andrew at FreeBSD.org>
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.
__________________________________________________________________
BSDCan
URL: http://www.bsdcan.org/
Contact: Dan Langille <dan at langille.org>
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.
__________________________________________________________________
Cronyx/Asterisk
URL: http://www.cronyx.ru/hardware/wan.html
URL: http://www.freebsd.org/~rik
Contact: Roman Kurakin <rik at FreeBSD.org>
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.
__________________________________________________________________
csup: cvs mode support
URL: http://wikitest.freebsd.org/moin.cgi/ChristophMathys
URL: http://mu.org/~mux/csup.html
Contact: Christoph Mathys <cmathys at bluewin.ch>
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.
Open tasks:
1. Errors should be properly handled
2. Support to get fixups
3. The hard part to support rcs file updates is done, but there is no
checksum, some options are not honored and the performance could
be improved
__________________________________________________________________
EuroBSDCon 2005 - Basel
URL: http://www.eurobsdcon.org/
Contact: Information <info at eurobsdcon.org>
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.
__________________________________________________________________
=46reeBSD GNOME Project
URL: http://www.FreeBSD.org/gnome/
Contact: Joe Marcus Clarke <marcus at FreeBSD.org>
Contact: FreeBSD GNOME Team <gnome at FreeBSD.org>
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.
Open tasks:
1. FreeBSD needs a HAL port. HAL will be vital for both GNOME and KDE
in providing FreeBSD users with a smooth, elegant desktop
experience. Once GNOME 2.12 has been merged into the ports tree,
work will begin on making HAL on FreeBSD a reality. Contact
gnome at FreeBSD.org if you are interested in helping.
2. We need help with project documentation. In particular, we need
help auditing the FAQ to make sure the content is still relevant,
and we are not missing any key items. If you're interested, please
contact gnome at FreeBSD.org .
__________________________________________________________________
=46reeBSD Web Site Redesign
URL: http://www.FreeBSD.org
URL: http://www.FreeBSD.org/old
Contact: Emily Boyd <soc-emily at FreeBSD.org>
Contact: Murray Stokely <murray at FreeBSD.org>
Contact: Web Team <freebsd-www at FreeBSD.org>
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.
__________________________________________________________________
=46reshPorts
URL: http://www.freshports.org/
Contact: Dan Langille <dan at langille.org>
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:
* alpha
* amd64
* i386
* ia64
* sparc64
And the following OSVERSIONS (subject to upgrade as new releases come
along):
* 492100
* 504102
* 600033
* 700001
Upcoming changes, in addition to the above, include:
1. NOT_FOR_ARCHS
2. ONLY_FOR_ARCHS
3. IS_INTERACTIVE
I've been getting useful help from those on IRC. Thanks.
Open tasks:
1. Complete the above.
__________________________________________________________________
=46use for FreeBSD
URL: http://fuse4bsd.creo.hu/
URL: http://wikitest.freebsd.org/moin.cgi/FuseFilesystem
URL: http://creo.hu/~csaba/projects/fuse4bsd/downloads/
Contact: Csaba Henk <soc-chenk at freebsd.org>
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).
Open tasks:
1. Implement missing features like extended attributes and
attribute/name caching (with timeout).
2. Resolve problems with autotools and integrate userspace
modifications into the Fuse codebase.
3. Port Fuse based filesystems and language bindings to FreeBSD.
4. Create sysfs (Fuse based filesystem interface to sysctl).
5. Test, test, test among a broad variety of circumstances.
__________________________________________________________________
ggtrace
URL: http://ivoras.sharanet.org/projects/ggtrace.html
Contact: Ivan Voras <ivoras at yahoo.com>
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
URL: http://wikitest.freebsd.org/moin.cgi/gjournal
Contact: Ivan Voras <ivoras at yahoo.com>
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.
Open tasks:
1. More testing is needed.
__________________________________________________________________
gvinum 'move', 'rename' support
URL: http://wikitest.freebsd.org/moin.cgi/GvinumMoveRename
Contact: Chris Jones <soc-cjones at freebsd.org>
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.
Open tasks:
1. Update FreeBSD Handbook chapter on vinum to reflect gvinum. Slowly
in progress, but hopefully done by the end of the year, workload
permitting.
__________________________________________________________________
Improve Libalias
URL: http://wikitest.freebsd.org/moin.cgi/PaoloPisati
URL: http://wikitest.freebsd.org/moin.cgi/PaoloPisati
Contact: Paolo Pisati <p.pisati at oltrelinux.com>
The project met all the scheduled goals, and following are the new
features implemented in libalias:
* integration with IPFW in kernel land
* support for 4.x and 5.x as kld
* converted from a monolithic to a modular architecture, added the
ability to load/unload at runtime support for new protocols
(modules work both in kernel and user land)
* added logging support in kernel land
Fell free to suggest other improvements.
Open tasks:
1. Test and feedback are welcome
__________________________________________________________________
Integrated SNMP monitoring
URL: http://people.freebsd.org/~harti/bsnmp/index.html
URL: http://wikitest.freebsd.org/moin.cgi/ShteryanaShopova
URL: http://wikitest.freebsd.org/moin.cgi/SnmpMonitoringModulesStatus
Contact: Philip Paeps <philip at FreeBSD.org>
Contact: Shteryana Shopova <soc-shteryana at FreeBSD.org>
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.
Open tasks:
1. 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]
2. Testers are very welcome. :-) Please let us know about any bugs!
__________________________________________________________________
Interface Cleanup
URL:
http://wikitest.freebsd.org/moin.cgi/CleanupOfNetworkInterfaceApisProp
osal
Contact: Anders Persson <soc-anders at freebsd.org>
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.
Open tasks:
1. Refactoring of the netstat code, create a modular version in the
spirit of ifconfig.
2. Data structure examination tool needs to be completed, current
state is more that of a prototype.
__________________________________________________________________
iSCSI Initiator
URL: ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-12.tar.bz2
Contact: Daniel Braniss <danny at cs.huji.ac.il>
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.
Open tasks:
1. login chap authentication
2. digest
3. network disconnect recovery
__________________________________________________________________
launchd(8) for FreeBSD
URL: http://wikitest.freebsd.org/moin.cgi/launchd
Contact: R. Tyler Ballance <tyler at tamu.edu>
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 at tamu.edu
Open tasks:
1. Writing a light-weight plist (non-XML) parser with lex and yacc.
__________________________________________________________________
Low-overhead performance monitoring for FreeBSD
URL: http://people.freebsd.org/~jkoshy/projects/perf-measurement
Contact: Joseph Koshy <jkoshy at FreeBSD.org>
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.
__________________________________________________________________
NEWCARD
Contact: Warner Losh <imp at freebsd.org>
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.
Open tasks:
1. ExpressCard laptops have arrived with ExpressCard/54 and
ExpressCard/34 slots. It is unknown the extent of the work
necessary to support them.
2. The ISA attachment of cbb needs work to make it fully functional.
3. A CIS parser in userland needs to be written. The pccardc based
CIS parser is OK, but it doesn't handle MFC cards too well.
Ideally the parser would produce output that is compatible with
the linux tool.
4. A mechanism for CIS override is needed. We need a tool that will
take an ascii representation of the CIS and produce a binary. We
need a tool that will install the binary into the kernel and
kernel modifications to switch from the CIS that's in the card to
the faked up CIS.
5. We need a mechanism for creating pseudo multi-function cards.
Initially, it seems that all we really need is the ability for an
arbitrary driver to add a sio companion, since that covers all the
cases I'm aware of. Resources would need to be 'donated' from the
creating driver to the sio card.
6. It would be nice if we could move to a more common CIS parsing and
dispatch. The CardBus side is wide open at the moment since none
of the pci drivers use the CIS information outside of a few that
get their MAC address via a standard interface.
7. The ep driver needs work to make the newer ep cards that have mii
bus on them actually probe and attach it. It needs to gain media
support for the non-mii based cards. The 3C1 still needs work.
8. The sn driver needs work to support many of the SMC91Cxxx PC Card
devices. These are typically combination cards that need special,
non-standard initialization.
9. Power savings for 16-bit cards can be realized if we power them up
at 3.3V rather than at 5.0V. Not all cards can support this, but
many can and indicate this support in the CIS. Windows tries the
3.3V configuration entries before the 5.0V ones. We should do the
same.
10. Most of the changes that have been made to the pccard and cardbus
layers can be merged back into RELENG_5.
__________________________________________________________________
Nsswitch / Caching daemon
URL:
http://wikitest.freebsd.org/moin.cgi/NsswitchAndCachingFinalReport
URL: http://wikitest.freebsd.org/moin.cgi/MichaelBushkov
Contact: Michael Bushkov <>
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
Open tasks:
1. Extend caching daemon to support NSCD functionality
2. Test Globus Grid Toolkit 4 patch
3. Add support for MAC and audit related configuration files to the
nsswitch
__________________________________________________________________
OpenBSD dhclient import
Contact: Brooks Davis <brooks at FreeBSD.org>
Contact: Sam Leffler <sam at FreeBSD.org>
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.
__________________________________________________________________
OpenBSD packet filter - pf
Contact: Max Laier <mlaier at freebsd.org>
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.
__________________________________________________________________
pfSense
URL: http://www.pfsense.com
Contact: Scott Ullrich <sullrich at gmail.com>
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.
Open tasks:
1. Stabilize installer (cannot load kernel errors after install)
2. Finish outgoing load balancing monitoring
3. Fix last minute bugs that turn up
__________________________________________________________________
Porting FreeBSD to the Xbox
URL: http://www.xbox-bsd.nl
Contact: Rink Springer <rink at rink.nu>
Contact: Ed Schouten <ed at fxq.nl>
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.
Open tasks:
1. The xbox framebuffer driver should be merged in the VESA
framework, so it can use syscons(4). Assistance on this would be
very welcome!
__________________________________________________________________
Ports Collection
URL: http://www.freebsd.org/ports/
URL: http://people.freebsd.org/~fenner/portsurvey/
URL: http://edwin.adsl.barnet.com.au/~edwin/ports/
URL: http://portsmon.FreeBSD.org/index.html
URL: http://www.freebsd.org/portmgr/index.html
Contact: Mark Linimon <linimon at FreeBSD.org>
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.
Open tasks:
1. portmgr would like to ask maintainers and committers alike to go
through the status of their ports on the two distfile surveys,
both the one that shows unfetchable current distfiles and the one
that shows possibly updated distfiles. This is an effective way to
quickly help improve our user's perception of the state of the
ports.
2. A great deal of progress has been made in cracking down on ports
that install files outside the approved directories and/or do not
deinstall cleanly (see "Extra files not listed in PLIST" on
pointyhat ). These ports are now a small minority thanks to the
dedicated efforts of a large number of individuals.
3. We still have a large number of PRs that have been assigned to
committers for some time (in fact, they constitute the majority).
portmgr members are now going through this list and asking each
committer to either commit them or release them to the general
pool so that someone else may work on them. In addition, the
existing policies for inactive maintainers (two weeks for
maintainer- timeout on PRs; three months for maintainer reset if
no activity) are going to be much more actively pursued than in
the past, where the policies were more honored in the breach than
in the observance. The goal is to try to bring the Ports
Collection as up-to-date as possible. (While there has been
progress on many fronts, there are still areas where ports are
suffering from bit-rot.)
__________________________________________________________________
Ports Tinderbox
URL: http://tinderbox.marcuscom.com
Contact: Joe Marcus Clarke <marcus at FreeBSD.org>
Contact: Tinderbox List <tinderbox-list at marcuscom.com>
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).
Open tasks:
1. At this point, we really need help with documentation. Work has
begun on creating man pages for the various Tinderbox commands,
but we need help to churn them out at as faster rate. If you have
strong mdoc fu, and interested in helping us out, please contact
marcus at marcuscom.com .
__________________________________________________________________
PowerPC Port
URL: http://www.freebsd.org/platforms/ppc.html
Contact: Peter Grehan <grehan at freebsd.org>
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.
__________________________________________________________________
Problem Report Database
URL: http://www.freebsd.org/support.html#gnats
Contact: Mark Linimon <bugmeister_at_freebsd_dot_org>
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).
__________________________________________________________________
Realtime POSIX signal
Contact: David Xu <davidxu at FreeBSD.org>
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.
Open tasks:
1. POSIX timer, timer_xxx syscalls
__________________________________________________________________
Removable interface improvements
URL: http://people.freebsd.org/~brooks/pubs/eurobsdcon2004/
URL: http://www.freebsd.org/projects/dingo/
Contact: Brooks Davis <brooks at FreeBSD.org>
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.
__________________________________________________________________
SNMP Monitoring
URL: http://wikitest.freebsd.org/moin.cgi/VictorCruceru
Contact: Harti Brandt <harti at freebsd.org>
Contact: Philip Paeps <philip at freebsd.org>
Contact: Victor Cruceru <soc-victor at freebsd.org>
New MIBs are implmented for the BSNMP agent:
1. HOST-RESOURCES-MIB ( http://www.ietf.org/rfc/rfc2790.txt ). Philip
is going to submit the code into the CVS repository.
2. TCP-MIB with combined IPv4 & IPv6 support (
http://www.ietf.org/rfc/rfc4022.txt ). This new TCP-MIB is 100%
backward compatible with the old one (v4 only). It adds a clear
distinction between active and passive tcp endpoints and for each
endpoint info about the process it belongs to.
3. UDP-MIB with combined IPv4 & IPv6 support (
http://www.ietf.org/rfc/rfc4113.txt ). This new UDP-MIB is 100%
backward compatible with the old one (v4 only) and it adds
multiple instances support for the UDP endpoints and for each
endpoint info about the processes using it.
Open tasks:
1. For HOST-RESOURCES-MIB we are going to add support for more
detailed memory stats based of libmemstat(3)
2. The rest of the IPv6 MIBs.
3. FreeBSD enterprise MIBs for supporting SNMP configuration (via
SNMP SETs) for FreeBSD.
__________________________________________________________________
Sound subsystem improvements
Contact: Multimedia Mailinglist <multimedia at FreeBSD.org>
Contact: Ariff Abdullah <skywizard at MyBSD.org.my>
Contact: Alexander Leidinger <netchild at FreeBSD.org>
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.
Open tasks:
1. Update manpages to reflect current features.
2. Fix driver specific issue (via, t4dwave, maestro).
3. Make all drivers MPSAFE.
4. Rewrite some parts (e.g. a new mixer subsystem with OSS
compatibility).
5. sndctl(1): tool to control non-mixer parts of the sound system
(e.g. spdif switching, virtual-3D effects) by an user (instead of
the sysctl approach in -current); pcmplay(1), pcmrec(1),
pcmutil(1).
6. Plugable FEEDER infrastructure. For ease of debugging various
feeder stuff and/or as userland library and test suite.
7. Support for new hardware (envy24, Intel HDA).
8. Performance enhancement (via 'slave'-channels, changes are under
review)?
9. Closer compatibility with OSS, especially for the upcoming OSS v4.
10. Close a lot of PR's.
11. Document the sound system in the FreeBSD Architecture Handbook .
__________________________________________________________________
TCP & IP Routing Optimization Fundraise
URL: http://people.freebsd.org/~andre/tcpoptimization.html
URL:
http://www.freebsd.org/news/status/report-mar-2005-june-2005.html#Fund
raising---TCP-&-IP-Routing-Optimization
Contact: Andre Oppermann <andre at freebsd.org>
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 Kernel Stress Test Suite
URL: http://people.freebsd.org/~pho/stress/
Contact: Peter Holm <pho at freebsd.org>
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.
__________________________________________________________________
TODO list for volunteers
Contact: Alexander Leidinger <netchild at FreeBSD.org>
The TODO list for volunteers (see the last report for more) is now
under review by some doc@ people.
__________________________________________________________________
UFS Journaling
Contact: Brian Wilson <polytopes at gmail.com>
Contact: Scott Long <scottl at FreeBSD.org>
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.
Open tasks:
1. Finish the redesign of the internal block management code.
2. Integration and test of the ffs/ufs hooks and the journaling code.
3. Updating userland tools to be aware of and use the journal.
4. Journal buffer management wiring to VM subsystem a la XFS.
__________________________________________________________________
Legal Notices | =A9 1995-2005 The FreeBSD Project. All rights reserved.
More information about the freebsd-announce
mailing list