diff options
author | Daniel Friesel <derf@finalrewind.org> | 2020-04-25 20:31:15 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2020-04-25 20:31:15 +0200 |
commit | d7f01be37f8652de6876900261ba7530a1fb9d53 (patch) | |
tree | d78a47b612f52d2d6c2d91153ee8031675c79933 | |
parent | 1a0a6576cd1175ca3fd08359f576c70079dd96a4 (diff) |
Add Dockerfile and docker-based .deb build scripts
-rw-r--r-- | Dockerfile | 22 | ||||
-rwxr-xr-x | scripts/makedeb-docker | 11 | ||||
-rwxr-xr-x | scripts/makedeb-docker-helper | 31 |
3 files changed, 64 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13100fd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM perl:5.30-slim + +COPY bin/ /app/bin/ +COPY lib/ /app/lib/ +COPY Build.PL cpanfile* /app/ + +WORKDIR /app + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update \ + && apt-get -y --no-install-recommends install ca-certificates curl gcc libc6-dev libssl1.1 libssl-dev libxml2 libxml2-dev make zlib1g-dev \ + && cpanm -n --no-man-pages --installdeps . \ + && perl Build.PL \ + && perl Build \ + && rm -rf ~/.cpanm \ + && apt-get -y purge curl gcc libc6-dev libssl-dev libxml2-dev make zlib1g-dev \ + && apt-get -y autoremove \ + && apt-get -y clean \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/* + +ENTRYPOINT ["perl", "-Ilib", "bin/efa"] diff --git a/scripts/makedeb-docker b/scripts/makedeb-docker new file mode 100755 index 0000000..6c06971 --- /dev/null +++ b/scripts/makedeb-docker @@ -0,0 +1,11 @@ +#!/bin/sh + +mkdir -p out + +docker run --rm -v "${PWD}:/orig:ro" -v "${PWD}/scripts:/scripts:ro" \ + -v "${PWD}/out:/out" -e USER=$(id -u) -e GROUP=$(id -g) \ + -e "DEBEMAIL=${DEBEMAIL}" -e "DEBFULLNAME=${DEBFULLNAME}" \ + -e "LOGNAME=${LOGNAME}" -e "VERSION=$(git describe --dirty)-1" \ + debian:buster /scripts/makedeb-docker-helper + +echo "Debian package has been written to $(pwd)/out" diff --git a/scripts/makedeb-docker-helper b/scripts/makedeb-docker-helper new file mode 100755 index 0000000..b8282a6 --- /dev/null +++ b/scripts/makedeb-docker-helper @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e + +export DEBIAN_FRONTEND=noninteractive + +apt-get update +apt-get -y install \ + apt-file dh-make-perl libmodule-build-perl \ + libclass-accessor-perl libexception-class-perl libfile-slurp-perl \ + libwww-perl libxml-libxml-perl \ + libtest-compile-perl libtest-number-delta-perl libtest-pod-perl \ + libtest-fatal-perl libtest-simple-perl + +apt-file update +apt-cache dumpavail | dpkg --merge-avail + +mkdir -p /src/app +cp -a /orig/Build.PL /orig/Changelog /orig/README /src/app +cp -a /orig/bin /orig/lib /orig/t /src/app +cd /src/app + +sed -i 's/sign => 1/sign => 0/' Build.PL +perl Build.PL +perl Build +perl Build manifest +perl Build dist +mv Travel-Routing-DE-VRR-*.tar.gz ../app.tar.gz +dh-make-perl --build --version "${VERSION}" +chown ${USER}:${GROUP} ../*.deb +mv -v ../*.deb /out |