EMDIS-ECS

 view release on metacpan or  search on metacpan

docker/dist/Dockerfile  view on Meta::CPAN

 texlive-collection-latexrecommended

# add EPEL repository and install additional packages from there
RUN yum -y install epel-release
RUN yum -y install pass perl-Mail-IMAPClient python3-qpid-proton
# Note:  The gnupg1 package was removed from the EPEL repository in late
# 2025 (around 2025-11-11, when RHEL 9.7 was released).  However, the EPEL
# archive contains old versions of the gnupg1 RPM package files:
# https://dl.fedoraproject.org/pub/archive/epel/9.6-2025-11-11/
# It is recommended to verify the GPG signature of the RPM package using
# rpm --checksig to ensure its authenticity.

# create perlecs user
RUN useradd --comment "Perl ECS user" --create-home perlecs

# define ${HOME} environment variable
ENV HOME=/home/perlecs

USER perlecs
WORKDIR ${HOME}
RUN mkdir ${HOME}/perl5lib

# install Authen::SASL::Perl via CPAN (need version >= 2.1800 for XOAUTH2 or OAUTHBEARER)
RUN cpanm --local-lib ${HOME}/perl5lib Authen::SASL::Perl
# install Pod::LaTeX via CPAN
RUN cpanm --local-lib ${HOME}/perl5lib Pod::LaTeX

# set PATH and PERL5LIB environment variables to use
# local-lib directory
ENV PATH=${HOME}/perl5lib/bin:${PATH} \
    PERL5LIB=${HOME}/perl5lib/lib/perl5

# overridable at Docker build time, via docker build --build-arg <varname>=<value>
ARG TAGGED_VERSION=0.50

# Export tagged version of the Perl ECS code from the Subversion repository.
RUN svn export https://svn.code.sf.net/p/perlecs/code/tags/EMDIS-ECS-${TAGGED_VERSION}

# Move to the subdirectory containing the exported code, build it, run tests,
# and generate the tarball package.
WORKDIR ${HOME}/EMDIS-ECS-${TAGGED_VERSION}
RUN perl Makefile.PL
RUN make
RUN make test
RUN make dist
RUN if [ ! -e EMDIS-ECS-${TAGGED_VERSION}.tar.gz ]; then \
 mv EMDIS-ECS-*.tar.gz EMDIS-ECS-${TAGGED_VERSION}.tar.gz ; fi

# Generate PDF documentation, and rename the generated PDF file to indicate
# the version.
RUN ./generate_pdf.sh ${TAGGED_VERSION}
RUN mv perlecs.pdf perlecs-${TAGGED_VERSION}.pdf

# install EMDIS::ECS from tarball into local-lib directory
RUN cpanm --local-lib ${HOME}/perl5lib EMDIS-ECS-${TAGGED_VERSION}.tar.gz

# return to HOME directory
WORKDIR ${HOME}

# script to generate new certfiles, for use if/when the old certs expire
ADD --chown=perlecs:perlecs generate_ca_and_certfiles.sh ${HOME}/

# add GnuPG and EMDIS::ECS test configurations, and README
# (use tar commands instead of ADD, to set perlecs:perlecs file ownership)
COPY --chown=perlecs:perlecs certfiles.tar.gz ./
RUN mkdir -m 755 ./certfiles
RUN tar xzf ./certfiles.tar.gz -C ./certfiles
COPY --chown=perlecs:perlecs gnupg.tar.gz ./
RUN tar xzf ./gnupg.tar.gz -C ./
COPY --chown=perlecs:perlecs ecs-AA.tar.gz ecs-BB.tar.gz ecs-CC.tar.gz ecs-DD.tar.gz ecs-EE.tar.gz ./
RUN tar xzf ecs-AA.tar.gz
RUN tar xzf ecs-BB.tar.gz
RUN tar xzf ecs-CC.tar.gz
RUN tar xzf ecs-DD.tar.gz
RUN tar xzf ecs-EE.tar.gz
COPY --chown=perlecs:perlecs README README_GPG README_SMOKE_TESTING ./

#USER root



( run in 0.611 second using v1.01-cache-2.11-cpan-71847e10f99 )