Summer of Code: Progress within the first month
Maxime and his mentor, Ryan Leavengood have been working together on both laying the foundation for a native browser, as well as updating WebKit to the newest codebase. In short, some of Maxime's work has been on browser specific features, including the bookmarking library, toolbar, and designing the multiple rendering processes support. Earlier this month, his work has shifted towards WebKit. Primarily migrating the Haiku specific code from the previous port to the current codebase and continuing it. For a more in depth explanation, look at his most recent blog post.
Earlier this week, his Gumstix Overo Water and Tobi expansion board arrived. Previously he has been using Qemu to emulate a Gumstix verdex as a testbed. His work has been focusing on the kernel and u-boot loader. The u-boot loader will be capable of loading the haiku_loader, which in turn will load kernel directly from a BFS partition. MMU related code and a driver for the microSD card reader are planned to be worked on next.
Several patches have landed in Haiku's source tree; changesets: 31234, 31235, 31236, and 31237. These allow BFS partitions to be created and deleted. On a side note -- testing of DriveSetup has been done inside Haiku running inside Qemu on Haiku!
CLucene has been ported to Haiku and exists as an OptionalPackage for the build system. CLucene is the library that provides the searching APIs. The indexing daemon has some initial functionality. One of the responsibilities of the indexing daemon is to determine which files need to be indexed or to have their indexed data refreshed. Being able to search the results and handling non-plain text files via translators are two items that are on his todo list.
The FUSE module hooks for almost all the necessary functions have been implemented. Most of the remaining functions that will be implemented are of lesser importance and require some research into Haiku's kernel Virtual File System. After that, the remaining work would be to get the FUSE library compiled with fs-shell, eg adding the necessary Jam rules. Since the FUSE module is host system binary, it can be debugged using tools of his host platform.