Skip to content

Commit

Permalink
Alpine Linux 3.16
Browse files Browse the repository at this point in the history
  • Loading branch information
crazy-max committed Jun 5, 2022
1 parent a3ba360 commit 9806b56
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 8 deletions.
26 changes: 18 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
ARG FAIL2BAN_VERSION="0.11.2"
# syntax=docker/dockerfile:1

FROM alpine:3.15
ARG FAIL2BAN_VERSION=0.11.2
ARG ALPINE_VERSION=3.16

FROM --platform=$BUILDPLATFORM alpine:${ALPINE_VERSION} AS fail2ban-src
RUN apk add --no-cache git patch
WORKDIR /src/fail2ban
ARG FAIL2BAN_VERSION
RUN apk --update --no-cache add \
RUN <<EOT
git clone https://github.com/fail2ban/fail2ban.git .
git reset --hard $FAIL2BAN_VERSION
EOT
COPY patches /src/patches
RUN patch -p1 < /src/patches/fix-gh-3098-build-fails-with-error-in-fail2ban-setup.patch

FROM alpine:${ALPINE_VERSION}
RUN --mount=from=fail2ban-src,source=/src/fail2ban,target=/tmp/fail2ban,rw \
apk --update --no-cache add \
bash \
curl \
grep \
Expand All @@ -25,14 +38,11 @@ RUN apk --update --no-cache add \
python3-dev \
&& pip3 install --upgrade pip \
&& pip3 install dnspython3 pyinotify \
&& cd /tmp \
&& curl -SsOL https://github.com/fail2ban/fail2ban/archive/${FAIL2BAN_VERSION}.zip \
&& unzip ${FAIL2BAN_VERSION}.zip \
&& cd fail2ban-${FAIL2BAN_VERSION} \
&& cd /tmp/fail2ban \
&& 2to3 -w --no-diffs bin/* fail2ban \
&& python3 setup.py install \
&& apk del build-dependencies \
&& rm -rf /etc/fail2ban/jail.d /tmp/*
&& rm -rf /etc/fail2ban/jail.d

COPY entrypoint.sh /entrypoint.sh

Expand Down
67 changes: 67 additions & 0 deletions patches/fix-gh-3098-build-fails-with-error-in-fail2ban-setup.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
From 5ac303df8a171f748330d4c645ccbf1c2c7f3497 Mon Sep 17 00:00:00 2001
From: sebres <info@sebres.de>
Date: Sun, 19 Sep 2021 18:49:18 +0200
Subject: [PATCH] fix gh-3098: build fails with error in fail2ban setup
command: use_2to3 is invalid (setuptools 58+)

---
setup.py | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/setup.py b/setup.py
index f4c2550f..98413273 100755
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,7 @@ import warnings
from glob import glob

from fail2ban.setup import updatePyExec
-
+from fail2ban.version import version

source_dir = os.path.realpath(os.path.dirname(
# __file__ seems to be overwritten sometimes on some python versions (e.g. bug of 2.6 by running under cProfile, etc.):
@@ -112,22 +112,12 @@ class install_scripts_f2b(install_scripts):
# Wrapper to specify fail2ban own options:
class install_command_f2b(install):
user_options = install.user_options + [
- ('disable-2to3', None, 'Specify to deactivate 2to3, e.g. if the install runs from fail2ban test-cases.'),
('without-tests', None, 'without tests files installation'),
]
def initialize_options(self):
- self.disable_2to3 = None
self.without_tests = not with_tests
install.initialize_options(self)
def finalize_options(self):
- global _2to3
- ## in the test cases 2to3 should be already done (fail2ban-2to3):
- if self.disable_2to3:
- _2to3 = False
- if _2to3:
- cmdclass = self.distribution.cmdclass
- cmdclass['build_py'] = build_py_2to3
- cmdclass['build_scripts'] = build_scripts_2to3
if self.without_tests:
self.distribution.scripts.remove('bin/fail2ban-testcases')

@@ -178,7 +168,6 @@ commands.'''
if setuptools:
setup_extra = {
'test_suite': "fail2ban.tests.utils.gatherTests",
- 'use_2to3': True,
}
else:
setup_extra = {}
@@ -202,9 +191,6 @@ if platform_system in ('linux', 'solaris', 'sunos') or platform_system.startswit
('/usr/share/doc/fail2ban', doc_files)
)

-# Get version number, avoiding importing fail2ban.
-# This is due to tests not functioning for python3 as 2to3 takes place later
-exec(open(join("fail2ban", "version.py")).read())

setup(
name = "fail2ban",
--


0 comments on commit 9806b56

Please sign in to comment.