mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
98 lines
3.1 KiB
Makefile
98 lines
3.1 KiB
Makefile
#
|
|
# Copyright (C) 2021-2025 IOPSYS
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=parental-control
|
|
PKG_VERSION:=1.4.5
|
|
|
|
LOCAL_DEV:=0
|
|
ifneq ($(LOCAL_DEV),1)
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://dev.iopsys.eu/network/parental-control.git
|
|
PKG_SOURCE_VERSION:=11777ff069888fc543c2501110313b654bbbfbc9
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=skip
|
|
endif
|
|
|
|
PKG_LICENSE:=GPL-2.0-only
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(TOPDIR)/feeds/iopsys/bbfdm/bbfdm.mk
|
|
|
|
define Package/parental-control
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
TITLE:=URL filter
|
|
DEPENDS:=+libuci +libnetfilter-queue +libnfnetlink +iptables-mod-nfqueue +libpthread
|
|
DEPENDS+=+libubox +ubus +conntrack +libcurl +cmph +libjson-c
|
|
DEPENDS+=+libbbfdm-api +libbbfdm-ubus +dm-service
|
|
endef
|
|
|
|
define Package/parental-control/description
|
|
Enables filtering of packets on the basis of URL and source MAC address.
|
|
endef
|
|
|
|
define Package/$(PKG_NAME)/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
TARGET_CFLAGS += -D_GNU_SOURCE
|
|
|
|
ifeq ($(CONFIG_PARENTAL_CONTROL_VENDOR_PREFIX),"")
|
|
VENDOR_PREFIX = $(CONFIG_BBF_VENDOR_PREFIX)
|
|
else
|
|
VENDOR_PREFIX = $(CONFIG_PARENTAL_CONTROL_VENDOR_PREFIX)
|
|
endif
|
|
|
|
TARGET_CFLAGS += -DBBF_VENDOR_PREFIX=\\\"$(VENDOR_PREFIX)\\\"
|
|
|
|
ifeq ($(CONFIG_PARENTAL_CONTROL_URLFILTERING),y)
|
|
TARGET_CFLAGS+=-DPARENTAL_CONTROL_ULRFILTER
|
|
endif
|
|
|
|
TARGET_LDFLAGS += -lcmph
|
|
|
|
ifeq ($(LOCAL_DEV),1)
|
|
define Build/Prepare
|
|
$(CP) -rf ~/git/parental-control/* $(PKG_BUILD_DIR)/
|
|
endef
|
|
endif
|
|
|
|
define Package/parental-control/install
|
|
$(INSTALL_DIR) $(1)/etc/parentalcontrol
|
|
$(INSTALL_DIR) $(1)/lib/parentalcontrol
|
|
$(INSTALL_DATA) ./files/lib/parentalcontrol/parentalcontrol.sh $(1)/lib/parentalcontrol/
|
|
$(INSTALL_BIN) ./files/lib/parentalcontrol/sync_bundles.sh $(1)/lib/parentalcontrol/
|
|
|
|
$(INSTALL_DIR) $(1)/etc
|
|
$(INSTALL_DATA) ./files/etc/firewall.parentalcontrol $(1)/etc/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/urlfilter $(1)/usr/sbin
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/etc/init.d/parentalcontrol $(1)/etc/init.d/
|
|
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_DATA) ./files/etc/config/parentalcontrol $(1)/etc/config/parentalcontrol
|
|
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_DATA) ./files/etc/uci-defaults/95-firewall_parentalcontrol.ucidefaults $(1)/etc/uci-defaults/
|
|
$(INSTALL_DATA) ./files/etc/uci-defaults/35-migrate_urlfilter.ucidefaults $(1)/etc/uci-defaults/
|
|
|
|
$(BBFDM_REGISTER_SERVICES) -v ${VENDOR_PREFIX} ./bbfdm_service.json $(1) parentalcontrol
|
|
|
|
$(INSTALL_DATA) ./files/etc/uci-defaults/40-parental_control_update_bundle_path $(1)/etc/uci-defaults/
|
|
ifeq ($(CONFIG_PARENTAL_CONTROL_URLFILTERING),y)
|
|
$(INSTALL_DATA) ./files/etc/parentalcontrol/url_bundles.json $(1)/etc/parentalcontrol/
|
|
$(INSTALL_DATA) ./files/etc/parentalcontrol/urlbundle_override.json $(1)/etc/parentalcontrol/
|
|
else
|
|
$(BBFDM_INSTALL_MS_PLUGIN) -v ${VENDOR_PREFIX} ./files/urlbundle_override.json $(1) parentalcontrol
|
|
endif
|
|
$(INSTALL_DATA) ./files/etc/uci-defaults/50-parental_control_disable_urlfilter $(1)/etc/uci-defaults/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,parental-control))
|