OpenBSD Journal

p2k18 Hackathon report: Marc Espie (espie@) on pkg_* and packages progress

Contributed by Peter N. M. Hansteen on from the puffin' up the packages dept.

Here is another report from the just concluded p2k18 hackathon, from Marc Espie (espie@), who writes:

So, the reports were greatly exaggerated.

No riots (does a carnaval count), hardly a SNCF strike (my train ran on time), apart from the wandering uber driver dedicated to making mlarkin@'s life interesting, there were no issues.

Back in Nantes! Food is top-notch, the hackroom is very welcome, thanks again to my colleagues at Epitech Nantes (I now work at Epita Paris).

Slow start: I finished synching xfig with transfig/fig2dev, because I actually need that for painless incorporation of xfig pictures in LaTeX. Most people use pdf directly, and "new" graphics libraries like tikz are the simplest way to get good rendition... but xfig wanted new fig2dev for that.

Synchonicity: two people independently asked me about nethack in a few days. so it's a good hint that it's past time to update.

nethack is a rather special beast. It predates a lot of software in the tree and will probably endure for a long time. So its configure system is non-existent... and the dev team changed quite a few things between the previous version and that one. So I wanted to revisit all patches, more or less start from scratch.

As things get curiouser, I remembered an update of nethack 3.6.0 from quite a few months ago that was sent to ports which I meant to look at at the time but got busy and didn't. Turns out it was sent by Solene Rapenne, and jca@ invited her to this hackathon. Oh, and look, she sits right across my table. After apologizing from not looking at it sooner, I incorporated her changes into my port, did some more minor surgery, asked for her okay (since she's now, congrats) and imported it.

... The minor surgery being that nethack is set up for long-timed releases.

Just because you install nethack 3.6.0 doesn't mean you lose nethack 3.4.3 and on-going characters, which may be useful it you run a server with people having characters they want to ascend.

As usual for any ports hackathon, I look around at what people are doing.

This year, it was making new converts to PORTS_PRIVEP, and realizing that a lot of people have waaaay too much baggage in doas.conf, which will make random things fail (to wit: make-plist that wants to be run as-root so that it can become Joe Random User and _pbuild, but it requires FAKE_TREE_OWNER and PORTS_TREE_OWNER to come thru the environment).

Rant: I'll never get why it makes sense to restrict environment thru doas.

Oh well...

Then it became time to do something big, namely *finally* work on the new and shiny update-plist.

Some background: make-plist was cobbled together quite a long time ago, before we actually used multi-packages. So it's a mess of code with hacks that make very little sense. I've said for years that I won't fix it, and I've had a prototype replacement that works completely differently (and sanely). Specifically: pkg_create was tweaked so that it can be run in "information gathering mode" by update-plist and so that you get the exact same info pkg_create gets (instead of doing it all over again).

The file path information is gathered in a sane way (everything related to the root of the fake directory), and keeping exactly what's needed (strings before/after variable substitution happens).

The catch was that there are still lots of small pieces that need to happen and a lot of them weren't done yet. So I needed to import unfinished business... and the Doris syndrom struck: oh look, I need to do something else first.

So, coming back to that old code (3 years old at least), finding back all the pieces (where is that darn diff, I have so many of them) was the first challenge.

I imported it on the side and started improving it. Right now, it's on a par to the old code, meaning that things break differently.

It's about 95% of the way there, and it will probably replace the old one entirely soon. In many many cases (when you don't have @mode annotations or @samples) it's already better than the old one.

Now, it's sunday, perfect end hackathon weather (it's raining, no remorse at having to leave Nantes, and the creperie is closed anyway.

Thanks also go to Gilles for organizing that stuff and catering to the princesses.

All in all a very productive hackathon. The fallout will be somewhat less pleasant to deal with, as there will undoubtedly be bugs and whining and pufffing about the new update-plist, and those ones I will have to fix.


Until next time.

Thanks for the report, Marc! We look forward to seeing all those things turn up in upcoming snapshots!

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