Bug 999953

Summary: Package 0.9 release
Product: [Fedora] Fedora Reporter: Matěj Cepl <mcepl>
Component: prosodyAssignee: Johan Cwiklinski <fedora>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: andrea.veri, awilliam, dcallagh, fedora, greg, jamielinux, jkaluza, jorti, louiz, mathieu, mcepl, mnot, Neustradamus, paradoxe, redhat-bugzilla, roysjosh, tomek, trever
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-30 11:03:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 985573, 1000622    
Bug Blocks: 999473    
Attachments:
Description Flags
My SPEC for Prosody. none

Description Matěj Cepl 2013-08-22 12:30:30 UTC
Just to coordinate the effort.

Comment 1 Matěj Cepl 2013-08-23 12:45:24 UTC
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?

Comment 2 Jamie Nguyen 2013-08-23 17:54:42 UTC
There is also lua-sec to think about. Upstream have forked lua-sec to support certificate authentication:

http://prosody.im/doc/depends/luasec/prosody

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.

Comment 3 Johan Cwiklinski 2013-08-23 21:13:31 UTC
(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 :(

Comment 4 Andrea Veri 2013-09-07 12:51:11 UTC
Is there a possibility to backport the package to EL6 as well?

Comment 5 Matěj Cepl 2013-09-07 20:20:46 UTC
(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.

Comment 6 Adam Williamson 2013-09-18 22:24:27 UTC
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)
stack traceback:
	/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...

Comment 7 Johan Cwiklinski 2013-09-19 05:45:20 UTC
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?

Comment 8 Adam Williamson 2013-09-19 06:46:40 UTC
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.

Comment 9 Mark Nottingham 2013-11-07 17:23:12 UTC
FWIW:
  https://code.google.com/p/lxmppd/issues/detail?id=299

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.

Comment 10 Johan Cwiklinski 2013-11-11 12:01:31 UTC
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?

Comment 11 Trever Adams 2013-12-19 06:16:26 UTC
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.

Comment 12 Trever Adams 2013-12-19 06:16:59 UTC
Oh, if this is done, can 0.9.1 be the baseline instead of .0.8.x or .0.9.0?

Comment 13 Mark Nottingham 2013-12-19 06:41:51 UTC
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.

Is it?

(e.g., see: https://bugs.archlinux.org/task/33063 )

Comment 14 Johan Cwiklinski 2013-12-19 06:57:59 UTC
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.

See: http://pkgs.fedoraproject.org/cgit/lua.git/log/?h=f20

Comment 15 Mark Nottingham 2013-12-19 07:00:13 UTC
Ah. Looks like compat-lua-* then :)

Comment 16 Trever Adams 2013-12-19 20:27:10 UTC
Ok, it looks like we need several compat-lua-* packages then:

Requires:  compat-lua-expat
Requires:  compat-lua-sec
Requires:  compat-lua-filesystem
Requires:  compat-lua-dbi

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

Comment 17 Trever Adams 2013-12-19 20:28:21 UTC
Created attachment 839240 [details]
My SPEC for Prosody.

Comment 18 Johan Cwiklinski 2013-12-19 20:48:51 UTC
(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):
https://bitbucket.org/trashy/rpm/src

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).

Comment 19 Trever Adams 2014-01-06 21:17:31 UTC
If you would like, I can try and get any of these you aren't maintainer for added by those maintainers:

compat-lua-dbi
compat-lua-expat
compat-lua-filesystem
compat-lua-sec

I am already trying to do so with compat-lua-socket (but the IPv6 capable version, not the version in Fedora 20).

Comment 20 Johan Cwiklinski 2014-01-09 07:00:25 UTC
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.

Thank you.

Comment 21 Trever Adams 2014-01-22 09:29:55 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1056465
https://bugzilla.redhat.com/show_bug.cgi?id=1056467

I agree about the compats. I can easily roll my own lua sockets (I have been for a while).

Sorry for the delay.

Comment 22 Matěj Cepl 2014-01-23 00:16:37 UTC
(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?

Comment 23 Johan Cwiklinski 2014-02-03 05:02:06 UTC
*** Bug 1060607 has been marked as a duplicate of this bug. ***

Comment 24 Trever Adams 2014-04-30 08:29:33 UTC
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.

Comment 25 Robert Scheck 2014-04-30 08:47:46 UTC
Trever, see comment #13 and comment #14

Comment 26 Trever Adams 2014-04-30 08:50:50 UTC
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?

Comment 27 Jan Kaluža 2014-05-14 13:14:56 UTC
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.

Comment 28 Jan Kaluža 2014-05-30 11:03:32 UTC
Done.

Comment 29 Trever Adams 2014-05-30 12:05:46 UTC
Anyway to see this in Fedora 20? I am unable to migrate to Rawhide just yet.

Comment 30 Dan Callaghan 2014-06-02 10:14:29 UTC
(In reply to Jan Kaluža from comment #28)
> Done.

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.

Comment 31 Jan Kaluža 2014-06-02 11:58:29 UTC
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 :).

Comment 32 Johan Cwiklinski 2014-08-17 17:03:17 UTC
Ping?

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

Thanks :)