You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fail2ban/eac80966c503b0bc940c119d9a0...

40 lines
1.6 KiB

From eac80966c503b0bc940c119d9a0adafb9ccf50d4 Mon Sep 17 00:00:00 2001
From: sebres <serg.brester@sebres.de>
Date: Fri, 24 Nov 2017 12:54:45 +0100
Subject: [PATCH] Fix scripts-root within `fail2ban.service` (relative install
root-base directory). This is amend for
e3b061e94b54067525c5e7f2ac716d1c838c9f20. Closes gh-1964
---
setup.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
index 11748778b..5dbd5b1ae 100755
--- a/setup.py
+++ b/setup.py
@@ -88,7 +88,13 @@ def get_outputs(self):
def update_scripts(self, dry_run=False):
buildroot = os.path.dirname(self.build_dir)
- print('Creating %s/fail2ban.service (from fail2ban.service.in): @BINDIR@ -> %s' % (buildroot, self.install_dir))
+ try:
+ root = self.distribution.command_options['install']['root'][1]
+ if self.install_dir.startswith(root):
+ install_dir = self.install_dir[len(root):]
+ except: # pragma: no cover
+ print('WARNING: Cannot find root-base option, check the bin-path to fail2ban-scripts in "fail2ban.service".')
+ print('Creating %s/fail2ban.service (from fail2ban.service.in): @BINDIR@ -> %s' % (buildroot, install_dir))
with open(os.path.join(source_dir, 'files/fail2ban.service.in'), 'r') as fn:
lines = fn.readlines()
fn = None
@@ -96,7 +102,7 @@ def update_scripts(self, dry_run=False):
fn = open(os.path.join(buildroot, 'fail2ban.service'), 'w')
try:
for ln in lines:
- ln = re.sub(r'@BINDIR@', lambda v: self.install_dir, ln)
+ ln = re.sub(r'@BINDIR@', lambda v: install_dir, ln)
if dry_run:
sys.stdout.write(' | ' + ln)
continue