LuaRocks installation (Ubuntu Linux)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

LuaRocks installation (Ubuntu Linux)

Dirk Laurie-2
I have an opportunity to add LuaRocks from scratch on a machine that
did not yet have even Lua.

I did the following on an Ubuntu 16.04 laptop recently handed down to me:

1. Downloaded Lua 5.3.5 into a local directory, built it (I needed to
do that twice, installing libreadline-dev in between), installed it
(it goes to /usr/local by default).

2. Installed luarocks via the APT tool. This installs luarocks 2.2.0,
and also lua 5.1,
in /usr, not /usr/local.

It came as a bit of a shock that a two-year old distro still installs
5.1 as default lua.

3. Did 'luarocks install luarocks'. This installed luarocks 2.4.4-1.
Four executables with names starting 'luarocks' are now available:
luarocks            luarocks-5.1        luarocks-admin      luarocks-admin-5.1

4. 'luarocks install xml'. It also installed lfs and lub. All of them
to /usr/local. But 5.1 versions only.

Questions:

1. How do I get Luarocks to install 5.3 versions?
2. Can one install Luarocks 3.0.0 via an older Luarocks?

Reply | Threaded
Open this post in threaded view
|

Re: LuaRocks installation (Ubuntu Linux)

szbnwer@gmail.com
hi all! :)


actually and sadly this is why ive never used luarocks, and built my
own stuff for handling installations and versions, cuz much stuffs are
outdated. :/ another reason is that i wanna own the sauce code for any
need of modifications...

for example luarocks have a 4yrs old tekui, and the latest is 19months old...

how the packages are currently updated in luarocks? everything is
manually made by the authors?

here comes some suggestions without enough knowledge about lr, so
sorry if im saying bullsh!t :D

so i think it would be nice to address repos and whatever where its
possible, detect available versions, and give build scripts and/or
build them on the luarocks backend... (sure, windows could be a harder
nut, but a vm with a windows based server can resolve that as well
even on the same server.) if anything is only available on a random
n'th website, then its still possible to manually update those, and
even there could be custom accessors for those if anyone make them, or
provide standard ways to make them accessible, like via ftp or a
txt/json list with version+address pairs, so nothing hardcore...
however git, mercurial, svn and whatever can be easily handled
automatically.

(i think i will do my homework and read a bit about luarocks now :D )


i hope i could say anything that is not already
considered/done/whatever, and all the bests for every1 around! :)

Reply | Threaded
Open this post in threaded view
|

Re: LuaRocks installation (Ubuntu Linux)

Hisham
In reply to this post by Dirk Laurie-2
On 24 July 2018 at 10:46, Dirk Laurie <[hidden email]> wrote:
> I have an opportunity to add LuaRocks from scratch on a machine that
> did not yet have even Lua.
>
> I did the following on an Ubuntu 16.04 laptop recently handed down to me:
>
> 1. Downloaded Lua 5.3.5 into a local directory, built it (I needed to
> do that twice, installing libreadline-dev in between), installed it
> (it goes to /usr/local by default).

This is the expected behavior, because Linux applications installed by
hand should install into /usr/local.

> 2. Installed luarocks via the APT tool. This installs luarocks 2.2.0,
> and also lua 5.1,

Which is unfortunately quite out-of-date. Please nag the maintainers
of your favorite distro for updated LuaRocks versions. :)

> in /usr, not /usr/local.

Again, this is expected behavior, because Linux applications installed
via package manager should install into /usr.

> It came as a bit of a shock that a two-year old distro still installs
> 5.1 as default lua.

Please nag the maintainers of your favorite distro for updated Lua versions. :)

> Questions:
>
> 1. How do I get Luarocks to install 5.3 versions?

Install it from source, the same way you installed Lua (as a general
guideline, using the same installation method for your Lua and your
LuaRocks should result in compatible combinations.)

> 2. Can one install Luarocks 3.0.0 via an older Luarocks?

Unfortunately not, because this is a major release with some bigger
architectural changes.

However, future LuaRocks 3.x will be installable from LuaRocks 3.0
(provided you install it as a rock using "make bootstrap" — there is
also a standard "make install" rule which installs it as a regular
non-rock application, which is useful for distro maintainers)

> It came as a bit of a shock that a two-year old distro still installs 5.1 as default lua.

That is indeed unfortunate. The good news is that a single LuaRocks
3.0 installation can manage packages for any Lua/LuaJIT
version/installation (using flags --lua-version and --lua-dir), no
matter what Lua version LuaRocks itself is using to run (this is one
of those big architectural changes!). So in the future such mismatches
will no longer be a hassle.

Hope this helps!

-- Hisham

Reply | Threaded
Open this post in threaded view
|

Re: LuaRocks installation (Ubuntu Linux)

Hisham
In reply to this post by szbnwer@gmail.com
On 24 July 2018 at 11:29, [hidden email] <[hidden email]> wrote:
> hi all! :)
>
>
> actually and sadly this is why ive never used luarocks, and built my
> own stuff for handling installations and versions, cuz much stuffs are
> outdated. :/ another reason is that i wanna own the sauce code for any
> need of modifications...

With LuaRocks 3 you can keep your own modified/updated versions of any
package under your own user's namespace (e.g instead of `luarocks
install foo` you can do `luarocks install szbnwer/foo`).

> for example luarocks have a 4yrs old tekui, and the latest is 19months old...
>
> how the packages are currently updated in luarocks? everything is
> manually made by the authors?

Yes, the same way it is on PyPI for Python, npm for Node.js, RubyGems
for Ruby, etc etc etc.

Sometimes Lua users other than the original authors upload other
people's packages to make them available through LuaRocks when the
original authors don't. Those are usually one-off efforts, though,
which often result in outdated packages after a while. That is why it
is ideal that the original authors themselves include publishing to
luarocks.org as part of their release process, like it happens on
other language communities!

Updating a rockspec is easy. Often it can even be done mechanically:

luarocks new_version foo-1.0-1.rockspec 1.1
luarocks upload foo-1.1-1.rockspec

If you are the author of a package that's outdated on LuaRocks under
some other username, you can contact the luarocks.org admins (post an
issue at https://github.com/luarocks/luarocks-site/issues or even
email me) and we can transfer your rocks to your own luarocks.org
account.

> i hope i could say anything that is not already
> considered/done/whatever, and all the bests for every1 around! :)

We have considered some of those options (some of them would take
considerable work to implement!), but in the end the only way for the
LuaRocks community can really scale is if each package author do their
small part by pushing their packages to the repo. We try to make it as
effortless as possible. It is quite possible today to automate the
upload of packages into an author's CI/CD workflow so there's no
reason to keep outdated packages around! :)

Cheers, and hope you give LuaRocks a try!

-- Hisham

Reply | Threaded
Open this post in threaded view
|

Re: LuaRocks installation (Ubuntu Linux)

szbnwer@gmail.com
In reply to this post by szbnwer@gmail.com
2018-07-24 14:29 GMT+00:00 [hidden email] <[hidden email]>:

sorry for my previous mail, that i dare to write before learn! :D :/

sooo only one thing remains, what about optionally automatically
following and detecting available versions in the repos? ive thought
against this only about critical version changes, but that stands for
head branch just as well, that is an available option even now. i
think it would only take a cron-like timer setup in rockspecs to not
to overwhelm servers when refreshing the info about the rocks...