tibbs / rpms / fail2ban

Forked from rpms/fail2ban 5 years ago
Clone
Blob Blame History Raw
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