public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [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

* 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

* [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-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