Compare commits

...

38 Commits

Author SHA1 Message Date
Suru Dissanaike
b1216b27d3 Revert "Update Makefile"
This reverts commit 8d205a9cfc
2020-11-18 10:48:18 +01:00
Suru Dissanaike
b969f9a373 Revert "Update Makefile"
This reverts commit a92443b42c
2020-11-18 10:47:32 +01:00
Suru Dissanaike
52dcdd8c07 Revert "IOP: Update config"
This reverts commit e756afd3e3
2020-11-18 10:46:03 +01:00
Amin Ben Ramdhane
cb38e87f39 bbf: 2.6-2020-11-13 2020-11-18 10:41:20 +01:00
Anjan Chanda
bff68b2211 ieee1905: 2.1.0 2020-11-18 10:41:20 +01:00
Suru Dissanaike
e756afd3e3 IOP: Update config 2020-11-03 21:33:12 +01:00
Suru Dissanaike
a92443b42c Update Makefile 2020-11-03 20:26:19 +01:00
Suru Dissanaike
8d205a9cfc Update Makefile 2020-11-03 17:15:19 +01:00
Jakob Olsson
1cc58b55e4 ieee1905: 20.0.30 - release-5.3 branch 2020-10-29 13:55:36 +01:00
Jakob Olsson
b5b5aab523 Revert "ieee1905: 20.0.30"
This reverts commit f01bd18ffc.
2020-10-29 13:54:46 +01:00
Jakob Olsson
f01bd18ffc ieee1905: 20.0.30 2020-10-29 13:45:09 +01:00
Omar Kallel
dcf2c78f55 icwmp: 5.0-2020-10-13 2020-10-28 12:54:57 +01:00
Amin Ben Ramdhane
33eb93c5a6 bbf: 2.5-2020-10-26 2020-10-28 12:52:39 +01:00
Arun Muthusamy
883b5bd0fa Add Libreswan package 2020-10-26 14:21:33 +01:00
Amin Ben Ramdhane
60f201d04f bbf: 2.5-2020-10-23 2020-10-23 12:01:19 +01:00
Sukru Senli
fe8857f271 iop: config: selectm miniupnpc by default 2020-10-19 13:48:47 +02:00
Jakob Olsson
94e9f52f74 map-1905: 0.0.13 2020-10-15 12:32:15 +02:00
Rahul
c2f8359a71 qosmngr: add log
Syslog added to log non-availability of traffic policing on the wan
port on 63138, this is a chip level limitation.
2020-10-14 14:58:13 +05:30
Rahul
7bbae7a4ac qosmngr: add support for dhcp option as classification criteria
DHCP option value 60, 61 and 77 can now be used to identify lan
clients. Details of UCI as follows:

config classify
    option src_vendor_class_id 'abc' // DHCP option 60.
    option dst_vendor_class_id 'abc' // DHCP option 60.
    option src_client_id 'xyz'       // DHCP option 61
    option dst_client_id 'xyz'       // DHCP option 61
    option src_user_class_id 'dfg'   // DHCP option 77
    option dst_user_class_id 'dfg'   // DHCP option 77
2020-10-14 11:24:18 +05:30
Rahul
baea8f9b5b qosmngr: add support for upstream policing on dg400prime
This patch adds support for upstream policing on dg400prime.
Downstream policing still seems to be an issue for which ticket
has been re-opened on broadcom.

Test:
Upstream policing test script passes on both panther and dg400prime.
2020-10-12 22:13:43 +05:30
Amin Ben Ramdhane
907e111bf2 bbf: fix SentOption segfault issue 2020-10-10 13:22:26 +02:00
Amin Ben Ramdhane
f4c0f9f4e6 bbf: fix DHCPv4 MaxAddress 2020-10-10 12:29:48 +02:00
Sukru Senli
9766cea180 bbf: 2.4-2020-10-10 2020-10-10 12:03:29 +02:00
Sukru Senli
2284fcabbd icwmp: keep cwmp session backup xml file over upgrade 2020-10-09 21:52:33 +02:00
Omar Kallel
b0166c10c0 Rename uci notify options && remove ubus call tr069 notify from the init 2020-10-09 20:06:55 +01:00
Omar Kallel
e744ed1619 icwmp: 09-10-2020 2020-10-09 18:52:30 +01:00
Omar Kallel
37865ab486 Add new notification feature & delete icwmp_notifd 2020-10-09 18:47:54 +01:00
Sukru Senli
c401361389 iop: select rsync; needed by upgrade script
rsync is GPLv3 so we need to make upgrade script independent of it
2020-10-09 18:44:01 +02:00
Amin Ben Ramdhane
f75c6e6be3 bbf: 2.4-2020-10-09 2020-10-09 18:03:40 +02:00
Omar
e658747f5c icwmp: 5.0-2020-10-09 2020-10-09 12:39:34 +02:00
sverma
57fe67db18 wfadatad: Misc Fixes.
* Added mandatory profile-2 tlvs
	* Topology query responded only when it's having map-2 provile TLV
	* Added support for ieee1905.neighbor event
2020-10-09 13:59:01 +05:30
Raphael Derensy
ea0a900205 iop: select atftp and atftpd as modules 2020-10-08 14:11:15 +02:00
vdutta
790fe1360d map-1905: Fix parsing of channel preference tlv 2020-10-08 17:27:31 +05:30
nevadita.chatterjee
a5c45e19bb map-topology:Added version 2020-10-07 20:32:35 +02:00
Omar Kallel
d9d62aa292 icwmp: 5.0-2020-10-07 2020-10-07 19:29:19 +02:00
Omar Kallel
9972c46622 bbf: 2.4-2020-10-07 2020-10-07 19:28:39 +02:00
Sukru Senli
9bd7a6d840 iop: deselect some gplv3 packages 2020-10-07 17:59:02 +02:00
Jakob Olsson
d0024fcc39 rulengd: add regex match to event name 2020-10-07 15:04:56 +02:00
12 changed files with 196 additions and 55 deletions

View File

@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libbbfdm
PKG_VERSION:=2.4-2020-10-02
PKG_VERSION:=2.6-2020-11-13
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/bbf.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=128e5b0900825eb8592cb1417a3b97af763930dc
PKG_SOURCE_VERSION:=192a2f48b0d066e182e2bbe193a826487c90f11f
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)

View File

@@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=icwmp
PKG_VERSION:=5.0-2020-10-02
PKG_VERSION:=5.0-2020-10-13
PKG_FIXUP:=autoreconf
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/icwmp.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=f46ec43092f879a82923d03e7cc104ccc6e335ad
PKG_SOURCE_VERSION:=85ffabf799f769f9100068e887ed4f5ca8286620
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -40,14 +40,6 @@ define Package/icwmp-tr098
DEPENDS:=+PACKAGE_icwmp-tr098:libuci +PACKAGE_icwmp-tr098:libmicroxml +PACKAGE_icwmp-tr098:libubox +PACKAGE_icwmp-tr098:jshn +PACKAGE_icwmp-tr098:libubus +PACKAGE_icwmp-tr098:libblobmsg-json +PACKAGE_icwmp-tr098:libpthread +PACKAGE_icwmp-tr098:ubusd +PACKAGE_icwmp-tr098:shflags +PACKAGE_icwmp-tr098:getopt +PACKAGE_icwmp-tr098:zlib +PACKAGE_icwmp-tr098:libjson-c +PACKAGE_icwmp-tr098:libopenssl +PACKAGE_icwmp-tr098:curl +PACKAGE_icwmp-tr098:libcurl +PACKAGE_icwmp-tr098:libtr098
endef
define Package/icwmp-notifd
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=TRx69
TITLE:=CWMP Active Notifications Detect tool
DEPENDS:=+libubox +libuci +libbbfdm +libjson-c +libubus +libblobmsg-json
endef
define Package/$(PKG_NAME)
SECTION:=utils
CATEGORY:=Utilities
@@ -79,11 +71,6 @@ CONFIGURE_ARGS += \
--enable-icwmp_tr098
endif
ifeq ($(CONFIG_PACKAGE_icwmp-notifd),y)
CONFIGURE_ARGS += \
--enable-icwmp_notifd
endif
ifneq ($(CWMP_REVISION)_,_)
ifneq ($(CWMP_REVISION),exported)
ifneq ($(CWMP_REVISION),Unversioned directory)
@@ -140,11 +127,6 @@ define Package/icwmp-tr098/install
$(CP) $(PKG_BUILD_DIR)/bin/icwmp_tr098d $(1)/usr/sbin
endef
define Package/icwmp-notifd/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/icwmp_notifd $(1)/usr/sbin/icwmp_notifd
endef
define Package/$(PKG_NAME)/postinst
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
@@ -165,4 +147,3 @@ endef
$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,icwmp-tr098))
$(eval $(call BuildPackage,icwmp-notifd))

