[ANN] luaposix 34.0.1 released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[ANN] luaposix 34.0.1 released

Gary V. Vaughan
A library binding various POSIX APIs. POSIX is the IEEE Portable
Operating System Interface standard. luaposix is based on lposix.

I am happy to announce release 34.0.1 of luaposix.  In addition to the
usual bug fixes, this release uses the latest development version of
luke, which fixes all of the known problems that caused luaposix-34.0 to
be pulled down from luarocks.org.

luaposix's home page is at https://github.com/luaposix/luaposix/, with
documentation at https://luaposix.github.io/luaposix.


## Noteworthy changes in release 34.0.1 (2017-07-09) [stable]

### Bugs Fixed

   - `posix.sys.socket` works correctly on macOS again.

   - `posix.sys.socket` abstract namespaces work correctly on Linux.

   - `posix.syslog.openlog` keeps a copy of its ident parameter string
in the Lua registry to ensure we don't hang on to a dangling pointer.


   - latest `build-aux/luke` and upgraded lukefile work correctly on
macOS now.


## Noteworthy changes in release 34.0.1 (2017-07-09) [stable]

### Bugs Fixed

   - `posix.sys.socket` works correctly on macOS again.

   - `posix.sys.socket` abstract namespaces work correctly on Linux.

   - `posix.syslog.openlog` keeps a copy of it's ident parameter string
     in the Lua registry to ensure we don't hang on to a dangling
     pointer.

   - latest `build-aux/luke` and upgraded lukefile work correctly on
     macOS now.


## Noteworthy changes in release 34.0 (2017-05-06) [stable]

### Incompatible Changes

   - `posix.syslog` constants `LOG_AUTHPRIV`, `LOG_FTP` and `LOG_SYSLOG`
     are no longer documented, and only defined when supported by the
     host C library.  They are not part of the POSIX API, and prevented
     compilation of luaposix on AIX and Solaris.

   - `getopt.getopt` was a binding to the GNU `getopt_long` extension,
     which is not a POSIX API, and prevents luaposix from compiling on
     hosts that do not provide the extended API.  Instead we now correctly
     bind POSIX getopt(3) in `posix.unistd`.

     If you still have code that uses the old non-POSIX binding, then
     LuaRocks has the Lua only `alt-getopt` module which is very similar,
     and works even when the host C library has no `getopt_long` API;
     alternatively, you should consider migrating to the far more
     powerful Lua-only `optparse` library, also available from LuaRocks.

### New Features

   - Replaced all Autotools and supporting Slingshot code with new Lua-
     based `build-aux/luke` and `lukefile` describing how to compile and
     install everything.  Building with LuaRocks now leverages this too.

   - New `posix.sys.socket.getsockopt` and `posix.sys.socket.getpeername`
     bindings.

   - New `posix.sys.msg.msgctl` binding, and `posix.sys.msg.IPC_RMID`,
     `posix.sys.msg.IPC_SET` and `posix.sys.msg.IPC_STAT` constants to
     use with it.

   - New `posix.unistd.ftruncate` and `posix.unistd.truncate` bindings.

   - `posix.fcntl.fcntl` now accepts undocumented `posix.fcntl.O_TMPFILE`
     value where supported by the host C library.

### Bugs Fixed

   - `posix.unistd.ttyname` now returns an error message in addition to
     `nil` when it fails.


Install it with LuaRocks, using:

     luarocks install luaposix 34.0.1

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] luaposix 34.0.1 released

Bernd Eggink


On 10.07.2017 02:55, Gary V. Vaughan wrote:

...
> Install it with LuaRocks, using:
>
>      luarocks install luaposix 34.0.1
>

Gary,

installation works, but ends with messages like this:

Removing luaposix 33.4.0-1...
Could not remove /usr/share/lua/5.3/luaposix_33_4_0_1-
posix/_argcheck.lua:
/usr/share/lua/5.3/luaposix_33_4_0_1-posix/_argcheck.lua not found

... and 'luarocks list' shows that the old version of luaposix is still
present. Subsequent re-installations of 34.0.1 produce the same message,
albeit with different file names (compat.lua, _argcheck.lua and so on).

Any idea how to get rid of this?

Cheers,
Bernd

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] luaposix 34.0.1 released

Gary V. Vaughan
Hi Bernd,

Sorry I missed this message earlier.

This looks to me like a permissions problem, or else a corrupted manifest in your luarocks.

Are you able to manually remove the old rock? `luarocks remove luaposix` or maybe `sudo luarocks remove luaposix`.

Failing that, there is a luarocks-admin command for regenerating the manifest that might fix the reference to a missing file.

Once you have managed to sort out the issue with the existing luaposix, I suspect the latest rock will install correctly for you. I've already corrected some bugs in my rock spec since this announcement that should get you past any earlier issues.

If not, and you can find a repeatable set of steps to reproduce it, please make an issue on github to remind me to look into it.

Cheers,
Gary


> On 11 Jul 2017, at 02:31, Bernd Eggink <[hidden email]> wrote:
>
>
>
> On 10.07.2017 02:55, Gary V. Vaughan wrote:
>
> ...
>> Install it with LuaRocks, using:
>>     luarocks install luaposix 34.0.1
>
> Gary,
>
> installation works, but ends with messages like this:
>
> Removing luaposix 33.4.0-1...
> Could not remove /usr/share/lua/5.3/luaposix_33_4_0_1- posix/_argcheck.lua: /usr/share/lua/5.3/luaposix_33_4_0_1-posix/_argcheck.lua not found
>
> ... and 'luarocks list' shows that the old version of luaposix is still present. Subsequent re-installations of 34.0.1 produce the same message, albeit with different file names (compat.lua, _argcheck.lua and so on).
>
> Any idea how to get rid of this?
>
> Cheers,
> Bernd
>


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [ANN] luaposix 34.0.1 released

Bernd Eggink


On 24.07.2017 01:34, Gary V. Vaughan wrote:

Hi Gary,

> This looks to me like a permissions problem, or else a corrupted manifest in your luarocks.
>
> Are you able to manually remove the old rock? `luarocks remove luaposix` or maybe `sudo luarocks remove luaposix`.

Neither worked. However, after messing around with luarocks, files and
directories, I managed to screw up the whole thing completely. Which was
a good thing to do, because after a fresh install of luarocks from
github, everything was working again. Had to re-install all of my rocks
though.

I wonder if could have to do with the place where luarocks is installed.
It had it in /usr/sbin formerly, now it's in /usr/local/bin. Is
'/usr/local/bin' hard-coded somewhere in luarocks?

Cheers,
Bernd

Loading...