Haiku monthly activity report - 03/2015

Blog post by PulkoMandy on Sun, 2015-03-29 12:55

Hello there, here comes the activity report for the month of march 2015.

This month there were 104 commits (hrev48848-hrev48952), 5 more than in the previous month.

General news

First of all, some news not directly related to the commits which happened this month.

As there was no release of Haiku for more than 2 years since Alpha 4, people at TuneTracker Systems decided to release their own distribution of Haiku. It comes as an USB stick you can order at http://discoverhaiku.com/ . TuneTracker Systems is one of the profesional users of Haiku, and they contribute to the project by providing a lot of testing and feedback, donate money to Haiku, inc. whenever possible (all their computer purchases are done using goodshop, for example), and pay developers directly when they really need a problem solved (this year they paid mmlr to work on the CDDA issues).

izcorp (http://www.izcorp.com/) is another company is planning to use Haiku in a commercial product. Their line of studio recording systems is currently running BeOS and Zeta, but they are working on an update to Haiku. Ithamar is working with them to get their hardware fully supported, and the changes will be upstreamed to Haiku in the coming weeks. This includes several fixes to the USB stack, the intel_extreme driver, and there could be more to come.

We have also reached the mark of 50 tickets left before beta1 happens.

User interface

Waddlesplash continued his efforts on cleaning up the Tracker code and fixing several minor problems with it. It is nice to see someone taking care of Tracker and cleaning up the code. While there aren't much functional changes yet, having
a clean code base is important for future improvements. John Scipione also helped with this, and cleanups in various Tracker add-ons, Deskbar, and the storage kit.

John also fixes DiskUsage to give more useful results, as it was a bit confused by the package filesystem. This also included some minor ui and code style fixes. He also improved the look of radio buttons and checkboxes with bigger font sizes.

Janus contributed several user interface fixes. Showimage, mail preferences, appearance, printers, media, got small interface changes. The goal is to make the apps all use the same conventions, for example the same positionning and ordering of default/revert buttons, and some behavior fixes (disabling the buttons as appropriate).

Axel merged his work on the network preferences. Most of the issues with the new preflet are now fixed (there are some left), and the interface between the app and the network kit was cleaned, which could make things simpler for alternative network managers as well. This work also includes a more complete "services" tab allowing to configure SSH and FTP. This is one more feature from the BeOS we were still missing.

Jessicah and waddlesplash made some small improvements to pkgman console output. The progress bar will work properly when the terminal is less than 80 chars wide, and it will show "update" instead of an "install/remove" pair when updating a package.

New functionality

3deyes contributed a translator for DejaVu files, as well as a viewer for the DjVu format.

Packages

Korli continued his work on outsourcing packages from Haiku sources. We are now using external packages for zip, netcat. Existing packages for wget, dtc, lzo, libssh2, mpg123, harfbuzz, nasm, libvorbis, openssl, libxml2, llvm, nano, icu, libpng were also updated.

Humdinger also contributed some packages (additions and updates) for Haiku native apps and ports: yab, unrar, befar, beae, weather, beezer, desknotes, documentviewer, MeV, seeker, slayer.

Joe Prostko added packages for Fossil, which are the result of a long term effort to get the tool running on Haiku and upstreaming the changes to Fossil.

Waddlesplash added packages for LMMS, a Qt-based digital audio workstation.

Drivers and kernel

Jérôme Leveque contributed patches to fix the ice1712 sound card driver which would play garbage on system with more than 256MB of RAM. The hardware can only address the first 256MB of memory, and the driver would not make sure the buffer were allocated in that area. It does now, so the correct data is sent to the souncard.

Korli also worked on some improvements to the AHCI (SATA hard disks) support, which still has problems on some machines. He also fixed an issue in our C library which would trigger a crash when using threads with libroot_debug.

A series of patches from Barrett were pushed, which improves several aspects of the Media Kit. Besides the usual round of cleanups, this improves the shutdown/restart process of the media servers, and includes a rework of the BTimeSource class. There are more patches being reviewed on Trac.

Axel added support for B_TIME_TYPE in listattr and addattr, so you can now use these to manipulate the mime type of files.

mmlr fixed a problem in the rootfs where renaming an entry to a longer name would overflow a buffer and corrupt memory. This was probably the cause for at least some of our CDDA issues. This was a longstanding problem for TuneTracker Systems, as they use CDDA a lot.

Kallisti5 started work on Raspberry Pi 2 support. The first version of the Pi was hugely popular, and one of the devices that people wanted to run the ARM port of Haiku on. However, it used an ARMv6 CPU, while every other modern system uses version 7 (or 8). The support for ARMv6 needs some extra work in the kernel, which wasn't worth the effort, even for a target as popular as the Pi. But the new Raspberry Pi 2 comes with an ARMv7 CPU. This means we will be able to use the same ARMv7 system on it as on all other ARM devices. This makes it a much more interesting target. The work done involves some cleanup of the existing Raspberry Pi support (since some of the hardware is similar, that part of the work is not lost), as well as general work on FDT support (the FDT is a way to get the same kernel to run on all ARMv7 devices, like we do for x86, instead of having a specific kernel for each board with hardcoded hardware support). Pawel Dziepak also helped improve some of the drivers for the Raspberry Pi 2, using C++14 features to make the code simpler (we can do this on the ARM code since there is no gcc2 legacy there). mmu_man also helped untangle the u-boot entry points (we still have some code left from his early u-boot experiments there, not all of which is useful with more recent versions of u-boot).

Comments

Re: Haiku monthly activity report - 03/2015

Nice work, guys. Keep it up!

Re: Haiku monthly activity report - 03/2015

Thanks for the update PulkoMandy. Nice work everyone.
Isn't LMMS a digital audio producer? (DAW).

https://en.wikipedia.org/wiki/LMMS

Re: Haiku monthly activity report - 03/2015

Sorry, I was thinking of some other software. Fixed the article :)

Re: Haiku monthly activity report - 03/2015

Great report!
I didn't know about Ithamar helping izCorp upgrading to Haiku. Brilliant! I had no idea those audio hardware solutions had such a long life that they're still running on BeOS/Zeta...

Regards,
Humdinger

Re: Haiku monthly activity report - 03/2015

Good progress. I had hoped for LibreSSL instead of OpenSSL, though.

Re: Haiku monthly activity report - 03/2015

We are not ready to do that switch. OpenSSL includes a lot of code to ensure good portability between a lot of systems, including BeOS/Haiku. LibreSSL removes all this code, in order to make the codebase smaller and cleaner. However, this means the OS must provide some more things to it. For example, we would need a good, reliable entropy source (probably as a new system call similar to what is now available in BSD and Linux).

This is just one example, I have no idea how much work is needed to get LibreSSL properly running on Haiku. as long as this isn't ready, the least we can do is continuing to support the existing solution with OpenSSL.

Re: Haiku monthly activity report - 03/2015

I've had LibreSSL working on Haiku fairly well; swapped out OpenSSL with LibreSSL, and most apps continued working. Some needed recompiling to disable insecure SSL features that have been dropped from LibreSSL.

But yes, as Adrien pointed out, we need to implement a system call for generating good, reliable entropy. When I had tried to upstream Haiku support for LibreSSL, this was their main reason for rejecting the patches.

Re: Haiku monthly activity report - 03/2015

I've just compiled the latest openssl-1.0.2a and replaced the old one with it, Haiku refuses to boot! i wanted to see whether it would solve my misery #11579 (i'm almost certain it's an openssl problem), from the syslog i see i the runtime_loader complaining about missing symbol rc4_???, i guess it will only boot with the current version.

@jessica would you mind sharing your patch, it seems that the current libressl is source compatible to some degree with our current openssl?

Re: Haiku monthly activity report - 03/2015

This looks interesting :)you still have to have GTK 3 built... but I don't think you'd have to have a native support for it since its talking to a web server.

https://wiki.documentfoundation.org/Using_LibreOffice_in_a_Web_Browser

Re: Haiku monthly activity report - 03/2015

Personally for me the browser is the main issue which stops me from heading over to haiku.
But hey that's just me. Great job guys.

Haiku user since 2003

p.s. I've never seen any security report or review from you guys. Would be nice at least have clue about how secure this system is. Now I don't mean the viruses or adware, which doesn't exist(at least now) for obvious reasons, but what about system exploits with remote shell access etc etc

Re: Haiku monthly activity report - 03/2015

Hi,

Regarding the web browser, as an Haiku user I find the current situation "barely acceptable". I can do most of my web browsing in Haiku but I keep switching between Qupzilla, Web+ and NetSurf. I am still working on my free time to keep the WebKit port up to date, but my free time is limited.

About security, there are not much reviews, and not much effort spent in securing the system. As with anything else, help is welcome in that area. It is not considered a high priority, because the main target of Haiku is not to make internet servers, but desktop computers. However, anyone is welcome to review the code in this aspect and help improving things.

Re: Haiku monthly activity report - 03/2015

Going back and forth between Alpha 4.1 and the latest nightly builds, one can see the tremendous progress that occurred due to all your work on Web+. Page rendering, redirects, plus the addition of HTML audio/video were big steps in the evolution of the Haiku browser.
I have also noted an improvement in browsing speed since Axel implemented the new network preferences and YouTube video is no longer a "slideshow". Is it coincidence?
However, there were some regressions. One being the inability to log onto my financial institution website for on-line banking. I can do it with the old Web+ in Alpha 4.1, but have not been able to log in for a long time with the latest builds. Other than that, it is "acceptable" for most browsing sessions. Keep up the good work, it is appreciated.

Re: Haiku monthly activity report - 03/2015

There are still at least two major problems:
  • The login problems in various services, which I think are related to a problem in the cookie management,
  • The management of redirections which prints "302 moved" on the page when it shouldn't.
There are also other problems, for example the rather slow rendering and scrolling on some websites and the still much too frequent freezes.

I am still working on all these problems but I have less time to spend on them unfortunately.