Hi all, Some exciting updates re: Lua packaging TL;DR we want to simplify the Lua packaging experience as much as possible, across both Fedora and RHEL. Some background: - before RHEL 7, the Lua RPM does not provide "lua(abi) = MAJ.MIN" so a package that ships Lua modules has to declare this to be safe: Requires: lua >= MAJ.MIN Requires: lua < MAJ.(MIN+1) - we have a draft packaging spec that recommends defining luapkgdir (noarch) and lualibdir (arched); this was later pre-defined as lua_pkgdir and lua_libdir in lua-devel in Fedora and RHEL8 -- but didn't get merged into lua in RHEL < 8. - there's a %lua_requires macro that automatically generates the right Requires line. But if it is not present on the system where the SRPM is regenerated it cannot be used. And lua-devel is not pulled in by redhat-rpm-config so that means this macro was never used. - on Fedora >= 33 (and so RHEL >= 9 when it's out) a requires generator will automatically generate the 'Requires: lua(abi)' line. - third-party Lua modules are mostly not updated to use these macros, and worse, EL RPMs can't On Fri, 2020-08-28 at 19:43 -0700, Michel Alexandre Salim wrote: > > I've created a review request for the proposed new macro package > here: > https://bugzilla.redhat.com/show_bug.cgi?id=1873676 > > If this is accepted: > - we can immediately branch and ship this for EL6 and EL7 so Lua > packages for those releases can use macros > - I'll get redhat-rpm-config to pull in lua-srpm-macros, the same way > it pulls in other *-srpm-macros packages > - I'll refactor lua in Fedora so lua-devel pulls in lua-rpm-macros > rather than shipping macros.lua, then enable shipping macros.lua in > lua-rpm-macros (right now it's excluded on Fedora to avoid file > conflicts) > lua-rpm-macros is now live in Rawhide, and lua-5.4.0-7.fc34 requires that package if rpm-build is installed. spot is pushing a security update for Lua in F33, so the change is not out yet on that release (I've merged in the changes from master though, so lua-rpm-macros + lua-5.4.0-8.fc33 will have them). I've also built lua-rpm-macros for EL6, EPEL7 and EPEL8 (on EPEL8 it only generates lua-srpm-macros since macros.lua is already shipped by lua-devel, and we can't refactor that easily as it's part of RHEL Base): https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-1ced3b21fb https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f54c46aaf2 https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-97b6a71d6d Next step is to have redhat-rpm-config depend on lua-srpm-macros (needed especially so that on Fedora < 33 and RHEL, we can use the %lua_requires macro to automatically generate the right runtime Requires: on the right Lua version). https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/105 One thing I'm not sure about is how to get redhat-rpm-config fixed for stable releases (F31, F32). redhat-rpm-config normally gets updated by bumping the version, but presumably cherry-picking this one change is better than shipping the latest redhat-rpm-config on stable releases? Also -- any idea how to get lua-srpm-macros available in the Koji builders for EL6, EPEL7 and EPEL8? Presumably we can't touch redhat- rpm-config there. > I'll also look at creating an official SIG including having a mailing > list. > The mailing list has been created (cc: ed on this post). I'd welcome anyone interested in Lua packaging, especially those who maintains core Lua packages, to subscribe to lua@xxxxxxxxxxxxxxxxxxxxxxx. Best regards, -- Michel Alexandre Salim profile: https://keyoxide.org/michel@xxxxxxxxxxxxxxx chat via email: https://delta.chat/ GPG key: 5DCE 2E7E 9C3B 1CFF D335 C1D7 8B22 9D2F 7CCC 04F2
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx