From 9d4cf08c306cbedd4944c1cf1e6937d629668a07 Mon Sep 17 00:00:00 2001 From: Thilo Fromm Date: Fri, 8 Mar 2024 18:41:03 +0100 Subject: [PATCH] relase.sh: record versions of important packages Signed-off-by: Thilo Fromm --- .gitignore | 2 ++ Dockerfile | 6 ------ release-files.txt | 3 +-- release.sh | 23 ++++++++++++++++++++++- release_package_versions.list | 9 +++++++++ 5 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 release_package_versions.list diff --git a/.gitignore b/.gitignore index 5bcc25e..de31405 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ mailman.yaml start_mailman.sh mailserver*.tgz VERSION +PACKAGE_VERSIONS +.* diff --git a/Dockerfile b/Dockerfile index 5314741..09200be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -62,10 +62,4 @@ RUN addgroup -g 2001 mailuser \ COPY scripts/ / RUN chmod 755 /*.sh -# Hack alert: Alpine 3.17 still uses legacy IPTables (though it also ships nftables). -# So we make the nftables multi-binary pretend it's the legacy one (so all the softlinks remain functional). -# IPTables is used by Fail2Ban. -RUN mv /sbin/xtables-legacy-multi /sbin/xtables-legacy-multi.orig \ - && ln -s /sbin/xtables-nft-multi /sbin/xtables-legacy-multi - entrypoint /entry.sh diff --git a/release-files.txt b/release-files.txt index 444b125..90cbda1 100644 --- a/release-files.txt +++ b/release-files.txt @@ -6,7 +6,6 @@ LICENSE README.md dns_check.sh settings.env.empty -start_mailserver.sh -start_monitoring.sh user.sh VERSION +PACKAGE_VERSIONS diff --git a/release.sh b/release.sh index d259398..67d6747 100755 --- a/release.sh +++ b/release.sh @@ -47,9 +47,26 @@ if [ -n "${untracked}" ] ; then fi yell "Building the container image" +docker pull alpine:latest docker build --pull -t "${container}:${version}" . docker tag "${container}:${version}" "${container}:latest" +yell "Querying version information" +{ + while read -u 9 line; do + name="${line%,*}" + cmd="${line#*,}" + echo -n "* ${name}: " + docker run --entrypoint /bin/bash --rm -i "${container}:${version}" -l -c "${cmd}" + done 9 PACKAGE_VERSIONS + yell "Creating the release tarball" echo "${version}" >VERSION tar czvf "${release_name}.tgz" -T release-files.txt @@ -58,7 +75,7 @@ yell "Creating the release tag" git tag "${release_name}" yell "Done." - +echo "---------------------------------------" echo "Now run:" echo " docker push ${container}:${version}" echo " docker push ${container}:latest" @@ -68,3 +85,7 @@ echo echo "Then go to" echo " https://github.com/t-lo/mailserver/releases/new" echo "to create a new release, and attach ${release_name}.tgz" +echo +echo "Release version information" +echo "---------------------------" +cat PACKAGE_VERSIONS diff --git a/release_package_versions.list b/release_package_versions.list new file mode 100644 index 0000000..e008b2d --- /dev/null +++ b/release_package_versions.list @@ -0,0 +1,9 @@ +alpine,source /etc/os-release; echo \$VERSION_ID +postfix,apk version postfix | tail -n1 | sed 's/[[:space:]].*//' +certbot,apk version certbot | tail -n1 | sed 's/[[:space:]].*//' +opendkim,apk version opendkim | tail -n1 | sed 's/[[:space:]].*//' +opendmarc,apk version opendmarc | tail -n1 | sed 's/[[:space:]].*//' +caddy,apk version caddy | tail -n1 | sed 's/[[:space:]].*//' +dovecot,apk version dovecot | tail -n1 | sed 's/[[:space:]].*//' +fail2ban,apk version fail2ban | tail -n1 | sed 's/[[:space:]].*//' +supervisor,apk version supervisor | tail -n1 | sed 's/[[:space:]].*//'