aboutsummaryrefslogtreecommitdiffstats
path: root/package/ltq-dsl-app/Makefile
blob: 981a6a796138c149ac9a3b0ec5a02b2392023401 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#
# Copyright (C) 2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_BASE_NAME:=dsl_cpe_control_danube
PKG_VERSION:=3.24.4.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/dsl_cpe_control-$(PKG_VERSION)
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
PKG_MD5SUM:=ee315306626b68794d3d3636dabfe161

PKG_CONFIG_DEPENDS:=\
	CONFIG_LTQ_DSL_ENABLE_CLI \
	CONFIG_LTQ_DSL_ENABLE_DSL_EVENT_POLLING

include $(INCLUDE_DIR)/package.mk

PKG_BUILD_DEPENDS:=TARGET_lantiq_danube:kmod-ltq-dsl-danube TARGET_lantiq_ar9:kmod-ltq-dsl-ar9 \
	TARGET_lantiq_vr9:kmod-ltq-dsl-vr9 TARGET_lantiq_ase:kmod-ltq-dsl-ase

define Package/ltq-dsl-app
  SECTION:=net
  CATEGORY:=Network
  TITLE:=Lantiq DSL userland tool
  URL:=http://www.lantiq.com/
  DEPENDS:=@TARGET_lantiq&&!(TARGET_lantiq_falcon||TARGET_lantiq_falcon_stable) +libpthread
  MAINTAINER:=John Crispin <blogic@openwrt.org> 
  MENU:=1
endef

define Package/ltq-dsl-app/description
	Infineon DSL CPE API for Amazon SE, Danube and Vinax.
endef

define Package/ltq-dsl-app/config
	source "$(SOURCE)/Config.in"
endef

LTQ_DSL_MAX_DEVICE=1
LTQ_DSL_LINES_PER_DEVICE=1
LTQ_DSL_CHANNELS_PER_LINE=1

CONFIGURE_ARGS += \
	--with-max-device="$(LTQ_DSL_MAX_DEVICE)" \
	--with-lines-per-device="$(LTQ_DSL_LINES_PER_DEVICE)" \
	--with-channels-per-line="$(LTQ_DSL_CHANNELS_PER_LINE)" \
	--enable-danube \
	--enable-driver-include="-I$(STAGING_DIR)/usr/include" \
	--enable-debug-prints \
	--enable-add-appl-cflags="-DMAX_CLI_PIPES=2" \
	--enable-cmv-scripts \
	--enable-debug-tool-interface \
	--enable-adsl-led \
	--enable-dsl-ceoc \
	--enable-script-notification \
	--enable-dsl-pm \
	--enable-dsl-pm-total \
	--enable-dsl-pm-history \
	--enable-dsl-pm-showtime \
	--enable-dsl-pm-channel-counters \
	--enable-dsl-pm-datapath-counters \
	--enable-dsl-pm-line-counters \
	--enable-dsl-pm-channel-thresholds \
	--enable-dsl-pm-datapath-thresholds \
	--enable-dsl-pm-line-thresholds \
	--enable-dsl-pm-optional-parameters

ifeq ($(CONFIG_LTQ_DSL_ENABLE_CLI),y)
CONFIGURE_ARGS += \
	--enable-cli-support \
	--enable-soap-support
endif

ifeq ($(CONFIG_LTQ_DSL_ENABLE_DSL_EVENT_POLLING),y)
CONFIGURE_ARGS += \
	--enable-dsl-event-polling
endif

TARGET_CFLAGS += -I$(LINUX_DIR)/include

define Package/ltq-dsl-app/install
	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_BIN) ./files/ifx_cpe_control_init.sh $(1)/etc/init.d/

	$(INSTALL_DIR) $(1)/sbin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dsl_cpe_control $(1)/sbin
endef

$(eval $(call BuildPackage,ltq-dsl-app))
{ sed -rn 's/^### ?//;T;p' "$0" } package_size () { FOUND_PACKAGE= if [ -z "$CHECK_INSTALLED" ]; then SEARCH_PATTERN="Size" else SEARCH_PATTERN="Installed-Size" fi while IFS= read -r line; do if [ "$line" = "Package: $2" ]; then FOUND_PACKAGE=y fi if [ -n "$FOUND_PACKAGE" ]; then case $line in "$SEARCH_PATTERN"*) echo "$line" | cut -d ' ' -f 2 break ;; esac fi done < "$1" } compare_sizes () { for PACKAGE in $PACKAGES; do if [ "$PACKAGE" = "libc" ]; then continue fi PACKAGE_FILE=$(find "$BIN_DIR/packages/$ARCH/" \ "$BIN_DIR/targets/$TARGET/$SUBTARGET/" \ -name "${PACKAGE}_*.ipk" 2>/dev/null | head -n1) if [ -z "$PACKAGE_FILE" ]; then continue fi if [ -z "$CHECK_INSTALLED" ]; then SIZE_LOCAL=$(stat -c '%s' "$PACKAGE_FILE") else SIZE_LOCAL=$(tar tzvf "$PACKAGE_FILE" ./data.tar.gz | awk '{ print $3 }') fi SIZE_UPSTREAM=$(package_size "$TMP_INDEX" "$PACKAGE") SIZE_DIFF="$((SIZE_LOCAL-SIZE_UPSTREAM))" if [ "$SIZE_DIFF" -gt 0 ]; then SIZE_DIFF="+$SIZE_DIFF" fi if [ -n "$SIZE_UPSTREAM" ]; then echo "${SIZE_DIFF} ${SIZE_LOCAL} ${SIZE_UPSTREAM} $PACKAGE" else echo "$PACKAGE is missing upstream" fi done } if [ "$1" = "-h" ]; then help exit 0 fi if [ "$1" = "-p" ]; then CHECK_INSTALLED= fi echo "Compare packages of $TARGET/$SUBTARGET/$ARCH": echo "$PACKAGES" echo echo "Checking configuration difference" TMP_CONFIG=$(mktemp /tmp/config.XXXXXX) sed -n 's/^ \+config \(.*\)/\1/p' config/Config-build.in config/Config-devel.in > "${TMP_CONFIG}-FOCUS" sort .config | grep -f "${TMP_CONFIG}-FOCUS" | grep -v "^#" | sort > "${TMP_CONFIG}-LOCAL" mv .config .config.bak "$DOWNLOAD_METHOD" "$CONFIG_URL" > .config make defconfig > /dev/null 2> /dev/null grep -f "${TMP_CONFIG}-FOCUS" .config | grep -v "^#" | sort > "${TMP_CONFIG}-UPSTREAM" mv .config.bak .config echo echo " --- start config diff ---" diff -u "${TMP_CONFIG}-LOCAL" "${TMP_CONFIG}-UPSTREAM" echo " --- end config diff ---" rm "${TMP_CONFIG}-FOCUS" "${TMP_CONFIG}-UPSTREAM" "${TMP_CONFIG}-LOCAL" echo if [ -z "$CHECK_INSTALLED" ]; then echo "Checking IPK package size" else echo "Checking installed size" fi echo echo "Fetching latest package indexes..." TMP_INDEX=$(mktemp /tmp/size_compare_package_index.XXXXXX) "$DOWNLOAD_METHOD" "$TARGET_URL" | gzip -d > "$TMP_INDEX" || exit 1 "$DOWNLOAD_METHOD" "$PACKAGES_URL" | gzip -d >> "$TMP_INDEX" || exit 1 echo echo "Comparing package sizes..." echo "Change Local Remote Package" compare_sizes | sort -g -r rm "$TMP_INDEX"