From d2f93408c8280629179c62367f1c4c137ee1ba6e Mon Sep 17 00:00:00 2001 From: Jens Steidl <Jens.Steidl@slub-dresden.de> Date: Fri, 27 Oct 2023 15:26:32 +0200 Subject: [PATCH] - added verapdf wrapper to implement SLUBArchiv.digital policy --- src/usr/local/bin/validate_workflow.sh | 4 +-- .../local/bin/verapdf_validation_wrapper.sh | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100755 src/usr/local/bin/verapdf_validation_wrapper.sh diff --git a/src/usr/local/bin/validate_workflow.sh b/src/usr/local/bin/validate_workflow.sh index 1946267..b0a2fcf 100755 --- a/src/usr/local/bin/validate_workflow.sh +++ b/src/usr/local/bin/validate_workflow.sh @@ -114,8 +114,8 @@ validators[retromonoge_tif_upcoming]="/usr/bin/checkit_tiff_upcoming -mq /usr/sh validators[retromonoge_tif__current]="/usr/bin/checkit_tiff_current -mq /usr/share/checkit_tiff_current/example_configs/cit_tiff6_geotiff_SLUB.cfg FILE" validators[__retrofoto_tif_upcoming]="/usr/bin/checkit_tiff_upcoming -mq /usr/share/checkit_tiff_upcoming/example_configs/cit_tiff_retrofotos_SLUB.cfg FILE" validators[__retrofoto_tif__current]="/usr/bin/checkit_tiff_current -mq /usr/share/checkit_tiff_current/example_configs/cit_tiff_retrofotos_SLUB.cfg FILE" -validators[_pubpflicht_pdf_upcoming]="/usr/bin/verapdf FILE" -validators[_pubpflicht_pdf__current]="/usr/bin/verapdf FILE" +validators[_pubpflicht_pdf_upcoming]="/usr/local/bin/verapdf_validation_wrapper.sh FILE" +validators[_pubpflicht_pdf__current]="/usr/local/bin/verapdf_validation_wrapper.sh FILE" validators[pubhtmljats_xml_upcoming]="/usr/bin/java -jar /usr/share/XmlFormatValidationPlugin/XmlFormatValidationPlugin.jar org.slub.rosetta.dps.repository.plugin.SLUBXmlFormatValidationPlugin FILE" validators[pubhtmljats_xml__current]="/usr/bin/java -jar /usr/share/XmlFormatValidationPlugin/XmlFormatValidationPlugin.jar org.slub.rosetta.dps.repository.plugin.SLUBXmlFormatValidationPlugin FILE" validators[__forensdta_ewf_upcoming]="/usr/bin/ewfverify -v FILE" diff --git a/src/usr/local/bin/verapdf_validation_wrapper.sh b/src/usr/local/bin/verapdf_validation_wrapper.sh new file mode 100755 index 0000000..35091cb --- /dev/null +++ b/src/usr/local/bin/verapdf_validation_wrapper.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# Author: Jens Steidl +# SLUB Dresden, Department Longterm Preservation +# copyright 2023, licensed under terms of GNU General Public License 3.0, +# see file LICENSE.txt for details. +### META +# AUTHORS: +# - Jens Steidl (<Jens.Steidl@slub-dresden.de>) + +if [[ $# -eq 0 ]]; then + echo "No file path supplied." + exit 1; +fi +FILE="$1" +if ! [[ -f "${FILE}" ]]; then + echo "File '${FILE}' does not exist." + exit 1; +fi + +IS_VALID=1; +TOOL_OUTPUT=""; +for FLAVOUR in "2u" "2a" "2b" "1a" "1b" "ua1"; do + TMP=$(/usr/local/bin/verapdf --nonpdfext -f "${FLAVOUR}" -v "${FILE}") + IS_VALID=$?; + TOOL_OUTPUT+="\n${TMP}" + if [[ "${IS_VALID}" -eq 0 ]]; then + break + fi +done + +echo -e "${TOOL_OUTPUT}" + +# exit code +# 0 -> valid pdf/a file and allowed pdf/a flavour +# 1 -> invalid pdf/a file or disallowed pdf/a flavour +exit "${IS_VALID}" -- GitLab