summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXuanwo2023-02-27 13:53:12 +0800
committerXuanwo2023-02-27 13:53:12 +0800
commit10a61a07a82b5fd248864bf96d75c33908333b2e (patch)
tree86abe913879eadcbbb343a41694fc4ac4400ea48
parente1314703095cfe5cb2d901209ee1a181ef837ffc (diff)
downloadaur-10a61a07a82b5fd248864bf96d75c33908333b2e.tar.gz
Read config from flags
Signed-off-by: Xuanwo <github@xuanwo.io>
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD17
-rw-r--r--logseq-desktop.desktop2
-rw-r--r--logseq-desktop.install22
-rw-r--r--logseq-desktop.sh15
5 files changed, 56 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 35c49e5e7505..9ea62d23f177 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = logseq-desktop-bin
pkgdesc = A privacy-first, open-source platform for knowledge sharing and management.
pkgver = 0.8.17
- pkgrel = 4
+ pkgrel = 5
url = https://github.com/logseq/logseq
arch = x86_64
license = AGPL3
@@ -10,7 +10,11 @@ pkgbase = logseq-desktop-bin
conflicts = logseq-desktop
source = https://github.com/logseq/logseq/releases/download/0.8.17/logseq-linux-x64-0.8.17.zip
source = logseq-desktop.desktop
+ source = logseq-desktop.install
+ source = logseq-desktop.sh
sha256sums = 7a010b1267c62575aaf2154132fd1039de7ddd039c2cb5005c327d9e2c083803
- sha256sums = 7efeec2aa0ae3dd9037ab7dff56ebde6947d3e1d09c7e438af16a8c68552bff9
+ sha256sums = fb4a2e59859b96c157f4da410cc66d8b6fff6e80fbc004577c238bc7d0b43258
+ sha256sums = ad9bb5c0c7f9df5686201ed13c3f5566dcec65357bce33a7d143f160b59a9988
+ sha256sums = 79749ee5011f229810343fb4a4eeb60de986d541617ead4242ccf0057b263a55
pkgname = logseq-desktop-bin
diff --git a/PKGBUILD b/PKGBUILD
index 30b48c34f917..1b97320425fb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,17 +2,23 @@
pkgname=logseq-desktop-bin
_pkgname=logseq-desktop
pkgver=0.8.17
-pkgrel=4
+pkgrel=5
pkgdesc="A privacy-first, open-source platform for knowledge sharing and management."
arch=("x86_64")
url="https://github.com/logseq/logseq"
license=('AGPL3')
provides=("logseq-desktop")
conflicts=("logseq-desktop-git" "logseq-desktop")
-source=("https://github.com/logseq/logseq/releases/download/${pkgver}/logseq-linux-x64-${pkgver}.zip"
- "${_pkgname}.desktop")
+source=(
+ "https://github.com/logseq/logseq/releases/download/${pkgver}/logseq-linux-x64-${pkgver}.zip"
+ "${_pkgname}.desktop"
+ "${_pkgname}.install"
+ "${_pkgname}.sh"
+)
sha256sums=('7a010b1267c62575aaf2154132fd1039de7ddd039c2cb5005c327d9e2c083803'
- '7efeec2aa0ae3dd9037ab7dff56ebde6947d3e1d09c7e438af16a8c68552bff9')
+ 'fb4a2e59859b96c157f4da410cc66d8b6fff6e80fbc004577c238bc7d0b43258'
+ 'ad9bb5c0c7f9df5686201ed13c3f5566dcec65357bce33a7d143f160b59a9988'
+ '79749ee5011f229810343fb4a4eeb60de986d541617ead4242ccf0057b263a55')
package() {
cd "$srcdir/Logseq-linux-x64"
@@ -23,5 +29,6 @@ package() {
install -d ${pkgdir}/opt/${pkgname}
cp -r $srcdir/Logseq-linux-x64/* ${pkgdir}/opt/${pkgname}/
install -d ${pkgdir}/usr/bin
- ln -s /opt/${pkgname}/Logseq ${pkgdir}/usr/bin/logseq
+ # User flag aware launcher
+ install -m755 "${srcdir}/logseq-desktop.sh" "${pkgdir}/usr/bin/logseq"
}
diff --git a/logseq-desktop.desktop b/logseq-desktop.desktop
index 765053584839..ef21f35fe7d9 100644
--- a/logseq-desktop.desktop
+++ b/logseq-desktop.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=Logseq
-Exec=/usr/bin/logseq %U
+Exec=/usr/bin/logseq
MimeType=x-scheme-handler/logseq
Terminal=false
Type=Application
diff --git a/logseq-desktop.install b/logseq-desktop.install
new file mode 100644
index 000000000000..906e9d0635a3
--- /dev/null
+++ b/logseq-desktop.install
@@ -0,0 +1,22 @@
+# Colored makepkg-like functions
+msg_blue() {
+ printf "${blue}==>${bold} $1${all_off}\n"
+}
+
+note() {
+ printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n"
+}
+
+all_off="$(tput sgr0)"
+bold="${all_off}$(tput bold)"
+blue="${bold}$(tput setaf 4)"
+yellow="${bold}$(tput setaf 3)"
+
+post_install() {
+ note "Custom flags should be put directly in: ~/.config/logseq-flags.conf"
+ note "The launcher is called: 'logseq'"
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/logseq-desktop.sh b/logseq-desktop.sh
new file mode 100644
index 000000000000..10f3fd362bc6
--- /dev/null
+++ b/logseq-desktop.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env sh
+# Launches Logseq with flags specified in $XDG_CONFIG_HOME/logseq-flags.conf
+
+# Make script fail if `cat` fails for some reason
+set -e
+
+# Set default value if variable is unset/null
+XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}"
+
+# Attempt to read a config file if it exists
+if [ -r "${XDG_CONFIG_HOME}/logseq-flags.conf" ]; then
+ LOGSEQ_USER_FLAGS="$(cat "$XDG_CONFIG_HOME/logseq-flags.conf")"
+fi
+
+exec /opt/logseq-desktop-bin/Logseq $LOGSEQ_USER_FLAGS "$@"