Haiku monthly activity report - 10/2015

Blog post by PulkoMandy on Sun, 2015-11-01 14:01

Hello there! Time for a new monthly report!

Statistics

This report covers the revision range hrev49663-hrev49748. No detailed statistics were generated yet.

Outside the tree

Next month will be quite busy for Haiku. Not only there is the BeGeistert conference on the 7th and 8th, followed by the coding sprint, but also the Alchimie party on the 14th and 15th, and the Capitole du Libre on the 21th and 22th. If you are in Germany or France, you can visit one of these events and meet some Haiku developers. The coding sprint will allow us to make some progress in various areas of the code, hopefully bringing the beta1 release a bit closer.

Talking about beta1, it is now estimated at 30 tickets away. The number is going down, but way too slowly.

Packages

The kitchen still isn't running, and developers are still working manually to update packages from HaikuPorts.

Updated packages: album, clipdinger, lnlauncher, netpulse, vmware add-ons, OpenJDK, arduino IDE, Sequitur, ncurses 6, tiff 4, libicns, qrencode, libwebp, fifechan, sdl

New packages: aspell, libblueray, libgsasl, qutim, smplayer, smtube, Qt 5, scummvm, colormake, python_imaging

Drivers

Kallisti5 continued the work on the AHCI driver to solve more issues with the port reset logic. Please continue testing this and report any problems (new or solved by the changes), as this is a very hardware dependant thing, and quite critical to Haiku (you won't go far without hard disk access).

Jessicah fixed a bug in the GPT partition handler that caused newly created partitions to overwrite the previous ones, and also added support for generating partition UUIDs. The GUID partition maps can now be created and deleted in DriveSetup and managed by makebootable, making it much easier to install Haiku on a GPT disk.

Kallisti5 started work on extending the intel driver for the new "Valley View" chips, which are quite different from previous generations. He is currently refactoring the intel driver to make it easier to manage the different chip families and make the code more readable and maintainable.

POSIX compatibility

We got several contributions by Simon South this month. It's nice to see someone new hacking on Haiku!

His urrent goal is getting emacs to run on Haiku, which involved fixes in several areas: signal handling, ASLR and PIC executables support, stack alignment problems on x86_64, impplementation of sbrk, and we will probably see more from him in the coming month. It seems getting new eyes on the code helps a lot in finding and fixing the problems.

PulkoMandy implemented stat.st_rdev, which allows apps to identify block and character devices by running stat() on descriptors in /dev. This fixes the "cmp" tool not outputting anything, as it was previously thinking that the output was redirected to /dev/null and only the return code was useful.

Media

Barrett continues his work on the media side of things, this month fixing a crash in Cortex when trying to run it while some media nodes were allocated.

Launch daemon

Axeld continues his work on updating all system servers to use the launch daemon framework. The idea is that the launch daemon is able to watch for system events (mounting a volume, etc) and trigger actions depending on those. It is also able to start the servers on-demand, when they are first used. This month, the Print server and the Notification server were converted to work this way. This reduces the boot time, as the servers are not launched immediately anymore. The DeskBar and CDDB lookup tool were also modified to take advantage of the new features (fixing the initial installation of deskbar replicants in the process).

User interface

jscipione fixed a graphical glitch in Tracker where a scrollbar would be missing its top border. He also fixed several issues in the Mail client, and made improvements to HaikuDepot to use the correct icon on error alerts, and not leave packages in the "pending" state when the installation fails.

Waddlesplash fixed a crash in Tracker that could happen when closing a window.

Bootstrap

The bootstrap process is used to build haiku without any external dependencies. The normal build uses pre-built packages, but sometimes a complete build of everything is required (if you are porting Haiku to a new architecture for which packages are not yet available, or if you don't trust the provided binary packages and want to check the sourcecode of everything).

This process is not used as often as the regular build, and it was broken. Korli fixed several issues, and automated the process a bit using the launch daemon. The bootstrap image will now launch the build of the requested packages immediately when booted. This will make it possible to do bootstrap builds in a fully automated way.

GCC5 support

mt worked on patches to fix the build with gcc version 5. These are now merged, and we are ready to make the switch!