From 1eb0cc55ff88099c9c88be0553822ac09faf2fd2 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:41:22 +0100 Subject: [PATCH] Use system ICU module and remove local build Stop backing up and restoring a locally built libicu and instead symlink the distribution ICU module (/usr/lib/x86_64-linux-gnu/mod_icu.so) into /opt/linkding/libicu.so. Add libsqlite3-mod-icu to dependencies and create the symlink after building the frontend. Remove the entire manual download/compile flow for the SQLite ICU extension and its related backups, simplifying installation and relying on the system-provided ICU extension. --- ct/linkding.sh | 5 ++--- install/linkding-install.sh | 16 ++-------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/ct/linkding.sh b/ct/linkding.sh index c019e7df0..d3f78ce8f 100644 --- a/ct/linkding.sh +++ b/ct/linkding.sh @@ -37,7 +37,6 @@ function update_script() { msg_info "Backing up Data" cp -r /opt/linkding/data /opt/linkding_data_backup cp /opt/linkding/.env /opt/linkding_env_backup - cp /opt/linkding/libicu.so /opt/linkding_libicu_backup msg_ok "Backed up Data" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding" @@ -45,8 +44,8 @@ function update_script() { msg_info "Restoring Data" cp -r /opt/linkding_data_backup/. /opt/linkding/data cp /opt/linkding_env_backup /opt/linkding/.env - cp /opt/linkding_libicu_backup /opt/linkding/libicu.so - rm -rf /opt/linkding_data_backup /opt/linkding_env_backup /opt/linkding_libicu_backup + rm -rf /opt/linkding_data_backup /opt/linkding_env_backup + ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so msg_ok "Restored Data" msg_info "Updating ${APP}" diff --git a/install/linkding-install.sh b/install/linkding-install.sh index d60ea4a1e..e2080a082 100644 --- a/install/linkding-install.sh +++ b/install/linkding-install.sh @@ -22,6 +22,7 @@ $STD apt-get install -y \ libpq-dev \ libicu-dev \ libsqlite3-dev \ + libsqlite3-mod-icu \ libffi-dev msg_ok "Installed Dependencies" @@ -33,22 +34,9 @@ msg_info "Building Frontend" cd /opt/linkding $STD npm ci $STD npm run build +ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so msg_ok "Built Frontend" -msg_info "Compiling SQLite ICU Extension" -cd /tmp -SQLITE_RELEASE_YEAR=2023 -SQLITE_RELEASE=3430000 -$STD wget https://www.sqlite.org/${SQLITE_RELEASE_YEAR}/sqlite-amalgamation-${SQLITE_RELEASE}.zip -$STD unzip -o sqlite-amalgamation-${SQLITE_RELEASE}.zip -cp sqlite-amalgamation-${SQLITE_RELEASE}/sqlite3.h . -cp sqlite-amalgamation-${SQLITE_RELEASE}/sqlite3ext.h . -$STD wget "https://www.sqlite.org/src/raw/ext/icu/icu.c?name=91c021c7e3e8bbba286960810fa303295c622e323567b2e6def4ce58e4466e60" -O icu.c -$STD gcc -fPIC -shared icu.c $(pkg-config --libs --cflags icu-uc icu-io) -o /opt/linkding/libicu.so -rm -rf sqlite-amalgamation-${SQLITE_RELEASE}* icu.c sqlite3.h sqlite3ext.h -cd /opt/linkding -msg_ok "Compiled SQLite ICU Extension" - msg_info "Setting up linkding" rm -f bookmarks/settings/dev.py touch bookmarks/settings/custom.py