2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2024 Geoff Weiss
16 BUILD_STYLE
= setup.py
17 include ..
/..
/..
/make-rules
/shared-macros.mk
19 COMPONENT_NAME
= fail2ban
20 COMPONENT_VERSION
= 1.1.0
21 COMPONENT_SUMMARY
= Ban hosts that cause multiple authentication errors
22 COMPONENT_PROJECT_URL
= https
://www.fail2ban.org
23 COMPONENT_FMRI
= network
/$(COMPONENT_NAME
)
24 COMPONENT_CLASSIFICATION
= System
/Services
25 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
26 COMPONENT_ARCHIVE
= $(COMPONENT_VERSION
).
tar.gz
27 COMPONENT_ARCHIVE_URL
= https
://github.com
/fail2ban
/fail2ban
/archive
/$(COMPONENT_ARCHIVE
)
28 COMPONENT_ARCHIVE_HASH
= sha256
:474fcc25afdaf929c74329d1e4d24420caabeea1ef2e041a267ce19269570bae
29 COMPONENT_LICENSE
= GPLv2
30 COMPONENT_LICENSE_FILE
= COPYING
32 # This is a standalone application. Since no other Python project depends on
33 # it we just provide single unversioned package.
34 SINGLE_PYTHON_VERSION
= yes
36 include $(WS_MAKE_RULES
)/common.mk
38 COMPONENT_BUILD_CMD
= $(PYTHON
) setup.py build
39 COMPONENT_INSTALL_CMD
= $(PYTHON
) setup.py
install
40 COMPONENT_INSTALL_ARGS
+= --prefix=/usr
41 COMPONENT_INSTALL_ARGS
+= --root
=$(PROTO_DIR
)
42 COMPONENT_INSTALL_ARGS
+= --skip-build
44 # Install SMF manifest files. Remove paths files for other OS's.
45 # Add openindiana paths file.
46 COMPONENT_POST_INSTALL_ACTION
+= \
47 $(PYTHON
) -mcompileall
$(PROTO_DIR
) ; \
48 $(MKDIR
) $(PROTO_DIR
)/lib
/svc
/method
; \
49 $(CP
) $(SOURCE_DIR
)/files
/solaris-svc-fail2ban
$(PROTO_DIR
)/lib
/svc
/method
/svc-fail2ban
; \
50 $(MKDIR
) $(PROTO_DIR
)/lib
/svc
/manifest
/network
; \
51 $(CP
) $(SOURCE_DIR
)/files
/solaris-fail2ban.xml
$(PROTO_DIR
)/lib
/svc
/manifest
/network
; \
52 $(CP
) $(COMPONENT_DIR
)/files
/paths-openindiana.conf
$(PROTO_DIR
)/etc
/fail2ban
; \
53 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-arch.conf
; \
54 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-debian.conf
; \
55 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-fedora.conf
; \
56 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-freebsd.conf
; \
57 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-opensuse.conf
; \
58 rm -f
$(PROTO_DIR
)/etc
/fail2ban
/paths-osx.conf
;
60 # Auto-generated dependencies
61 PYTHON_REQUIRED_PACKAGES
+= runtime
/python
62 REQUIRED_PACKAGES
+= SUNWcs
63 REQUIRED_PACKAGES
+= shell/bash