OpenBSD Journal

g2k18 Hackathon Report: Marc Espie on ports and packages progress

Contributed by rueda on from the @tag dept.

The g2k18 hackathon has just concluded, and already we have our first report. Marc Espie (espie@) wrote in:

So I came into Ljublana running. Specifically, I've been working on a lot of ports infrastructure stuff recently.

  • update-plist at g2k18
  • the infamous cups bug fix a bit later
  • and now tags.

What's tags ? well, basically, it's a way to specify package love for some given files. Traditionally, we've been using @exec/@unexec to run commands, but this can be wasteful, because you're running the same command again and again.

Instead of that, the root package with the functionality gets a @define-tag, and any relevant dependent package gets a @tag, so the command gets run just once.

For instance, desktop-file-utils defines an "update-desktop-database" command. That used to get run for *every* single package dealing with .desktop files.

Now it gets run just once at the end of the package run. It can be fairly noticeable: the tags altogether may take ~2mn to run, which means that you shave at least 10mn off a package update.

The other cool point being that we lose most @exec/@unexec entries in all packages (it went down from >3000 to <500)… and packages without @exec/@unexec are "pure files"… we know their semantics 100%, and that's amenable to further optimizations.

I had started on this prior to g2k18, but I used g2k18 to finish the conversion, playing a bit fast&loose since I can get instant feedback and get useful feedback from people like ajacoutot@, and polish various things (update-plist tells you about some tags to insert now).

There was also a lot of cleanup. We moved the documentation for the ports tree infrastructure back into base, and some people objected to overly generic names, so this is now mostly cleaned up.

I also spent quite a bit of time in dpb, making it more sturdy against file systems overflows in distfiles, so that you won't lose all your stats.

Even though sthen@ was not there, we did some productive work together, cleaning up yet again distfiles fetching, so that the mirrors are once again useful as a backup plan.

Having lots of people around is good to hear other ideas and see things going on. There are still some diffs I need to review. I'm happy to have triggered matthieu's fix of the fc-cache timestamp discrepancy. No more waiting for xterms to start up after each snapshot update!

If there's anything bad to say about Ljublana, it's that this hackathon was a bit too short… fortunately, I'm still on a roll, so expect more commits over the coming weeks.

Mitja was a wonderful host. Food was excellent as always (though a bit expensive. Lju is not cheaper than Paris). The weather was a welcome change from the current drearily hot weather in Paris.

Since we already had a general hackathon in Slovenia a few years ago, I did not waste much time doing sight-seeing in the city.

To compensate, Mitja organized a road trip on thursday. We went to see the caves, with the largest underground canyon in Europe. Have you ever felt like you were in Moria ? It's about as close as it would get. Huge underground cave, BUT really safe paths… the old tourist visits around 1965 would have been more "entertaining", the guide showed us the old paths, and boy, what an adventure. My vertigo would definitely have triggered, more like mountain goats footholds with just a rope to hold on to… the guide was quite funny, because this place should be known as the Cave of Literal Names ("there's this cave called the silent cave, because you can't hear the river, and then there's the murmuring river cave where you can hear the river. The river is actually called <some slovenian name> that translates as… you guessed it, "river").

Then we went on to Piran, on the adriatic coast, much to our delight. I went for a swim, with no actual swimming trunks, then waiting for my shorts to dry in the sun.

If you've ever seen Miyazaki's wonderful movies, like Porco Rosso (Kurenai no Buta) or Kiki's delivery service (Majou no Takyuubin), this is the area that's depicted in them. Really beautiful.

Thanks again to Mitja for taking such good care of us.

Marc kindly provided some images…




Thanks, Marc, for the (work and) early report!

(Comments are closed)


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 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.]