* [gentoo-dev] lua upgrade plan @ 2017-06-30 17:16 William Hubbs 2017-07-01 8:16 ` Azamat Hackimov 2017-07-02 20:12 ` [gentoo-dev] " Vadim A. Misbakh-Soloviov 0 siblings, 2 replies; 12+ messages in thread From: William Hubbs @ 2017-06-30 17:16 UTC (permalink / raw To: gentoo-dev; +Cc: rafaelmartins [-- Attachment #1: Type: text/plain, Size: 1027 bytes --] All, lua has been behind in Gentoo for a while, but I have time now to start working on fixing that this coming week, so consider this a heads-up that things are going to start happening with regards to dev-lang/lua and its dependencies. Upstream does not support liblua as a shared library, and they do not support installing multiple versions of lua onto a system. After conferring with the other lua maintainer, the decision has been made to remove this custom support from our lua package as well. This has been talked about many times upstream. They do not want it, and using liblua as a shared library causes performance issues. Since that support never came out of p.mask, I will be removing it this weekend or Monday at the latest and committing the next version of lua to ~arch. Once we get the tree fixed, I will address the lua overlay, preferably we can address it by migrating things there to the tree. I will be around most of the time next week, so I will be able to follow up on issues. Thanks, William [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-06-30 17:16 [gentoo-dev] lua upgrade plan William Hubbs @ 2017-07-01 8:16 ` Azamat Hackimov 2017-07-01 12:18 ` Vadim A. Misbakh-Soloviov 2017-07-01 16:53 ` William Hubbs 2017-07-02 20:12 ` [gentoo-dev] " Vadim A. Misbakh-Soloviov 1 sibling, 2 replies; 12+ messages in thread From: Azamat Hackimov @ 2017-07-01 8:16 UTC (permalink / raw To: gentoo-dev, rafaelmartins [-- Attachment #1: Type: text/plain, Size: 1681 bytes --] 2017-06-30 22:16 GMT+05:00 William Hubbs <williamh@gentoo.org>: > All, > > Upstream does not support liblua as a shared library, and they do not > support installing multiple versions of lua onto a system. After > conferring with the other lua maintainer, the decision has been made to > remove this custom support from our lua package as well. This has been > talked about many times upstream. Lua devs very "hostile" to Linux distributers. I don't see why we should do as they want to do. They not have open vcs to simply see what they changes in new release, they don't accepts patches for system integration. They didn't even elementary easy-to-use build system. Just look to another distributives, they all do versioned and shared libraries of Lua 5.{1,2,3}. Fedora devs did custom Autotools-based buildsystem, Debian - provided pkg-config files. There also exists excellent LuaDist framework - still outdated, yes, but we can take from them CMake buildsystem to provide better integration into Gentoo enviroment. You have so many options but you still want to follow unwelcome Lua rules. > They do not want it, and using liblua as a shared library causes > performance issues. > Why, we live in XXI century, where this argument came from? What about security, did you forgot about it? How do you planning to do backward compatibility with old lua5.1 libraries and projects? They definitely have breakage since lua 5.2 and 5.3 not compatible with each other. Why Lua can't have same eclass as multislotted Python or Ruby? Lua ecosystem not so big, about 500 packages so why there no even little efforts to make Lua support in Gentoo better? -- From Siberia with Love! [-- Attachment #2: Type: text/html, Size: 2421 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-07-01 8:16 ` Azamat Hackimov @ 2017-07-01 12:18 ` Vadim A. Misbakh-Soloviov 2017-07-01 16:53 ` William Hubbs 1 sibling, 0 replies; 12+ messages in thread From: Vadim A. Misbakh-Soloviov @ 2017-07-01 12:18 UTC (permalink / raw To: gentoo-dev > excellent LuaDist I'd not say it is excellent :( I'd rather say "NIH-syndromed" > Why Lua can't have same eclass as multislotted Python or Ruby? > Lua ecosystem not so big, about 500 packages > so why there no even little efforts to make Lua support in Gentoo better? Well... Actually, it does. In Lua overlay. But mgorny (?) had a bunch of critics about it, so I just keeping it in Lua overlay and not proposing it to the gentoo repo anymore (I just have not enough time to rewrite it in the way it will pass mgorny's review :). ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-07-01 8:16 ` Azamat Hackimov 2017-07-01 12:18 ` Vadim A. Misbakh-Soloviov @ 2017-07-01 16:53 ` William Hubbs 2017-07-02 3:55 ` [gentoo-dev] " Duncan 1 sibling, 1 reply; 12+ messages in thread From: William Hubbs @ 2017-07-01 16:53 UTC (permalink / raw To: Azamat Hackimov; +Cc: gentoo-dev, rafaelmartins [-- Attachment #1: Type: text/plain, Size: 2678 bytes --] On Sat, Jul 01, 2017 at 01:16:02PM +0500, Azamat Hackimov wrote: > 2017-06-30 22:16 GMT+05:00 William Hubbs <williamh@gentoo.org>: > > > All, > > > > Upstream does not support liblua as a shared library, and they do not > > support installing multiple versions of lua onto a system. After > > conferring with the other lua maintainer, the decision has been made to > > remove this custom support from our lua package as well. This has been > > talked about many times upstream. > > > Lua devs very "hostile" to Linux distributers. I don't see why we should do > as they want to do. > They not have open vcs to simply see what they changes in new release, they > don't accepts > patches for system integration. They didn't even elementary easy-to-use > build system. Just > look to another distributives, they all do versioned and shared libraries > of Lua 5.{1,2,3}. Fedora > devs did custom Autotools-based buildsystem, Debian - provided pkg-config > files. There also > exists excellent LuaDist framework - still outdated, yes, but we can take > from them CMake > buildsystem to provide better integration into Gentoo enviroment. You have > so many options > but you still want to follow unwelcome Lua rules. It is Gentoo's policy to stay as close to upstream as possible. However, there are a couple of things that I can say about lua from what I've seen so far. > > They do not want it, and using liblua as a shared library causes > > performance issues. > > > > Why, we live in XXI century, where this argument came from? What about > security, did you > forgot about it? How do you planning to do backward compatibility with old > lua5.1 libraries > and projects? They definitely have breakage since lua 5.2 and 5.3 not > compatible with each > other. Why Lua can't have same eclass as multislotted Python or Ruby? Lua > ecosystem not > so big, about 500 packages so why there no even little efforts to make Lua > support in Gentoo > better? Portage has improved handling security issues like the ones with static libraries a lot from what I understand by making --with-bdeps y the default setting most of the time. The lua build system seems to have a way to tell it to support older things, there is a LUA_COMPAT_ALL compile flag. We'll have to see what that does when it hits ~arch. See this article for why using liblua as a shared library is not recommended. http://article.gmane.org/gmane.comp.lang.lua.general/18519 Yes, it talks about the interpretor, but it goes further and really discourages even making a shared library available. > > -- > From Siberia with Love! William [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-dev] Re: lua upgrade plan 2017-07-01 16:53 ` William Hubbs @ 2017-07-02 3:55 ` Duncan 2017-07-02 15:30 ` William Hubbs 2017-07-03 12:08 ` Martin Vaeth 0 siblings, 2 replies; 12+ messages in thread From: Duncan @ 2017-07-02 3:55 UTC (permalink / raw To: gentoo-dev William Hubbs posted on Sat, 01 Jul 2017 11:53:59 -0500 as excerpted: > See this article for why using liblua as a shared library is not > recommended. > > http://article.gmane.org/gmane.comp.lang.lua.general/18519 > > Yes, it talks about the interpretor, but it goes further and really > discourages even making a shared library available. PMFJI, but... That reply is from 2005 and is apparently specific to (32-bit) x86's extreme shortage of general purpose registers. Back then it made sense as 32-bit x86 was the dominant arch, both for gentoo, and (apparently) for that lua discussion (which was in the debian context). That x86 general lack of registers was one of the big pressures behind the switch to amd64, before system memory sizes increased to 4GB+, and applies far less to today's dominant amd64, with x86 now legacy/embedded. Now it may well be that lua performance remains register sensitive even with the increased number of registers available in amd64 and other modern archs, but quoting an 11+-year-old email written in the extremely register-restricted 32-bit x86 context does little to argue that point. So... got any equivalent links to posts with more modern figures? All that said, in FLOSS, he who volunteers, makes the rules, and particularly given the upstream opposition meaning more gentoo-level work required, if there's nobody willing to support lua in gentoo with dynamic linking... ... people unable or unwilling to volunteer to support their preferred alternative get to live with one they don't like, whether that be accepting what their existing distro provides even if it's not optimal, switching to another, or supporting their own patches or builds apart from gentoo. At least gentoo makes the latter case relatively easy compared to some distros. I did it with kde twice, when gentoo/kde wasn't supporting builds without semantic-desktop. =:^) And in this case it appears there's even someone already doing it and making their work public via the lua overlay. =:^) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Re: lua upgrade plan 2017-07-02 3:55 ` [gentoo-dev] " Duncan @ 2017-07-02 15:30 ` William Hubbs 2017-07-03 1:43 ` Duncan 2017-07-03 3:32 ` Andrew Savchenko 2017-07-03 12:08 ` Martin Vaeth 1 sibling, 2 replies; 12+ messages in thread From: William Hubbs @ 2017-07-02 15:30 UTC (permalink / raw To: gentoo-dev; +Cc: rafaelmartins [-- Attachment #1: Type: text/plain, Size: 2800 bytes --] On Sun, Jul 02, 2017 at 03:55:54AM +0000, Duncan wrote: > William Hubbs posted on Sat, 01 Jul 2017 11:53:59 -0500 as excerpted: > > > See this article for why using liblua as a shared library is not > > recommended. > > > > http://article.gmane.org/gmane.comp.lang.lua.general/18519 > > > > Yes, it talks about the interpretor, but it goes further and really > > discourages even making a shared library available. > > PMFJI, but... > > That reply is from 2005 and is apparently specific to (32-bit) x86's > extreme shortage of general purpose registers. Back then it made sense > as 32-bit x86 was the dominant arch, both for gentoo, and (apparently) > for that lua discussion (which was in the debian context). > > That x86 general lack of registers was one of the big pressures behind > the switch to amd64, before system memory sizes increased to 4GB+, and > applies far less to today's dominant amd64, with x86 now legacy/embedded. > > Now it may well be that lua performance remains register sensitive even > with the increased number of registers available in amd64 and other > modern archs, but quoting an 11+-year-old email written in the extremely > register-restricted 32-bit x86 context does little to argue that point. > > So... got any equivalent links to posts with more modern figures? That link actually came from our current lua ebuilds. The shared library is offered, but the comments in the ebuild basically say the same thing and cite that link. Also, x86 is still a stable supported arch in Gentoo. > All that said, in FLOSS, he who volunteers, makes the rules, and > particularly given the upstream opposition meaning more gentoo-level work > required, if there's nobody willing to support lua in gentoo with dynamic > linking... You are correct. Basically we have to write our own build system and keep it up to date for every version of lua in order to support this. If someone can convince upstream to support it, this would be far better for everyone. > ... people unable or unwilling to volunteer to support their preferred > alternative get to live with one they don't like, whether that be > accepting what their existing distro provides even if it's not optimal, > switching to another, or supporting their own patches or builds apart > from gentoo. > > At least gentoo makes the latter case relatively easy compared to some > distros. I did it with kde twice, when gentoo/kde wasn't supporting > builds without semantic-desktop. =:^) > > And in this case it appears there's even someone already doing it and > making their work public via the lua overlay. =:^) The plan is to migrate what can be migrated from there to the tree once everything is up to date. William [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-dev] Re: lua upgrade plan 2017-07-02 15:30 ` William Hubbs @ 2017-07-03 1:43 ` Duncan 2017-07-03 3:32 ` Andrew Savchenko 1 sibling, 0 replies; 12+ messages in thread From: Duncan @ 2017-07-03 1:43 UTC (permalink / raw To: gentoo-dev William Hubbs posted on Sun, 02 Jul 2017 10:30:12 -0500 as excerpted: > On Sun, Jul 02, 2017 at 03:55:54AM +0000, Duncan wrote: >> William Hubbs posted on Sat, 01 Jul 2017 11:53:59 -0500 as excerpted: >> >> > See this article for why using liblua as a shared library is not >> > recommended. >> > >> > http://article.gmane.org/gmane.comp.lang.lua.general/18519 >> >> PMFJI, but... >> >> That reply is from 2005 and is apparently specific to (32-bit) x86's >> extreme shortage of general purpose registers. Back then it made sense >> as 32-bit x86 was the dominant arch, both for gentoo, and (apparently) >> for that lua discussion (which was in the debian context). [...] >> So... got any equivalent links to posts with more modern figures? > > That link actually came from our current lua ebuilds. The shared library > is offered, but the comments in the ebuild basically say the same thing > and cite that link. Thanks. =:^) > Also, x86 is still a stable supported arch in Gentoo. Two points: 1) x86 is indeed still a stable supported arch, as are, I think, a few others. But we're not discussing _breaking_ lua on x86, simply accepting that default-dynamic-linking lua wouldn't be as efficient on x86 as it would be on less register-short archs, including the now dominant amd64. Seems a reasonable tradeoff to be made, particularly given it's the choice other distros as well were choosing even when x86 /was/ the majority arch. Especially when given that on gentoo, those that believe they have reason to can choose to statically link in any case. It's just that gentoo normally defaults to dynamic linking if people haven't specifically chosen static linking. (Or would static linking not be a user-side option in this case if the dynamic-link route were chosen?) 2) Just to be explicitly in case the (quote I've now omitted) bit below that didn't make it clear: I still support killing the shared lib if maintainer-desired, even if the only /technical/ reason is that upstream doesn't support it (for reasons apparently no longer valid on modern archs, but...), due to the extra work then required. I simply believe it's important to be honest about it, if that is indeed the case, and am wondering if it is. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] Re: lua upgrade plan 2017-07-02 15:30 ` William Hubbs 2017-07-03 1:43 ` Duncan @ 2017-07-03 3:32 ` Andrew Savchenko 1 sibling, 0 replies; 12+ messages in thread From: Andrew Savchenko @ 2017-07-03 3:32 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 908 bytes --] Hi, On Sun, 2 Jul 2017 10:30:12 -0500 William Hubbs wrote: > > All that said, in FLOSS, he who volunteers, makes the rules, and > > particularly given the upstream opposition meaning more gentoo-level work > > required, if there's nobody willing to support lua in gentoo with dynamic > > linking... > > You are correct. Basically we have to write our own build system and > keep it up to date for every version of lua in order to support this. Why should we? We can borrow from other distributions like Debian or Fedora. Of course some Gentoo-specific tuning may be required, but it will be not writing from scratch. > If someone can convince upstream to support it, this would be far better for > everyone. In the ideal world, yes, I agree with this. But we are in real world with real lua developers unwilling to cooperate from what I see. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-dev] Re: lua upgrade plan 2017-07-02 3:55 ` [gentoo-dev] " Duncan 2017-07-02 15:30 ` William Hubbs @ 2017-07-03 12:08 ` Martin Vaeth 1 sibling, 0 replies; 12+ messages in thread From: Martin Vaeth @ 2017-07-03 12:08 UTC (permalink / raw To: gentoo-dev Duncan <1i5t5.duncan@cox.net> wrote: >> >> http://article.gmane.org/gmane.comp.lang.lua.general/18519 > > That reply is from 2005 and is apparently specific to (32-bit) x86's Even more is true! The only argument there concerns pic. But most distributions (hopefully also gentoo in a not-so-distant future, hopefully also on x86) will have PIE as a built-in gcc default, and programs should better all be built with PIE due to security considerations. So the whole argument concerning efficiency is simply invalid, nowadays. Yes, there might be very exceptional situations where it might be appropriate to sacrifice security considerations completely as a tradeoff for slightly more speed (although on amd64 this is probably already hardly measurable). But it should be exactly this: very exceptional situations. Most games should better not be exceptional concerning security, at least in a "standard" distribution. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-06-30 17:16 [gentoo-dev] lua upgrade plan William Hubbs 2017-07-01 8:16 ` Azamat Hackimov @ 2017-07-02 20:12 ` Vadim A. Misbakh-Soloviov 2017-07-02 20:14 ` M. J. Everitt 2017-07-03 14:41 ` William Hubbs 1 sibling, 2 replies; 12+ messages in thread From: Vadim A. Misbakh-Soloviov @ 2017-07-02 20:12 UTC (permalink / raw To: gentoo-dev, rafaelmartins By the way, it will also brake some proprietary games, that distributes via steam, humble, gog and so on. Some of them depends on shared lua and doesn't bundle it (instead, their installer calls apt (since they're doing games for ubuntu), but since we have no apt, we (gamerlay/games team) just writing proper DEPENDs, unpacking the content, and installing it. So, if shared lua will be dropped, we will either have a bunch of broken games or used to create some kludgy "lua-shared" custom ebuild, which is worse way of doing the things. So, I'm voting for status quo. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-07-02 20:12 ` [gentoo-dev] " Vadim A. Misbakh-Soloviov @ 2017-07-02 20:14 ` M. J. Everitt 2017-07-03 14:41 ` William Hubbs 1 sibling, 0 replies; 12+ messages in thread From: M. J. Everitt @ 2017-07-02 20:14 UTC (permalink / raw To: gentoo-dev [-- Attachment #1.1: Type: text/plain, Size: 743 bytes --] On 02/07/17 21:12, Vadim A. Misbakh-Soloviov wrote: > By the way, it will also brake some proprietary games, that distributes via > steam, humble, gog and so on. > > Some of them depends on shared lua and doesn't bundle it (instead, their > installer calls apt (since they're doing games for ubuntu), but since we have > no apt, we (gamerlay/games team) just writing proper DEPENDs, unpacking the > content, and installing it. > > So, if shared lua will be dropped, we will either have a bunch of broken games > or used to create some kludgy "lua-shared" custom ebuild, which is worse way > of doing the things. > > So, I'm voting for status quo. > > A custom games-lua eclass ... ?! *runs from mgorny et al ....* [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-dev] lua upgrade plan 2017-07-02 20:12 ` [gentoo-dev] " Vadim A. Misbakh-Soloviov 2017-07-02 20:14 ` M. J. Everitt @ 2017-07-03 14:41 ` William Hubbs 1 sibling, 0 replies; 12+ messages in thread From: William Hubbs @ 2017-07-03 14:41 UTC (permalink / raw To: gentoo-dev; +Cc: rafaelmartins [-- Attachment #1: Type: text/plain, Size: 749 bytes --] On Mon, Jul 03, 2017 at 03:12:00AM +0700, Vadim A. Misbakh-Soloviov wrote: > By the way, it will also brake some proprietary games, that distributes via > steam, humble, gog and so on. > > Some of them depends on shared lua and doesn't bundle it (instead, their > installer calls apt (since they're doing games for ubuntu), but since we have > no apt, we (gamerlay/games team) just writing proper DEPENDs, unpacking the > content, and installing it. > > So, if shared lua will be dropped, we will either have a bunch of broken games > or used to create some kludgy "lua-shared" custom ebuild, which is worse way > of doing the things. Are these games in the tree? I don't see anything related to steam or humble. William [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-07-03 14:42 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-06-30 17:16 [gentoo-dev] lua upgrade plan William Hubbs 2017-07-01 8:16 ` Azamat Hackimov 2017-07-01 12:18 ` Vadim A. Misbakh-Soloviov 2017-07-01 16:53 ` William Hubbs 2017-07-02 3:55 ` [gentoo-dev] " Duncan 2017-07-02 15:30 ` William Hubbs 2017-07-03 1:43 ` Duncan 2017-07-03 3:32 ` Andrew Savchenko 2017-07-03 12:08 ` Martin Vaeth 2017-07-02 20:12 ` [gentoo-dev] " Vadim A. Misbakh-Soloviov 2017-07-02 20:14 ` M. J. Everitt 2017-07-03 14:41 ` William Hubbs
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox