packages/net/sqm-scripts/Makefile

89 lines
2.3 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sqm-scripts
PKG_SOURCE_VERSION:=ab763cba8b1516b3afa99760e0ca884f8b8d93b8
PKG_VERSION:=1.4.0
PKG_RELEASE:=1
PKG_LICENSE:=GPLv2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.xz
PKG_MIRROR_HASH:=00bc93f667ad417d4ba9bea4a01d87e3c670a294f61de13348a0f71e7700241f
PKG_SOURCE_URL:=https://github.com/tohojo/sqm-scripts.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
include $(INCLUDE_DIR)/package.mk
define Package/sqm-scripts
SECTION:=net
CATEGORY:=Base system
DEPENDS:=+tc +kmod-sched-core +kmod-sched-cake +kmod-ifb +iptables \
+iptables-mod-ipopt +iptables-mod-conntrack-extra
TITLE:=SQM Scripts (QoS)
PKGARCH:=all
MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
endef
define Package/sqm-scripts/description
A set of scripts that does simple SQM configuration.
endef
define Package/sqm-scripts/conffiles
/etc/config/sqm
/etc/sqm/sqm.conf
endef
define Package/sqm-scripts/install
make -C $(PKG_BUILD_DIR) DESTDIR=$(1) PLATFORM=openwrt install
endef
define Package/luci-app-sqm
SECTION:=luci
CATEGORY:=LuCI
TITLE:=SQM Scripts - LuCI interface
MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
PKGARCH:=all
sqm-scripts: select luci-base instead of depending on it Currently luci-app-sqm provided by sqm-scripts depends on luci-base instead of selecting it, this leads to an indirect circular dependency in kconfig: tmp/.config-package.in:34646:error: recursive dependency detected! For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:34646: symbol PACKAGE_iptables is selected by PACKAGE_sqm-scripts For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:961: symbol PACKAGE_sqm-scripts is selected by PACKAGE_luci-app-sqm For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:22421: symbol PACKAGE_luci-app-sqm depends on PACKAGE_luci-base For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:21387: symbol PACKAGE_luci-base is selected by PACKAGE_luci-lib-iptparser For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:22899: symbol PACKAGE_luci-lib-iptparser is selected by PACKAGE_luci-app-splash For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:22402: symbol PACKAGE_luci-app-splash is selected by PACKAGE_luci-mod-freifunk-community For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" tmp/.config-package.in:21552: symbol PACKAGE_luci-mod-freifunk-community depends on PACKAGE_iptables Solve the issue by turning the dependencies into selecting ones which also matches the behaviour of other LuCI applications. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-10 12:13:16 +00:00
DEPENDS:= +lua +luci-base +sqm-scripts
SUBMENU:=3. Applications
endef
define Package/luci-app-sqm/description
Luci interface for the SQM scripts queue management configuration package.
endef
define Package/luci-app-sqm/install
make -C $(PKG_BUILD_DIR) DESTDIR=$(1) PLATFORM=openwrt install-luci
endef
define Package/luci-app-sqm/postinst
#!/bin/sh
which uci > /dev/null || exit 0
uci -q get ucitrack.@sqm[0] > /dev/null || {
uci add ucitrack sqm > /dev/null
uci set ucitrack.@sqm[0].init=sqm
uci add_list ucitrack.@firewall[0].affects=sqm
uci commit
}
endef
define Package/luci-app-sqm/postrm
#!/bin/sh
which uci > /dev/null || exit 0
uci -q get ucitrack.@sqm[0] > /dev/null && {
uci delete ucitrack.@sqm[0]
uci del_list ucitrack.@firewall[0].affects=sqm
uci commit
} || exit 0
endef
$(eval $(call BuildPackage,sqm-scripts))
$(eval $(call BuildPackage,luci-app-sqm))