Open Source Status Report 202001

I’m beginning a blog series about my open source contributions. I hope this is interesting for people who want to start contributing to open source but don’t know where to begin. Or people who want understand (one way) how open source is being developed.

Additionally I hope it gives my Patreon and GitHub sponsors and idea of what I work on. This first report is written many weeks after the actual work was done, so it probably is incomplete nor written elegantly and I don’t remember all the details. My hope is to have nicer reports later on.

Please keep in mind that it only gives you a rough idea about the work being done. Most tasks require a plenty of learning new things, reading existing code, discussing ideas and problems with others and then implementing them.

profanity

Profanity probably takes most of my free time in recent months.

We got a new report about lagging when cursor movement happens. I could reproduce this but not find a solution to prevent this from happening yet.

A new first time contributor svensp appeared and reported that OMEMO 1:1 chats don’t work with Psi+. He was kind enough to also open a pull request to fix the issue himself! So I only needed to review and test these changes.

There appear to be more and more people interested in Profanity and its development. Probably they will enjoy learning more about its development so I plan to start a dedicated blog for Profanity.

Hugo seems easiest for a static blog. I created a theme based on ezhil and started the setup of the blog at https://github.com/profanity-im/blog.

An Arch user needed help compiling Profanity from source.

quite and I had a discussion about a proposed feature of him: roster toggle. In the end /toggle wasn’t implemented but he worked on cleaning up some code! Close https://github.com/profanity-im/profanity/issues/1228

Our OMEMO person paul worked on fixing the use of OMEMO for MUC members that were offline. Reviewing was needed. As for his PR to fix a crash with malformed OMEMO keys.

moppman reported that OMEMO decryption failed with conversejs. We fixed this by adding support for for 12 bytes IV.

I asked our Website creator Matthew whether he has time to help us with some Web related this. He worked on removing jquery and generally improve the site. Several tests and reviews were required. We missed some things so I later had to fix the command reference on the website.

I fixed a bug with the coloring of nicknames with XEP-0392 Consistent Color Generation is used.

Also found some small mistake in libstrophe.

Martin, who is a avid user and test of Profanity, contributed a first post to the blog! It is about his speciality: How to get a backtrace. Read it so you can help us by reporting bugs!

misaflo also a new contributor to Profanity added a gruvbox theme.

I want to release 0.8.0 soon so I started to write the changelog.

And I fixed a bug about old messages being shown as new.

We had a problem with our concept of themes and preferences for a long time. After much thought I finally had a nice way to implement it. Read about the details in the dedicated bug.

We fixed the autocompletion for OMEMO fingerprints.

Martin added the full content to RSS in our Profanity blog so that we can include it on Planet Jabber. And he asked one of the admins. So now the Profanity blog appears on the planet.

Several old and/or invalid issues were closed. Much time was spent in the MUC asking users questions and planning Profanity.

LXQt

We have a new contributor to the LXQt project working on organizer. He is not familar with version control systems yet, so I try to explain him.

I also created X11:LXQt:Other since the programs that were related to LXQt but not actually part of the upstream project grew.

openSUSE

Creating a package for gtk-layer-shell. A library to create desktop components for Wayland. The package is now availble in openSUSE Tumbleweed be part of the next versioned release too.

In the upcoming Leap 15.2 we rather want to have Profanity 0.7.1 than 0.5.1 so I update it and push libmesode there to. Since Profanity 0.7.1 works best with that.

Some time ago I found azote, a Wallpaper and colour manager for Sway, i3 and some other WMs. I packaged it but forgot add it to official repos. So I sent it there now.

Fixed two bugs for LXQt on openSUSE Tumbleweed: 1161833 and 1161365.

And one bug about Gajim not working correclty on openSUSE Leap 15.1: 1138751.

Updating packages I maintain

Sourcetrail

Sourcetrail is an interactive source explorer which got released as open source recently. As the first distribution I packaged it for openSUSE. Along the way there was a number of things that needed improvement. I created a tracker bug for the progress of the openSUSE package, since upstream did the same for their own Debian package. Then a bug becuse they don’t folow FHS. A patch to make Boost_USE_STATIC_LIBS a cache variable. #761, #767 and #768 to improve some code. Another patch to actually link with LIB_GUI_PROJECT. And a patch to try to install SourcetrailPythonIndexer only if it actually was supposed to be build.

The openSUSE package lives in devel:tools.

wayland

I found https://github.com/nwg-piotr/sgtk-menu which is a collection of GTK launchers for sway & other WMs. Which I packaged for openSUSE.

Like last time (#30, #34 the sway maintainers forgot to increase the version number upon release again #53, #128. Since openSUSE is always one of the first distributions to package sway and its ecosystem and actually reviews what happens (to have good quality packages) we always catch this ;-)

wlroots 0.9.0 came out. Before packaging it I tested various things and discovered that cage has a problem running with it. So I waited for 0.9.1. And backported some things so that cage 1.1.1 works with wlroots 0.9.0.

awesome-os

On my awesome list, that tracks Operating Systems stuff I: merged https://github.com/jubalh/awesome-os/pull/6 and added https://arjunsreedharan.org/post/99370248137/kernels-201-lets-write-a-kernel-with-keyboard.

dino

Discussed things about the dino OBS repository.

shadow

A user of shadow requested that useradd -s should not create a user if the path to the shell doesn’t exist. I created a patch to check for a valid shell argument. But later discovered that it has a drawback in certain setups. Later a PR was done to make the message only a warning.

Shadow 4.8.1 was released but they forgot to upload the tarballs. So only the GitHub generated tarballs, which need manual building of the manpages, are available.

Once this has been corrected I update shadow to 4.8.1 (SR#767297) for openSUSE.

lutris

Since 2017 I maintain Lutris in openSUSE. I don’t actually use it myself but when I encountered it I saw that is has a big fanbase. Probably many people use it and it was not in the official openSUSE repositories. Some people packaged it and had it in their home project however. So I polished it a bit and submitted it to openSUSE Factory.

When the SUSE security team reviewed the package later on they found some problems. They decided to remove the package because it is not secure enough for our demands. I learned about this only when the submit request waited for my review. It was no big problem at all because upstream acted quickly on the removal and updated the source code. So I could easily backport it and submit the package to Factory again.

Like I said, it was not a big problem. I’m not even sure whether the removal actually landed in a snapshot. If it did then probably Lutris wasn’t available to install for just a couple of days until all was fixed. Which is quite reasonable I think. Nevertheless a person got upset on twitter, in my opinion, totally overreacting or even misunderstanding the situation.

The situation could have been handled nicer. But it was definitely not handled in a bad way. Everybody worked together and the goal was quickly reached.