Red Hat Bugzilla – Bug 999953
Package 0.9 release
Last modified: 2018-04-11 12:08:42 EDT
Just to coordinate the effort.
http://koji.fedoraproject.org/koji/buildinfo?buildID=458354 build for Rawhide, but I would think we should make a new release dependent on lua-socket > 0.3, don't you think?
There is also lua-sec to think about. Upstream have forked lua-sec to support certificate authentication:
I haven't yet checked to see how much of their fork has been upstreamed to the original lua-sec.
After some brief testing, I'm pretty sure certificate authentication doesn't work 100% with the lua-sec in Fedora.
(In reply to Matěj Cepl from comment #1)
> http://koji.fedoraproject.org/koji/buildinfo?buildID=458354 build for
> Rawhide, but I would think we should make a new release dependent on
> lua-socket > 0.3, don't you think?
If there are no issues regarding lua-sec; I'm OK with that. The point is we need lua-sec for SSL connections. If we cannot have both ipv6 and SSL, I think I'd prefer to keep SSL (my personal opinion and usage) :)
Maybe the best option would be to ping lua-sec upstream to update their work, but I'm not really sure that is actively maintained, and I unfortunately do not have required skills to propose a patch myself :(
Is there a possibility to backport the package to EL6 as well?
(In reply to Andrea Veri from comment #4)
> Is there a possibility to backport the package to EL6 as well?
For EPEL I would like to make the update right, i.e., bug 1000622 should be resolved first.
So, er, I tried installing 0.9 on my F20 box just to use 'prosodyctl cert', and hit this:
[adamw@adam live]$ prosodyctl cert request happyassassin.net
lua: /usr/bin/prosodyctl:854: attempt to call global 'unpack' (a nil value)
/usr/bin/prosodyctl:854: in main chunk
[C]: in ?
when I asked the prosody devs, they said prosody is not written to work with lua 5.2. At all. It 'requires 5.1', they say. I don't know if you were aware of this and are trying to patch it to work with 5.2, but upstream says prosody+lua 5.2=no go...
Thank you Adam, I was not aware 5.2 lua release was breaking prosody :(
I do not have any lua skills; if upstream cannot change the Lua version prosody works with; I'm affraid I can't.
Do not they plan to support lua 5.2 in the future?
I didn't get that far in the discussion, I had to run out; it might be best to check back with them for more detail / future plans. There is a compat build of lua 5.1 in F20, so we can at least build 0.9 against that, I guess.
It appears that it'll work IF lua 5.2 compiled with LUA_COMPAT_MODULE defined in luaconf.h. I haven't tried this; YMMV.
To have a running prosody 9.1 with compat-lua (5.1 version), I had to make some changes in the package, and also create every lua-* as compat-lua-*
I'm not sure it's the way to go, but that is the only one I've found to have prosody running on my f20.
If that is the good solution, we'll have to request packages compat for all prosody dependencies in order to get 0.9 running.
I'm not very comfortable with a 5.2 compat solution since upstream explicitly requires 5.1 (and I do not have time right now to test that).
Well... What do you think?
I would like to see the patch (comment 9) tried. I am willing to try it out. I would prefer not to run a lot of compat packages. If someone will roll the packages, I am happy to try it out on two servers where I have permission to break things to try things out and make things better.
Oh, if this is done, can 0.9.1 be the baseline instead of .0.8.x or .0.9.0?
If I read the various bugs correctly, I *think* this patch is already in upstream; however, LUA 5.2 needs to be compiled with LUA_COMPAT_MODULE.
(e.g., see: https://bugs.archlinux.org/task/33063 )
Looking to git repo, lua fedora package has been build with some compat stuff; that has been removed now: « if you really need old lua behavior, use compat-lua »
It was a bit more than just a define in a .h file.
Ah. Looks like compat-lua-* then :)
Ok, it looks like we need several compat-lua-* packages then:
I will be attaching my local SPEC file for prosody 0.9.1. I still do not have a working version due to the lack of the above packages. I do have a lua-sockets that uses the IPv6 alpha/beta packages it builds and packages: https://bugzilla.redhat.com/show_bug.cgi?id=985573
Created attachment 839240 [details]
My SPEC for Prosody.
(In reply to Trever Adams from comment #16)
> Ok, it looks like we need several compat-lua-* packages then:
Well, that is exactly what I was saying in comment #10. I'm unsure this is required, but I was not able to get Prosody running otherwise.
All specfiles I used to have Prosody running or my F-20 are on my personal repo . All sources are available on bitbucket (see compat-lua-* and prosody):
As far as I remember, changes are minor, this is mainly a rebuild with the right dependencies.
If you want to test, RPMs are available on http://rpms.ulysses.fr/; I got them working well for a month now.
I'm not going to maintain compat version for packages I do not already own; and I will not have time to submit review request until a month or two (at least).
If you would like, I can try and get any of these you aren't maintainer for added by those maintainers:
I am already trying to do so with compat-lua-socket (but the IPv6 capable version, not the version in Fedora 20).
We have to be carefull with lua-socket, as lua-sec bundle parts of its code. Someone has sent patches on both upstream projects a few months ago, but news from upstream yet.
Maybe it would be "better"/faster to first just get the compat package, and then to upgrade to the latest version? So prosody package gets fixed quickly...
I'm maintainer for lua-dbi and lua-sec, I can take care of both those compat packages.
Btw, a minor 0.9.2 has been released, that does not change compatibility issues at all as far as I can see.
I agree about the compats. I can easily roll my own lua sockets (I have been for a while).
Sorry for the delay.
(In reply to Adam Williamson from comment #6)
> when I asked the prosody devs, they said prosody is not written to work with
> lua 5.2. At all. It 'requires 5.1', they say. I don't know if you were aware
> of this and are trying to patch it to work with 5.2, but upstream says
> prosody+lua 5.2=no go...
What does this mean for EPEL-6 version? There of course, we have Lua 5.1.4. Does anybody see any reasons why we couldn’t build new lua-socket and lua-sec there? Is there anything else in EPEL requiring old lua-* libraries?
*** Bug 1060607 has been marked as a duplicate of this bug. ***
Ok, I am a bit confused. ArchLinux had this working with 0.8.x (https://bugs.archlinux.org/task/33063)
Please refer to http://pkgs.fedoraproject.org/cgit/lua.git/log/?h=f20 top item. The configure for compat stuff has been readded.
The needed patch to prosody is supposedly there (http://code.google.com/p/lxmppd/issues/detail?id=299).
Johan, can you verify this, please.
Trever, see comment #13 and comment #14
I did. Please see the first two links in comment 24. The compat stuff has been readded. If ArchLinux says it is working, what is the deal here?
According to Prosody upstream, Prosody won't work correctly with lua 5.2.
The current plan is to build the dependencies (such as lua-sec, lua-socket, ...) against compat-lua (see https://lists.fedoraproject.org/pipermail/devel/2014-May/199109.html) and then build Prosody with luajit as a lua interpreter.
Anyway to see this in Fedora 20? I am unable to migrate to Rawhide just yet.
(In reply to Jan Kaluža from comment #28)
Thanks for your efforts on this.
I rebuilt everything locally in mock in order to try it on my server running Fedora 20. I think you missed a Requires on lua-socket-compat. Starting prosody failed with:
Prosody was unable to find luasocket
After I installed lua-socket-compat everything seems to be working.
(In reply to Trever Adams from comment #29)
> Anyway to see this in Fedora 20? I am unable to migrate to Rawhide just yet.
+1 from me, if you can get this into F20 it would be nice, since Prosody is completely broken there at the moment.
I will try to get someone to merge lua-X-compat changes I've done to lua libraries into F20. At first I want to make sure it works properly in rawhide. I will add the missing dependency, thanks for that :).
I'd really like to backport lua-* and prosody changes on F-20; version in the repositories is already broken, at least, if it's broken, it will not really change anything (and it will be in testing repo, we could remove it if we want).
I've reported changes in lua-dbi, lua-sec and prosody to the F-20 branch[*], but I've not pushed anything since I've not the right on the other lua-* depencencies, and I do not know if you have a good reason not to push changes on F-20.
[*] I've just tested build, not the whole stack together