Select Git revision
slubsipbuilder.pl
Dockerfile 8.06 KiB
ARG DEBIAN_RELEASE
FROM sdvharbor.slub-dresden.de/replication/debian:${DEBIAN_RELEASE}-slim
# Do NOT delete "ARG DEBIAN_RELEASE" line, it's needed because of
# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
ARG DEBIAN_RELEASE
ARG GITDIR
ENV DEBIAN_FRONTEND=noninteractive
ENV EXTDPKG="extdpkg"
ENV EXTLIB="/usr/local/perl5/"
ENV PERL5LIB="$EXTLIB/lib/perl5/:lib"
ENV PATH="$PATH:$EXTLIB/bin"
ENV PERL_CPANM_HOME="/cpanm/"
RUN apt-get update; \
apt-get -y upgrade; \
apt-get install -y --no-install-recommends gnupg wget; \
wget -O - http://sdvdebianrepo.slub-dresden.de/deb-repository/pub.gpg.key | apt-key add - ; \
echo "deb http://sdvdebianrepo.slub-dresden.de/deb-repository "${DEBIAN_RELEASE}" main" > /etc/apt/sources.list.d/slub.list;
RUN if [ -f /etc/apt/sources.list ]; then \
sed -i -e "s/^\(\(deb\|Components\).*main\( contrib\)\?\)$/\1 non-free/g" /etc/apt/sources.list; \
cat /etc/apt/sources.list; \
fi
RUN find /etc/apt/sources.list.d/ -type f -exec sed -i -e "s/^\(\(deb\|Components\).*main\( contrib\)\?\)$/\1 non-free/g" \{\} \; ; \
find /etc/apt/sources.list.d/ -type f -exec cat \{\} \; ;
RUN apt-get update; \
apt-get install -y --no-install-recommends \
apt-file \
apt-utils \
asciidoc-base \
asciidoctor \
bash \
build-essential \
coreutils \
cpanminus \
dh-make-perl\
git \
libapp-cmd-perl \
libc-dev-bin \
libc6-dev \
libcryptx-perl \
libdata-printer-perl \
libperl-prereqscanner-perl \
libperl-version-perl \
libregexp-optimizer-perl \
libsoap-lite-perl \
libsys-cpu-perl \
libtest-cmd-perl \
libtext-csv-perl \
libtext-csv-xs-perl \
&& rm -rf /var/lib/apt/lists/* \
;
# dh-make-perl löst über apt-file Datenbank das Perl-Modul auf
# RUN apt-file update;
RUN mkdir -p "$EXTLIB"
RUN mkdir -p "$PERL_CPANM_HOME"
RUN cpanm -L "$EXTLIB" --notest --verbose --no-interactive \
Pod::Autopod \
Test::Retry \
Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy \
Perl::Critic::Policy::Miscellanea::RequireRcsKeywords \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs \
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f \
Perl::Critic::Policy::Bangs::ProhibitDebuggingModules \
Perl::Critic::Policy::Bangs::ProhibitNumberedNames \
Perl::Critic::Policy::CognitiveComplexity::ProhibitExcessCognitiveComplexity \
Perl::Critic::Policy::Compatibility::PodMinimumVersion \
Perl::Critic::Policy::CompileTime \
Perl::Critic::Policy::Modules::RequireExplicitInclusion \
Perl::Critic::Policy::Moose::ProhibitDESTROYMethod \
Perl::Critic::Policy::Moose::ProhibitLazyBuild \
Perl::Critic::Policy::Moose::ProhibitMultipleWiths \
Perl::Critic::Policy::Moose::ProhibitNewMethod \
Perl::Critic::Policy::Moose::RequireCleanNamespace \
Perl::Critic::Policy::Moose::RequireMakeImmutable \
Perl::Critic::Policy::Perlsecret \
Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral \
Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock \
Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma \
Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport \
Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings \
Perl::Critic::Policy::Variables::ProhibitLoopOnHash \
Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy \
Perl::Critic::Policy::Miscellanea::RequireRcsKeywords \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs \
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f \
Perl::Critic::Policy::Bangs::ProhibitDebuggingModules \
Perl::Critic::Policy::Bangs::ProhibitNumberedNames \
Perl::Critic::Policy::CognitiveComplexity::ProhibitExcessCognitiveComplexity \
Perl::Critic::Policy::Compatibility::PodMinimumVersion \
Perl::Critic::Policy::CompileTime \
Perl::Critic::Policy::Modules::RequireExplicitInclusion \
Perl::Critic::Policy::Moose::ProhibitDESTROYMethod \
Perl::Critic::Policy::Moose::ProhibitLazyBuild \
Perl::Critic::Policy::Moose::ProhibitMultipleWiths \
Perl::Critic::Policy::Moose::ProhibitNewMethod \
Perl::Critic::Policy::Moose::RequireCleanNamespace \
Perl::Critic::Policy::Moose::RequireMakeImmutable \
Perl::Critic::Policy::Perlsecret \
Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral \
Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock \
Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma \
Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport \
Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings \
Perl::Critic::Policy::Variables::ProhibitLoopOnHash \
Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy \
Perl::Critic::Policy::Miscellanea::RequireRcsKeywords \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs \
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f \
Perl::Critic::Policy::Bangs::ProhibitDebuggingModules \
Perl::Critic::Policy::Bangs::ProhibitNumberedNames \
Perl::Critic::Policy::CognitiveComplexity::ProhibitExcessCognitiveComplexity \
Perl::Critic::Policy::Compatibility::PodMinimumVersion \
Perl::Critic::Policy::CompileTime \
Perl::Critic::Policy::Modules::RequireExplicitInclusion \
Perl::Critic::Policy::Moose::ProhibitDESTROYMethod \
Perl::Critic::Policy::Moose::ProhibitLazyBuild \
Perl::Critic::Policy::Moose::ProhibitMultipleWiths \
Perl::Critic::Policy::Moose::ProhibitNewMethod \
Perl::Critic::Policy::Moose::RequireCleanNamespace \
Perl::Critic::Policy::Moose::RequireMakeImmutable \
Perl::Critic::Policy::Perlsecret \
Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral \
Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock \
Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma \
Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport \
Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings \
Perl::Critic::Policy::Variables::ProhibitLoopOnHash \
Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy \
Perl::Critic::Policy::Miscellanea::RequireRcsKeywords \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUndeclaredSubs \
Perl::Critic::Policy::Subroutines::ProhibitCallsToUnexportedSubs \
Perl::Critic::Policy::ValuesAndExpressions::ProhibitFiletest_f \
Perl::Critic::Policy::Bangs::ProhibitDebuggingModules \
Perl::Critic::Policy::Bangs::ProhibitNumberedNames \
Perl::Critic::Policy::CognitiveComplexity::ProhibitExcessCognitiveComplexity \
Perl::Critic::Policy::Compatibility::PodMinimumVersion \
Perl::Critic::Policy::CompileTime \
Perl::Critic::Policy::Modules::RequireExplicitInclusion \
Perl::Critic::Policy::Moose::ProhibitDESTROYMethod \
Perl::Critic::Policy::Moose::ProhibitLazyBuild \
Perl::Critic::Policy::Moose::ProhibitMultipleWiths \
Perl::Critic::Policy::Moose::ProhibitNewMethod \
Perl::Critic::Policy::Moose::RequireCleanNamespace \
Perl::Critic::Policy::Moose::RequireMakeImmutable \
Perl::Critic::Policy::Perlsecret \
Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral \
Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock \
Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma \
Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport \
Perl::Critic::Policy::ValuesAndExpressions::RestrictLongStrings \
Perl::Critic::Policy::Variables::ProhibitLoopOnHash \
Search::Elasticsearch@6.81 \
Search::Elasticsearch::Client::6_0 \
&& rm -Rf $PERL_CPANM_HOME/work/* \
;
WORKDIR ${GITDIR}