OpenBSD Journal

p2k17 Hackathon Report: Landry Breuil on Mozilla things and much more

Contributed by rueda on from the marking one decay^Hde dept.

Landry Breuil (landry@) sent in our next report from the recent ports hackathon:

So.. p2k17.. and now i realize that my first hackathon was p2k7, 10 years ago, time flies !

I came to berlin with lots of diffs already prepared, as the previous weekend we held a pre-hackathon in a hidden place somewhere in the middle of France, involving lots of cheese and funny times, but also productive times.. as, prodded by a mail from a FreeBSD contributor, i had embarked on the ginormous task of paving the way for an update to geo/qgis to a new major version (which isn't released yet, but a WIP user-level changelog is already available at http://changelog.qgis.org/en/qgis/version/3.0.0/), which involves a switch from QT4/python2 to QT5/python3.

I didn't knew yet that it would mean 'spending a week adding python3 and qt5 FLAVORS everywhere, and diving deep into CMakeFiles.txt' - had i known, maybe i would have stayed in my comfort zone^W^Wmozilla codebase :)

In the end, i had to touch/modify devel/py-proj, editors/qscintilla, editors/py-qscintilla, security/qca-qt5, x11/qwt, geo/gdal, x11/qt5, graphics/openscenegraph, import geo/py-owslib, prepare a port for osgearth, but i finally have a QGIS3 (well, 2.99something) that runs fine on my laptop, and i even managed to enable all the fancy 3d/globe features that allow viewing terrain/elevation information in 3d (thanks to Qt3d, i've been amazed to see it working out of the box!) Still some fixes to do here and there, but that's been an amazing trip into lots of ports i didn't know at all, and i learnt a lot from this.

I also spent a bit of time testing and integrating a full-duplex audio patch from ratchov@ (which is commited upstream for 58 or 59, cf https://bugzilla.mozilla.org/show_bug.cgi?id=1221580) that will allow us to have a working (really, this time!) audio WebRTC stack, which i will backport/ship with firefox 57 so that more users can actually test it. Head over to AudioRecorder demo to see if audio recording works for you, if not you will have to look into configuring/fixing sndiod. If that works, you should be able to do some audioconference tests via appear.in for example. I haven't done long-distance tests yet, but between two laptops on the same network we can hear each other without lag, now it probably needs sndio configuration tweaks. Haven't been able to test webcam in a long time, so now i need a laptop with a builtin webcam :)

While here, i refined the firefox 57 update (which will be released next tuesday) - this one is a major update and will bring lots of speed improvements, as the separate content process will be enabled by default (as legacy extensions, which was blocking this feature, are now completely unsupported/stop working) and the new rust-based css engine (codenamed stylo) is enabled too. I wanted to pre-test webrender (the rust-based DOM engine) too, but i realized it depends on WebGL2, which in turns depends on OpenGL 3.2 (i think), and my aging x200s is too old for that.. but i saw it working on mpi@'s laptop, so check about:support to know if WebGL2 works on your machines ! And now i'm looking for a x250 or a x1 carbon as i need HD Graphics 5000, where OpenGL 4.3 support starts, which seems a requirement for WebGL2.. and that will also allow me to better test the 3d bits of QGIS3.. which need GLSL 3.30 :)

To distract myself a bit from those behemoths, i played with hindsight which is the data collection pipeline used internally at mozilla (but of course developed in the open and opensource..), which could be seen as a logstash/filebeat alternative to receive logs/events from several sources, munge them, and redirect them to another target (ie, elasticsearch or equivalent) - the WIP port (and its lua-sandbox dependencies) is on ports@, hoping that i either come back to it or someone to pick it up. It has interesting design ideas, but the first-time configuration is a bit rough as there's not much clear documentation sadly.

On the side, i finished & imported the sysutils/burp port for burp, a nice backup & recovery software i started tinkering with at work, and started working on a long-standing major update to devel/py-buildbot to version 0.9, which is partly incompatible with version 0.8, and split into lots of new small python ports.. this still needs refinement, but the newer web-ui is really shiny.

And of course, i enjoyed the nice city of berlin (spent two extra days couchsurfing and biking around, loved it!), the cosy IN-Berlin hackerspace, which is a great venue for hackathons, comfy couchs, good music (!!), unreasonable amounts of club mate and sodas, perfect shawarma place right next to it.. it was a great hackathon there, thanks a lot stsp@, benno@, the OpenBSD foundation and IN-Berlin!


  1. By Bitgeist (24.198.212.248) on

    How do I contribute forward a new laptop?

    1. By Landry (195.221.122.247) on

      Well, either you donate to the foundation and i figure out the details with them, or you get in touch with me and we'll figure out the details :) I know that on ebay, there are refurbished x250 or x1 around 500 euros, and new ones for 1ke.

  2. By Aussie Frog (103.7.147.20) on

    Thanks for the good work!

    Is it a fair assumption that the separate process model of FF 57 will make it easier to pledge(), like Chromium?

    1. By Landry (195.221.122.247) on

      Yes, that's the long-term plan. Right now only the content process is a separate process, but on the long term there should be more, cf https://wiki.mozilla.org/Electrolysis#Overview

      Pledging should be done by looking at how it's done for tier1 platforms in https://wiki.mozilla.org/Security/Sandbox

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]