Skip to content

Commit 1eb0cc5

Browse files
committed
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.
1 parent d2bbeed commit 1eb0cc5

2 files changed

Lines changed: 4 additions & 17 deletions

File tree

‎ct/linkding.sh‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,15 @@ function update_script() {
3737
msg_info "Backing up Data"
3838
cp -r /opt/linkding/data /opt/linkding_data_backup
3939
cp /opt/linkding/.env /opt/linkding_env_backup
40-
cp /opt/linkding/libicu.so /opt/linkding_libicu_backup
4140
msg_ok "Backed up Data"
4241

4342
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "linkding" "sissbruecker/linkding"
4443

4544
msg_info "Restoring Data"
4645
cp -r /opt/linkding_data_backup/. /opt/linkding/data
4746
cp /opt/linkding_env_backup /opt/linkding/.env
48-
cp /opt/linkding_libicu_backup /opt/linkding/libicu.so
49-
rm -rf /opt/linkding_data_backup /opt/linkding_env_backup /opt/linkding_libicu_backup
47+
rm -rf /opt/linkding_data_backup /opt/linkding_env_backup
48+
ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so
5049
msg_ok "Restored Data"
5150

5251
msg_info "Updating ${APP}"

‎install/linkding-install.sh‎

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ $STD apt-get install -y \
2222
libpq-dev \
2323
libicu-dev \
2424
libsqlite3-dev \
25+
libsqlite3-mod-icu \
2526
libffi-dev
2627
msg_ok "Installed Dependencies"
2728

@@ -33,22 +34,9 @@ msg_info "Building Frontend"
3334
cd /opt/linkding
3435
$STD npm ci
3536
$STD npm run build
37+
ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so
3638
msg_ok "Built Frontend"
3739

38-
msg_info "Compiling SQLite ICU Extension"
39-
cd /tmp
40-
SQLITE_RELEASE_YEAR=2023
41-
SQLITE_RELEASE=3430000
42-
$STD wget https://www.sqlite.org/${SQLITE_RELEASE_YEAR}/sqlite-amalgamation-${SQLITE_RELEASE}.zip
43-
$STD unzip -o sqlite-amalgamation-${SQLITE_RELEASE}.zip
44-
cp sqlite-amalgamation-${SQLITE_RELEASE}/sqlite3.h .
45-
cp sqlite-amalgamation-${SQLITE_RELEASE}/sqlite3ext.h .
46-
$STD wget "https://www.sqlite.org/src/raw/ext/icu/icu.c?name=91c021c7e3e8bbba286960810fa303295c622e323567b2e6def4ce58e4466e60" -O icu.c
47-
$STD gcc -fPIC -shared icu.c $(pkg-config --libs --cflags icu-uc icu-io) -o /opt/linkding/libicu.so
48-
rm -rf sqlite-amalgamation-${SQLITE_RELEASE}* icu.c sqlite3.h sqlite3ext.h
49-
cd /opt/linkding
50-
msg_ok "Compiled SQLite ICU Extension"
51-
5240
msg_info "Setting up linkding"
5341
rm -f bookmarks/settings/dev.py
5442
touch bookmarks/settings/custom.py

0 commit comments

Comments
 (0)