From 8c296fcf33136cacaa742d11b227571933f7f8f8 Mon Sep 17 00:00:00 2001 From: Balakrishnan Balasubramanian Date: Wed, 12 Feb 2025 17:38:05 -0500 Subject: [PATCH] support unix socket --- .SRCINFO | 4 +++- 0001-support-unix-socket.patch | 36 ++++++++++++++++++++++++++++++++++ PKGBUILD | 6 +++++- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 0001-support-unix-socket.patch diff --git a/.SRCINFO b/.SRCINFO index 8cdd9a4..bb4a215 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = audiobookshelf pkgdesc = Self-hosted audiobook server for managing and playing audiobooks pkgver = 2.19.2 - pkgrel = 1 + pkgrel = 11 epoch = 1 url = https://github.com/advplyr/audiobookshelf arch = x86_64 @@ -18,12 +18,14 @@ pkgbase = audiobookshelf source = audiobookshelf.hook source = audiobookshelf.service source = audiobookshelf.sysusers + source = 0001-support-unix-socket.patch source = audiobookshelf.tmpfiles sha256sums = c18832312d22c7a51825618c66bdf8fbc446c8c403b8fed857d5feb23fa17d7c sha256sums = 50a42f0de1da9f780da11fa8413539fbb0a77857205b7ae25bb5bd35f51ad335 sha256sums = 91d00bbc9800f80cde439fd9b5343cf031b6a09557f03172c92d40f2f0775c2b sha256sums = 4f37d8e407eda555231dc23d1cd35d329075ae6686acbb89d0b4612a824d594d sha256sums = cd5db44865de6f7401093b60869f937703213f196220e8c3325fa7f1b02db1fa + sha256sums = c89940d4c44e24aa28a94bd0f4217011f5d93ab2ac32055310de84e13d9e721e sha256sums = ec04988b13dd049fbd021a51275c92120179f74f1e71fd9141bd720633e5f99f pkgname = audiobookshelf diff --git a/0001-support-unix-socket.patch b/0001-support-unix-socket.patch new file mode 100644 index 0000000..e693564 --- /dev/null +++ b/0001-support-unix-socket.patch @@ -0,0 +1,36 @@ +From 070fc3ff00d21939ddc127273467f42ef0bb4767 Mon Sep 17 00:00:00 2001 +From: Balakrishnan Balasubramanian +Date: Wed, 12 Feb 2025 11:18:31 -0500 +Subject: [PATCH] support unix socket + + +diff --git a/server/Server.js b/server/Server.js +index c3e73ae..115d170 100644 +--- a/server/Server.js ++++ b/server/Server.js +@@ -395,10 +395,18 @@ class Server { + }) + router.get('/healthcheck', (req, res) => res.sendStatus(200)) + +- this.server.listen(this.Port, this.Host, () => { +- if (this.Host) Logger.info(`Listening on http://${this.Host}:${this.Port}`) +- else Logger.info(`Listening on port :${this.Port}`) +- }) ++ if(fs.pathExistsSync("/run/audiobookshelf")) { ++ const sockPath = "/run/audiobookshelf/web.sock" ++ this.server.listen(sockPath, () => { ++ fs.chmodSync(sockPath, 0o666); ++ Logger.info(`Listening on unix socket :${sockPath}`) ++ }) ++ } else { ++ this.server.listen(this.Port, this.Host, () => { ++ if (this.Host) Logger.info(`Listening on http://${this.Host}:${this.Port}`) ++ else Logger.info(`Listening on port :${this.Port}`) ++ }) ++ } + + // Start listening for socket connections + SocketAuthority.initialize(this) +-- +2.48.1 + diff --git a/PKGBUILD b/PKGBUILD index c4c97fc..ea0aed9 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ pkgname=audiobookshelf pkgver=2.19.2 -pkgrel=1 +pkgrel=11 epoch=1 pkgdesc="Self-hosted audiobook server for managing and playing audiobooks" arch=("x86_64" "aarch64") @@ -19,16 +19,20 @@ source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz "${pkgname}.hook" "${pkgname}.service" "${pkgname}.sysusers" + "0001-support-unix-socket.patch" "${pkgname}.tmpfiles") sha256sums=('c18832312d22c7a51825618c66bdf8fbc446c8c403b8fed857d5feb23fa17d7c' '50a42f0de1da9f780da11fa8413539fbb0a77857205b7ae25bb5bd35f51ad335' '91d00bbc9800f80cde439fd9b5343cf031b6a09557f03172c92d40f2f0775c2b' '4f37d8e407eda555231dc23d1cd35d329075ae6686acbb89d0b4612a824d594d' 'cd5db44865de6f7401093b60869f937703213f196220e8c3325fa7f1b02db1fa' + 'c89940d4c44e24aa28a94bd0f4217011f5d93ab2ac32055310de84e13d9e721e' 'ec04988b13dd049fbd021a51275c92120179f74f1e71fd9141bd720633e5f99f') build() { cd "${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/0001-support-unix-socket.patch" + npm run client npm ci --only=production find {client/dist,node_modules,server} -type f -name "*.map" | xargs rm -rf