Maintaining Prosody

Since April 2015 (version 0.9.8) I help maintaining prosody for openSUSE. The first few months it lived only in the devel:languages:lua devel project. So users needed to add that repo if they wanted to install it. In October 2016 it made it into Tumbleweed. Before it could go in we had to submit some missing dependencies like luaexpat, luasocket, luasec and luafilesystem

Develpoment and Maintenance

The folks that code on prosody use the following model:

prosdy branches

Somtimes it takes quite a while until a new minor release happens. But the fixes that are on the branch are already quite useful. So I monitor that branch and in case I see something I regard as important I take all the patches with the following command, and apply them later to the openSUSE package.

cd ~/src
hg clone https://hg.prosody.im/0.9/
cd 0.9
hg export -r 'tag(0.9.12)::' -o upstream-branch-fixes.patch
cd ~/obs
osc bco devel:languages:lua/prosody
cd *prosody
mv ~/src/0.9/upstream-branch-fixes.patch .
osc add upstream-branch-fixes.patch

Then editing the spec file to apply the patch and building the package with osc build.

Test install

Now lets copy the rpm to a server and test the whole thing:

scp /var/tmp/build-root/openSUSE_Leap_42.2-x86_64/home/abuild/rpmbuild/RPMS/x86_64/prosody-0.9.12-0.x86_64.rpm testvm:~
ssh testvm
zypper in -f ./prosody-0.9.12-0.x86_64.rpm
systemctl restart prosody.service

The prosody.log greets us with a nice

Aug 03 23:00:43 general info    Hello and welcome to Prosody version 0.9.12

and the prosody.err is empty. Some manual testing also doesnt hint to anything being wrong.

Finishing

Using osc vc helps us creating a nice ChangeLog entry. After that we use osc ci and osc sr to commit and submit the changes. Now we have prosody 0.9.12 with some nice bugfixes, no need to wait for them.

Where they go

Usually the patches end up in the devel project and in Tumbleweed. If there is anything really serious going on I will also creat a request for a released version of openSUSE. However prosody was not part of Leap 42.2, since it was not ready at the time of the freeze, so there was no need for it. Now with Leap 42.3 we ship prosody 0.9.12.