Skip to content

Commit

Permalink
main/lua-mqtt-publish: restore SIGPIPE handler after publish
Browse files Browse the repository at this point in the history
  • Loading branch information
nmeum committed Jun 17, 2022
1 parent fb59b98 commit 1d5e4a4
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
14 changes: 9 additions & 5 deletions main/lua-mqtt-publish/APKBUILD
Expand Up @@ -2,18 +2,19 @@
_luaversions="5.1 5.2 5.3 5.4"
pkgname=lua-mqtt-publish
pkgver=0.3
pkgrel=2
pkgrel=3
pkgdesc="Lua module for simple MQTT connect, publish and disconnect"
url="https://github.com/ncopa/lua-mqtt-publish"
arch="all"
license="MIT"
makedepends="lua-mosquitto" # so build order can be calculated
makedepends="lua-posix lua-mosquitto" # so build order can be calculated

for _v in $_luaversions; do
subpackages="$subpackages lua$_v-mqtt-publish:_split"
done

source="lua-mqtt-publish-$pkgver.tar.gz::https://github.com/ncopa/lua-mqtt-publish/archive/v$pkgver.tar.gz"
source="lua-mqtt-publish-$pkgver.tar.gz::https://github.com/ncopa/lua-mqtt-publish/archive/v$pkgver.tar.gz
restore-sigpipe-handler.patch"

package() {
for i in $_luaversions; do
Expand All @@ -27,7 +28,7 @@ _split() {
msg "_ver=$_ver"
pkgdesc="$pkgdesc for Lua $_ver"
install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
depends="lua$_ver-mosquitto"
depends="lua$_ver-posix lua$_ver-mosquitto"
for d in usr/lib/lua usr/share/lua; do
if [ -d "$pkgdir"/$d/$_ver ]; then
mkdir -p "$subpkgdir"/$d
Expand All @@ -36,4 +37,7 @@ _split() {
done
}

sha512sums="ccbf87c53305e19a2dd04f07ac7b3d1fdae3ce0a6c726b89f357d3d5a68a73c0ce830d0ca47d57eaf1990224fcc97794720bdbc8e4e0caa408003cc33dce3b65 lua-mqtt-publish-0.3.tar.gz"
sha512sums="
ccbf87c53305e19a2dd04f07ac7b3d1fdae3ce0a6c726b89f357d3d5a68a73c0ce830d0ca47d57eaf1990224fcc97794720bdbc8e4e0caa408003cc33dce3b65 lua-mqtt-publish-0.3.tar.gz
3bba23bc2dfbf88e39d37bb85df1634fbda92d906e8f0d8803e84729f870efe2ca1c9cf507155e91679d10c0e75a2925f57744d84f95a714f049b909549a8b6c restore-sigpipe-handler.patch
"
23 changes: 23 additions & 0 deletions main/lua-mqtt-publish/restore-sigpipe-handler.patch
@@ -0,0 +1,23 @@
See https://gitlab.alpinelinux.org/alpine/infra/infra/-/issues/10758

diff -upr lua-mqtt-publish-0.3.orig/mqtt/publish.lua lua-mqtt-publish-0.3/mqtt/publish.lua
--- lua-mqtt-publish-0.3.orig/mqtt/publish.lua 2022-06-12 12:09:12.127534562 +0200
+++ lua-mqtt-publish-0.3/mqtt/publish.lua 2022-06-12 12:15:41.038026395 +0200
@@ -1,6 +1,7 @@
--- @module mosquitto.publish

local mqtt = require("mosquitto")
+local signal = require("posix.signal")
local publish = {}

function publish.tls_set(cafile, capath, certfile, keyfile)
@@ -51,6 +52,9 @@ function publish.multiple(msgs, hostname
keepalive or publish.keepalive)
client:loop_forever()
client:destroy()
+
+ -- Workaround for https://github.com/eclipse/mosquitto/issues/2564
+ signal.signal(signal.SIGPIPE, signal.SIG_DFL)
end

function publish.single(topic, payload, qos, retain, hostname, port, client_id,

0 comments on commit 1d5e4a4

Please sign in to comment.