* 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>
The container was switched from bookworm to trixie in #16036, but
software-properties-common does not exist in Debian 13. apt aborts the
whole dependency line on the single missing package (exit code 100), so
a fresh install never gets past "Installing Dependencies".
The package only provides add-apt-repository, which this script never
calls — no PPAs or custom repos are configured anywhere. It is a dead
dependency, so dropping it needs no replacement; every other package on
that line exists in trixie.
Fixes#16053
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Install Java via setup_java instead of distro openjdk
Apache Tika's Java runtime was installed by calling apt directly for
openjdk-17-jre-headless. This tied the JDK to whatever Debian ships, and
that coupling has now broken: openjdk-17 is no longer available on Debian
13 (Trixie), where openjdk-21 is current. It also made this the only
script in install/ that installs Java by hand, while every other Java
application in the repository uses the shared setup_java helper.
Switch to setup_java, which installs Eclipse Temurin from the Adoptium
repository. Temurin is versioned independently of the Debian release, so
a future distribution upgrade cannot remove the JDK out from under the
application the way this one did.
Java 21 satisfies both current and upcoming Tika: 3.x requires Java 11 or
newer, and 4.x raises the floor to Java 17.
The surrounding msg_info/msg_ok pair is dropped because setup_java emits
its own progress messages; keeping them would nest the output.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Bump Apache-Tika container to Debian 13
The container declared Debian 12 (Bookworm) as its base, which had become
an outlier: 475 of the repository's ct scripts target Debian 13 and only
22 still target 12. build.func also sets trixie as the default ARM64
template codename, so this script's declared base had drifted away from
the repository default.
The declared version is not cosmetic. check_container_os_guard() reads
var_os/var_version as the script's recommended OS and compares them
against a container's /etc/os-release, prompting on interactive runs and
aborting headless ones when they disagree. Debian 12 was also the reason
the previous openjdk-17 dependency looked valid; on Debian 13 that
package no longer exists, which is addressed in the preceding commit.
Existing Debian 12 containers keep working, because update_script only
replaces the Tika jar and never touches the operating system or Java.
They will, however, now hit the OS mismatch guard on update and be asked
to move to Debian 13 first. That is intended rather than a regression,
but it is a visible change for existing users.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* New Script: Apache Tika
* Temp: Replace github URLs to my own fork
* Add additional dependencies according to the Docker image installation
See https://github.com/apache/tika-docker/blob/master/full/Dockerfile
* Apache Tika: Set correct tags
* Apache Tika: Set TODO to make it updateable
* Apache Tika: Fix "software-properties-common: command not found"
* Apache Tika: Automate version detection
* Apache Tika: Add `update_script`
* Apache Tika: Added clean up of `/opt/apache-tika/tika-server-standard-prev-version.jar` after upgrade
* Apache Tika: Bump up ram to 2048
* Apache Tika: Set updateable to true
* Apache Tika: Switch from `default-jdk` to `openjdk-17-jre-headless`
* Apache Tika: Removed comment about Docker file
* Apache Tika: Removed empty line
* Revert "Temp: Replace github URLs to my own fork"
This reverts commit f1c5d87206.