OpenBSD Journal

g2k19 Hackathon Report: Andrew Fresh on portgen(1), coffee, and more

Contributed by rueda on from the have coffee, will wrestle the python dept.

Next up with a report from g2k19 is Andrew Hewus Fresh (afresh1@):

This year I had been thinking of ideas for things to work on in the weeks before the hackathon and the top thing on my list was to improve portgen(1) so that I could switch from tools I wrote to something everyone was more likely to use. Surprisingly, although I didn't really get to any of the other things on my list done, I did spend most of the hackathon on improving portgen(1) which is the first time I've ever actually worked on something from my TODO list rather than having something else come up.

As usual, I brought my coffee setup so that folks could enjoy some Portland coffee, which hopefully improved the amount of work that was able to be done.

It seems Ottawa graffiti artists were encouraging this with their "Caffeinate Then Dominate" message.

Part of the reason I worked on my TODO list was because I sat across from kmos@ for most of the week and, as he is both a friend and the available python porting expert, I did my best to pester him with questions about how things should work. The first improvement I committed there was something he had OK'd before the hackathon, improving dependency detection for Python ports. I worked on this at the PyCascades Sprints this year, although I did similar at their 2018 sprints, I lost that work somehow. I believe I was the only person writing perl at the sprints, which I enjoyed.

Sprints are sort of the Python community's version of a hackathon where someone makes a space, electricity, and Internet available, generally after a conference, and any projects who want can get a table to collaborate on projects. One difference with sprints is that although some work will get done by core members of the community, one of the main focuses is to get newcomers to show up, meet people and make their first contributions.

Apart from a bunch of other minor improvements to Python port Makefile generation, better Python 2/3 support, and generally better output from portgen(1), I also added a feature where if you ask it to generate a port that it knows already exists, instead of generating from scratch it copies the existing port into "mystuff" and then updates it. This means that often you're much closer to having a working port, even for things with more complex Makefiles.

There is still a fair amount to do, for example it doesn't yet know which dependencies belong only to Python 2 vs Python 3, but overall it's much improved. cwen@ says portgen(1) has much awesomeness now.

The University seems to want us back, building some new, highly targeted, residences.

Right after the hackathon, was BSDCan and as it is one of our favorite conferences, Lisa and I stuck around and attended. I really enjoyed the large number of OpenBSD talks this year. I highly recommend attending and even speaking in the future if you're able.

I was happy to have some spare coffee gear to lend to stsp@ for the duration of the conference.

This year was also the first year where I took advantage of the conference provided hack room where I spent some more time with kmos@ as he gave informal porting tutorials and I caught up on some port reviews.

As an aside, ports testing is a great way to help out the project and if you use ports there are probably some that you're qualified to test and send in an email with your results.

If you end up wanting to get more involved, possibly because after the recent maintainer cleanup by danj@ your favorite ports no longer has a maintainer, updating ports is not nearly as complex as the full guide makes porting sound.

It's especially easy for Perl, Python, and Ruby ports with portgen(1), and I did talk to ian@ about Java support and abieber@ about Go app support, but wasn't able to talk them out of the projects they were working on.

Many thanks to the foundation and the organizers for a great hackathon, I'm happy to have made it again after missing last year.

Thanks for the work and report Andrew!

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