diff --git a/Dockerfile b/Dockerfile index 8fb2c6d0..32a26a39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bookworm +FROM debian:trixie LABEL org.opencontainers.image.source https://github.com/hathitrust/feed ARG UNAME=ingest @@ -18,7 +18,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ git \ gpg \ gpg-agent \ - grokj2k-tools \ imagemagick \ libdate-manip-perl \ libdbd-mysql-perl \ @@ -49,7 +48,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libxerces-c3-dev \ libxml-libxml-perl \ libyaml-libyaml-perl \ - openjdk-17-jre-headless \ + openjdk-21-jre-headless \ perl \ rclone \ unzip \ @@ -58,9 +57,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ COPY etc/imagemagick-policy.xml /etc/ImageMagick-6/policy.xml COPY etc/jhove-auto-install.xml /tmp/jhove-auto-install.xml -RUN curl https://hathitrust.github.io/jhove/jhove-xplt-installer-latest.jar -o /tmp/jhove-installer.jar +RUN curl -L https://software.openpreservation.org/releases/jhove/1.34/jhove-installer-1.34.0.jar -o /tmp/jhove-installer.jar RUN java -jar /tmp/jhove-installer.jar /tmp/jhove-auto-install.xml +COPY grok-debian-trixie.zip /tmp +RUN unzip /tmp/grok-debian-trixie.zip -d /tmp +RUN mv /tmp/grok-debian-trixie/lib/* /usr/local/lib +RUN mv /tmp/grok-debian-trixie/bin/* /usr/local/bin +RUN ldconfig + RUN groupadd -g $GID -o $UNAME RUN useradd -m -d $FEED_HOME -u $UID -g $GID -o -s /bin/bash $UNAME diff --git a/bin/compress_tif_jp2.pl b/bin/compress_tif_jp2.pl index 32801c78..c0ce42dd 100755 --- a/bin/compress_tif_jp2.pl +++ b/bin/compress_tif_jp2.pl @@ -48,7 +48,7 @@ if not defined $grk_compress or !-x $grk_compress; # Single quality level with reqested PSNR of 32dB. See DEV-10 - system(qq($grk_compress -i "$infile" -o "$outfile" -p RLCP -n $levels -SOP -EPH -M 62 -I -q 32)) + system(qq($grk_compress -i "$infile" -o "$outfile" -p RLCP -n $levels -S -E -M 62 -I -q 32)) and die("grk_compress returned $?"); diff --git a/docker-compose.yml b/docker-compose.yml index 7b3ed668..06c8ccb8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -144,7 +144,7 @@ services: - "9091:9091" healthcheck: <<: *healthcheck-defaults - test: [ "CMD", "wget", "--quiet", "--tries=1", "-O", "/dev/null", "pushgateway:9091/-/healthy" ] + test: [ "CMD", "wget", "--quiet", "--tries=1", "-O", "/dev/null", "http://127.0.0.1:9091/-/healthy" ] rabbitmq: diff --git a/etc/config/base_config.yml b/etc/config/base_config.yml index 1d1a01e2..286d697b 100644 --- a/etc/config/base_config.yml +++ b/etc/config/base_config.yml @@ -97,7 +97,7 @@ jhove: /opt/jhove/jhove jhoveconf: /opt/jhove/conf/jhove.conf xerces: /usr/local/bin/validate-cache xerces_cache: /usr/local/feed/etc/schema.cache -grk_compress: /usr/bin/grk_compress -grk_decompress: /usr/bin/grk_decompress +grk_compress: /usr/local/bin/grk_compress +grk_decompress: /usr/local/bin/grk_decompress epubcheck: /usr/bin/java -jar /usr/bin/epubcheck diff --git a/etc/config/premis.yml b/etc/config/premis.yml index 6d7c7bf2..ee299bda 100644 --- a/etc/config/premis.yml +++ b/etc/config/premis.yml @@ -16,13 +16,13 @@ premis_tools: # FIXME get these versions from debian packages # Set to the version of Xerces you are using (must be 3.0 or later) XERCES: qq(Xerces-C 3.2.4) - JHOVE: qq(JHOVE 1.32.0) + JHOVE: qq(JHOVE 1.34.0) # Leave as is. DIGEST_MD5: perl_mod_version('Digest::MD5'); # GnuPG is not needed unless downloading packages from Google. GPG: qq(GnuPG 2.22.40) ZIP: qq(Zip 3.0) - GRK_COMPRESS: qq(grok-j2k 10.0.5) + GRK_COMPRESS: qq(grok-j2k 20.0.4) EPUBCHECK: qq(epubcheck 4.2.6) CLAMAV: qq(ClamAV 1.0.5) diff --git a/grok-debian-trixie.zip b/grok-debian-trixie.zip new file mode 100644 index 00000000..66180674 Binary files /dev/null and b/grok-debian-trixie.zip differ diff --git a/lib/HTFeed/Image/Grok.pm b/lib/HTFeed/Image/Grok.pm index 041fde1d..30aca2bf 100644 --- a/lib/HTFeed/Image/Grok.pm +++ b/lib/HTFeed/Image/Grok.pm @@ -48,12 +48,12 @@ sub compress { "-i '$infile'", "-o '$outfile'", "-p RLCP", # the rest of these args never change, - "-SOP", # so for now leave them hard-coded - "-EPH", + "-S", # so for now leave them hard-coded + "-E", "-M 62", "-I", "-q 32", - "> /dev/null 2>&1" + # "> /dev/null 2>&1" ); my $sys_ret_val = system($full_cmd); @@ -79,7 +79,7 @@ sub decompress { "$base_cmd", "-i '$infile'", "-o '$outfile'", - "> /dev/null 2>&1" + # "> /dev/null 2>&1" ); my $sys_ret_val = system($full_cmd);