View File

@@ -38,7 +38,8 @@ config cpe 'cpe'
option notification '1'
option datamodel 'tr181'
option exec_download '0'
option polling_period '5'
option periodic_notify_enable '1'
option periodic_notify_interval '10'
config lwn 'lwn'
option enable '1'

View File

@@ -220,10 +220,5 @@ notify() {
service_triggers() {
procd_add_config_trigger "config.change" "cwmp" /etc/init.d/icwmpd reload
if [ "$(uci -q get cwmp.cpe.notification)" == "1" ]; then
for conf in $(ls /etc/config/); do
procd_add_config_trigger "config.change" "$conf" /etc/init.d/icwmpd notify
done
fi
}

View File

@@ -0,0 +1,29 @@
#!/bin/sh
# As part of sysupgrade we copy CWMP Backup Session XML file.
# Abort on any error.
set -e
# Do nothing if user want to discard old settings.
if [ -n "$SAVE_CONFIG" ] && [ $SAVE_CONFIG -eq 0 ]; then
exit 0
fi
# Source functions.
for f in /lib/upgrade/iopsys*.sh; do
[ -r "$f" -a -s "$f" ] || continue
source $f
done
if [ -s "${2}/etc/icwmpd/.icwmpd_backup_session.xml" ]; then
cat "${2}/etc/icwmpd/.icwmpd_backup_session.xml" > "/etc/icwmpd/.icwmpd_backup_session.xml"
fi
# Report success.
log "post-hooks" "CWMP Backup Session XML file migrated"
exit 0

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ieee1905
PKG_VERSION:=2.0.29
PKG_VERSION:=2.1.0
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=6e4666101c6927a163480c00fadc0bf2a6f8894c
PKG_SOURCE_VERSION:=5b712be46aadc0b54cdb72464150ab58892e9c3f
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/ieee1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
endif

View File

@@ -7,6 +7,8 @@ CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_alsa-lib=y
CONFIG_PACKAGE_atftp=m
CONFIG_PACKAGE_atftpd=m
CONFIG_PACKAGE_bulkdata=y
CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_comgt=y
@@ -15,8 +17,6 @@ CONFIG_PACKAGE_comgt-ncm=y
CONFIG_PACKAGE_ddns-scripts=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_ethtool=y
CONFIG_PACKAGE_fatrace=y
CONFIG_PACKAGE_gdb=m
CONFIG_PACKAGE_getopt=y
CONFIG_PACKAGE_glib2=y
CONFIG_PACKAGE_icwmp=y
@@ -49,10 +49,11 @@ CONFIG_PACKAGE_juci-theme-iopsys=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libgmp=y
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_libreswan=m
CONFIG_PACKAGE_libwifi=y
CONFIG_PACKAGE_loop-detector=m
CONFIG_PACKAGE_lscpu=y
CONFIG_PACKAGE_map=y
CONFIG_PACKAGE_miniupnpc=y
CONFIG_PACKAGE_miniupnpd=y
CONFIG_PACKAGE_mwan3=y
CONFIG_PACKAGE_nand-utils=y
@@ -84,8 +85,8 @@ CONFIG_PACKAGE_relayd=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rsync=m
CONFIG_PACKAGE_rulengd=y
CONFIG_PACKAGE_rsync=y
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_swmodd=m
CONFIG_PACKAGE_tc=y

View File

@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=map-1905
PKG_VERSION:=0.0.11
PKG_VERSION:=0.0.13
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=bf13ed6117078177e9ba170b671d25afc044f246
PKG_SOURCE_VERSION:=31e30c589cb2a522fb66261640ff1a5f8ff58ac4
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/map-1905.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
endif

View File

@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=map-topology
PKG_VERSION:=1.5.5
PKG_VERSION:=1.5.6
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_VERSION:=55ae3fea1a6eb5372610452e3ad965ad5afa828c
PKG_SOURCE_VERSION:=8d008ef712227986263e9a2a1b188ce3a27e17f8
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/map-topology.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz

View File

@@ -204,6 +204,8 @@ broute_append_rule() {
handle_ebtables_rules() {
sid=$1
local is_l2_rule=0
local src_dhcp_options=""
local dst_dhcp_options=""
init_broute_rule
@@ -213,6 +215,14 @@ handle_ebtables_rules() {
config_get pcp_check "$sid" "pcp_check"
config_get eth_type "$sid" "ethertype"
config_get vid "$sid" "vid_check"
config_get dhcp_type "$sid" "dhcp_type" # dhcpv4 or v6
config_get src_vcid "$sid" "src_vendor_class_id" # dhcp option 60
config_get dst_vcid "$sid" "dst_vendor_class_id" # dhcp option 60
config_get src_clid "$sid" "src_client_id" # dhcp option 61
config_get dst_clid "$sid" "dst_client_id" # dhcp option 61
config_get src_ucid "$sid" "src_user_class_id" # dhcp option 77
config_get dst_ucid "$sid" "dst_user_class_id" # dhcp option 77
config_get traffic_class "$sid" "traffic_class"
if [ -n "$src_if" ]; then
@@ -250,6 +260,70 @@ handle_ebtables_rules() {
is_l2_rule=1
fi
# first process options that will help figure our source mac address
# dhcp option for "vendor class id"
if [ -n "$src_vcid" ]; then
src_dhcp_options="$src_dhcp_options vcid=$src_vcid"
is_l2_rule=1
fi
# dhcp option for "client id"
if [ -n "$src_clid" ]; then
src_dhcp_options="$src_dhcp_options clid=$src_clid"
is_l2_rule=1
fi
# dhcp option for "user class id"
if [ -n "$src_ucid" ]; then
src_dhcp_options="$src_dhcp_options ucid=$src_ucid"
is_l2_rule=1
fi
# if src mac is already a classification criteria, then it
# does not really make sense to add it as a criteria to
# filter packets again based on source mac
if [ -n "$src_dhcp_options" -a -z "$src_mac" ]; then
comp="$(grep -i "$src_dhcp_options" /tmp/dhcp.client.options)"
if [ -n "$comp" ]; then
s_mac_add="$(echo $comp | head -n1 | awk '{print $1;}')"
if [ -n "$s_mac_add" ]; then
broute_filter_on_src_mac $s_mac_add
fi
fi
fi
# Now process options that will help figure our destination mac address
# dhcp option for "vendor class id"
if [ -n "$dst_vcid" ]; then
dst_dhcp_options="$dst_dhcp_options vcid=$dst_vcid"
is_l2_rule=1
fi
# dhcp option for "client id"
if [ -n "$dst_clid" ]; then
dst_dhcp_options="$dst_dhcp_options clid=$dst_clid"
is_l2_rule=1
fi
# dhcp option for "user class id"
if [ -n "$dst_ucid" ]; then
dst_dhcp_options="$dst_dhcp_options ucid=$dst_ucid"
is_l2_rule=1
fi
# if dst mac is already a classification criteria, then it
# does not really make sense to add it as a criteria to
# filter packets again based on dstination mac
if [ -n "$dst_dhcp_options" -a -z "$dst_mac" ]; then
comp="$(grep -i "$dst_dhcp_options" /tmp/dhcp.client.options)"
if [ -n "$comp" ]; then
d_mac_add="$(echo $comp | head -n1 | awk '{print $1;}')"
if [ -n "$d_mac_add" ]; then
broute_filter_on_dst_mac $d_mac_add
fi
fi
fi
if [ $is_l2_rule -eq 0 ]; then
return
fi
@@ -449,12 +523,34 @@ handle_iptables_rules() {
fi
}
assign_policer_to_port() {
local ifname="$1"
local pindex="$2"
local portorder="$(db -q get hw.board.ethernetPortOrder)"
local wanport="$(db -q get hw.board.ethernetWanPort)"
local i=0
for port in $portorder; do
if [ "$ifname" == "$port" ]; then
if [ "$wanport" == "$port" ]; then
bs /b/configure port/index=wan0 ingress_rate_limit={traffic_types=8,policer={policer/dir=us,index=$pindex}}
else
bs /b/configure port/index=lan$i ingress_rate_limit={traffic_types=8,policer={policer/dir=us,index=$pindex}}
fi
break
fi
i=$((i + 1))
done
}
handle_policer_rules() {
local c_sec=$1
local policer_name
local ifname
local pname
local pindex=-1
local ingress_rate=0
local in_burst_size=0
config_get policer_name "$c_sec" "policer"
if [ -z "$policer_name" ];then
@@ -480,6 +576,8 @@ handle_policer_rules() {
pname="$(uci -q get qos.@policer[$i].name)"
if [ "$policer_name" == "$pname" ]; then
pindex=$i
ingress_rate=$(uci -q get qos.@policer[$i].committed_rate)
in_burst_rate=$(uci -q get qos.@policer[$i].committed_burst_size)
break
fi
i=$((i + 1))
@@ -490,21 +588,40 @@ handle_policer_rules() {
return
fi
local portorder="$(db -q get hw.board.ethernetPortOrder)"
# The policer object is not available on non BCM968* chips
if [ $is_bcm968 -eq 1 ]; then
assign_policer_to_port $ifname $pindex
else
config_ingress_rate_limit $ifname $ingress_rate $in_burst_size
fi
}
config_ingress_rate_limit() {
local ifname="$1"
local ingress_rate=$2
local in_burst_size=$3
local wanport="$(db -q get hw.board.ethernetWanPort)"
i=0
for port in $portorder; do
if [ "$ifname" == "$port" ]; then
if [ "$wanport" == "$port" ]; then
bs /b/configure port/index=wan0 ingress_rate_limit={traffic_types=8,policer={policer/dir=us,index=$pindex}}
else
bs /b/configure port/index=lan$i ingress_rate_limit={traffic_types=8,policer={policer/dir=us,index=$pindex}}
fi
break
fi
i=$((i + 1))
done
if [ "$ifname" == "$wanport" ]; then
logger -t qosmngr "policing is not support on port $ifname"
return
fi
# Unit in uci file is in bps while that accepted by ethswctl is kbits
if [ $ingress_rate -lt 1000 ]; then
return
fi
ingress_rate=$((ingress_rate / 1000))
if [ $in_burst_size -eq 0 ]; then
in_burst_size=$ingress_rate
else
in_burst_size=$((in_burst_size / 1000))
fi
ethswctl -c rxratectrl -n 1 -p $ifname -x $ingress_rate -y $in_burst_size
}
#function to handle a classify section
@@ -583,6 +700,16 @@ configure_queue() {
}
configure_policer() {
# The policer object is not available on non BCM968* chips, just clean up
# the old config if any and return
if [ $is_bcm968 -eq 0 ]; then
for intf in $(db get hw.board.ethernetPortOrder); do
# setting rate and burst size to 0 disables rate limiting
ethswctl -c rxratectrl -n 1 -p $intf -x 0 -y 0
done
return
fi
# Delete policer
local i=0
local max_p_inst=0
@@ -616,6 +743,12 @@ configure_qos() {
reload_qos() {
local service_name="$1"
local cpu_model="$(grep Hardware /proc/cpuinfo | awk '{print$NF}')"
case $cpu_model in
BCM968*) is_bcm968=1 ;;
esac
if [ -z "$service_name" ]; then
configure_qos
elif [ "$service_name" == "shaper" ]; then
@@ -842,6 +975,7 @@ read_queue_stats() {
itf="$1"
q_idx="$2"
local cpu_model="$(grep Hardware /proc/cpuinfo | awk '{print$NF}')"
case $cpu_model in
BCM968*) is_bcm968=1 ;;
esac

View File

@@ -12,7 +12,7 @@ PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/rulengd.git
PKG_SOURCE_VERSION:=ad94ccdd82b22527ab32937ca1a2682030319ed3
PKG_SOURCE_VERSION:=d7a4d24e653ea0dc02679e24f8ec3c817aafdb37
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_INSTALL:=1

View File

@@ -5,10 +5,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wfadatad
PKG_VERSION:=2.3.0
PKG_VERSION:=2.3.1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=26701fdc83440a748aeff183bad2f67287764fb4
PKG_SOURCE_VERSION:=bdcf390f970facc20d7ac51fbb59ac4912b7fbfc
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wfadatad.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz