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
The folks that code on prosody use the following model:
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.
hg clone https://hg.prosody.im/0.9/
hg export -r 'tag(0.9.12)::' -o upstream-branch-fixes.patch
osc bco devel:languages:lua/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
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:~
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.
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.
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.