Skip to content

Commit 7462256

Browse files
Munza2020claudeMickLesk
authored
fix(apache-tika): handle upstream's switch from jar to zip distribution (#16726)
* fix(apache-tika): handle upstream's switch from jar to zip distribution Apache Tika 4.0.0 stopped publishing tika-server-standard as a standalone executable jar and now ships it as a zip: the jar inside is a thin launcher whose manifest Class-Path resolves ~150 dependencies from a sibling lib/ (and plugins/) directory, so downloading just the jar 404s and, even if it didn't, would no longer be runnable on its own. Both install and update now use fetch_and_deploy_from_url (already used by several other scripts in this repo, e.g. ct/technitiumdns.sh) to fetch and extract the whole archive in place, instead of hand-rolling curl+unzip. update_script() also passes CLEAN_INSTALL=1 so a later update replaces the lib/ tree wholesale rather than layering a new version's jars on top of an old one's. Verified by running the real ct/apache-tika.sh (via build.func/tools.func pulled live from this repo's main) against a live LXC container previously on 3.3.2: it downloads and extracts the 4.0.0 zip, starts the service, and `java -jar tika-server-standard.jar` answers on port 9998 with "Apache Tika 4.0.0". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Clean up comments in apache-tika.sh Removed outdated comments regarding tika-server-standard installation method. * Update Apache Tika installation script Removed comments regarding the change in Apache Tika packaging and updated the installation process. --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
1 parent b2e2622 commit 7462256

2 files changed

Lines changed: 4 additions & 9 deletions

File tree

ct/apache-tika.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,8 @@ function update_script() {
3535
msg_ok "Stopped Service"
3636

3737
msg_info "Updating ${APP} to v${RELEASE}"
38-
cd /opt/apache-tika
39-
curl -fsSL -o tika-server-standard-${RELEASE}.jar "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar"
40-
mv --force tika-server-standard.jar tika-server-standard-prev-version.jar
41-
mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar
42-
rm -rf /opt/apache-tika/tika-server-standard-prev-version.jar
38+
CLEAN_INSTALL=1 fetch_and_deploy_from_url "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.zip" /opt/apache-tika
39+
mv "/opt/apache-tika/tika-server-standard-${RELEASE}.jar" /opt/apache-tika/tika-server-standard.jar
4340
echo "${RELEASE}" >/opt/${APP}_version.txt
4441
msg_ok "Updated ${APP} to v${RELEASE}"
4542

install/apache-tika-install.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,9 @@ msg_ok "Installed Dependencies"
3535
JAVA_VERSION="21" setup_java
3636

3737
msg_info "Installing Apache Tika"
38-
mkdir -p /opt/apache-tika
39-
cd /opt/apache-tika
4038
RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)"
41-
curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o tika-server-standard-${RELEASE}.jar
42-
mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar
39+
fetch_and_deploy_from_url "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.zip" /opt/apache-tika
40+
mv "/opt/apache-tika/tika-server-standard-${RELEASE}.jar" /opt/apache-tika/tika-server-standard.jar
4341
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
4442
msg_ok "Installed Apache Tika"
4543

0 commit comments

Comments
 (0)