Unix socket doesn't work in rpm/deb packages
Проблема касается кажется всех пакетов в наших репозиториях https://picodata.io/download/. Мой пример:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
$ apt show picodata
Package: picodata
Version: 23.12.0.0-jammy
Priority: optional
Section: database
Maintainer: Dmitry Kibirev <kdy@picodata.io>
Installed-Size: 113 MB
Homepage: https://picodata.io/
Download-Size: 26.8 MB
APT-Manual-Installed: yes
APT-Sources: https://download.picodata.io/tarantool-picodata/ubuntu jammy/main amd64 Packages
Description: In-memory database and Rust application server
$ picodata run --console-sock i1.sock &
$ picodata connect --unix i1.sock
2023-12-08 20:58:17.811 [2074644] main/137/console/unix/: utils.c:610 E> LuajitError: builtin/socket.lua:1088: builtin/box/console.lua:940: attempt to concatenate local 'version' (a nil value)
Connection is not established: unexpected EOF when reading from socket, called on fd 12, aka unix/:(socket), peer of unix/:(socket): Broken pipe
uri: unix/:./i1.sock
local function client_handler(client, _peer)
session_internal.create(client:fd(), "console")
session_internal.run_on_connect()
session_internal.run_on_auth(box.session.user(), true)
local state = setmetatable({
running = true;
read = client_read;
print = client_print;
client = client;
}, repl_mt)
local version = _TARANTOOL:match("([^-]+)-")
state:print(string.format("%-63s\n%-63s\n",
"Tarantool ".. version.." (Lua console)",
"type 'help' for interactive help"))
repl(state)
session_internal.run_on_disconnect()
end
Основная проблема мне видится в том, что мы используем иное версионирование 2.11.0.89
вместо 2.11.0-89
.
picodata> pico.PICODATA_VERSION
---
- 23.12.0
...
picodata> _TARANTOOL
---
- 2.11.0.93
...
Что надо сделать:
- Вспомнить зачем мы используем такое версионирование
- Обсудить как чинить баг