diff mbox

[OpenWrt-Devel,v3,01/11] dsl-vrx200-firmware-xdsl: create Lantiq vrx200 firmware patches

Message ID 1457137650-23077-2-git-send-email-hauke@hauke-m.de
State Accepted
Headers show

Commit Message

Hauke Mehrtens March 5, 2016, 12:27 a.m. UTC
Instead of having two big binaries only add one binary and then a patch
to create the other one when needed at runtime.
This is easier to handle in one Makeifle for both firmware files.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 .../lantiq/dsl-vrx200-firmware-xdsl-a/Makefile     |  47 --------
 .../lantiq/dsl-vrx200-firmware-xdsl-b/Makefile     |  47 --------
 .../lantiq/dsl-vrx200-firmware-xdsl/Makefile       | 128 +++++++++++++++++++++
 3 files changed, 128 insertions(+), 94 deletions(-)
 delete mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
 delete mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
 create mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile

Comments

John Crispin March 8, 2016, 6:49 a.m. UTC | #1
On 05/03/2016 01:27, Hauke Mehrtens wrote:
> Instead of having two big binaries only add one binary and then a patch
> to create the other one when needed at runtime.
> This is easier to handle in one Makeifle for both firmware files.
> 
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
> ---
>  .../lantiq/dsl-vrx200-firmware-xdsl-a/Makefile     |  47 --------
>  .../lantiq/dsl-vrx200-firmware-xdsl-b/Makefile     |  47 --------
>  .../lantiq/dsl-vrx200-firmware-xdsl/Makefile       | 128 +++++++++++++++++++++

what happened to these patches ? it look slike they are gone from
patchwork and they dont seem to apply.



>  3 files changed, 128 insertions(+), 94 deletions(-)
>  delete mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
>  delete mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
>  create mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile
> 
> diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
> deleted file mode 100644
> index e8dd659..0000000
> --- a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -# Copyright (C) 2015 OpenWrt.org
> -# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
> -#
> -# This is free software, licensed under the GNU General Public License v2.
> -# See /LICENSE for more information.
> -
> -include $(TOPDIR)/rules.mk
> -
> -PKG_NAME:=dsl_vr9_firmware_xdsl
> -PKG_VERSION:=05.07.04.03.00.06_05.07.01.08.00.01_osc
> -PKG_RELEASE:=1
> -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> -PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
> -PKG_MD5SUM:=4c8d9ca68dda88d3cfc0ca0fb946a63e
> -
> -include $(INCLUDE_DIR)/package.mk
> -
> -define Package/dsl-vrx200-firmware-xdsl-a
> -  SECTION:=firmware
> -  CATEGORY:=Firmware
> -  TITLE:=VRX200 / VR9 CPE xDSL Annex A firmware
> -  URL:=http://www.lantiq.com/
> -  DEPENDS:=@TARGET_lantiq_xrx200
> -endef
> -
> -define Package/dsl-vrx200-firmware-xdsl-a/description
> -	VRX200 / VR9 CPE VDSL and ADSL Annex A firmware
> -endef
> -
> -define Build/Prepare
> -	rm -rf $(PKG_BUILD_DIR)
> -	mkdir -p $(PKG_BUILD_DIR)
> -	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
> -endef
> -
> -define Build/Compile
> -endef
> -
> -define Package/dsl-vrx200-firmware-xdsl-a/install
> -	$(INSTALL_DIR) $(1)/lib/firmware/
> -	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_574306_571801.LICENSE
> -	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_574306_571801.bin $(1)/lib/firmware/
> -	ln -s xcpe_574306_571801.bin $(1)/lib/firmware/vdsl.bin
> -	ln -s xcpe_574306_571801.bin $(1)/lib/firmware/adsl-a.bin
> -endef
> -
> -$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a))
> diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
> deleted file mode 100644
> index c283da2..0000000
> --- a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -# Copyright (C) 2015 OpenWrt.org
> -# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
> -#
> -# This is free software, licensed under the GNU General Public License v2.
> -# See /LICENSE for more information.
> -
> -include $(TOPDIR)/rules.mk
> -
> -PKG_NAME:=dsl_vr9_firmware_xdsl
> -PKG_VERSION:=05.07.03.03.00.06_05.07.01.0C.00.02_osc
> -PKG_RELEASE:=1
> -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> -PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
> -PKG_MD5SUM:=af5581836cbe574574590c046fe45bab
> -
> -include $(INCLUDE_DIR)/package.mk
> -
> -define Package/dsl-vrx200-firmware-xdsl-b
> -  SECTION:=firmware
> -  CATEGORY:=Firmware
> -  TITLE:=VRX200 / VR9 CPE xDSL Annex B firmware
> -  URL:=http://www.lantiq.com/
> -  DEPENDS:=@TARGET_lantiq_xrx200
> -endef
> -
> -define Package/dsl-vrx200-firmware-xdsl-b/description
> -	VRX200 / VR9 CPE VDSL and ADSL Annex B firmware
> -endef
> -
> -define Build/Prepare
> -	rm -rf $(PKG_BUILD_DIR)
> -	mkdir -p $(PKG_BUILD_DIR)
> -	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
> -endef
> -
> -define Build/Compile
> -endef
> -
> -define Package/dsl-vrx200-firmware-xdsl-b/install
> -	$(INSTALL_DIR) $(1)/lib/firmware/
> -	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_573306_571C02.LICENSE
> -	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_573306_571C02.bin $(1)/lib/firmware/
> -	ln -s xcpe_573306_571C02.bin $(1)/lib/firmware/vdsl.bin
> -	ln -s xcpe_573306_571C02.bin $(1)/lib/firmware/adsl-b.bin
> -endef
> -
> -$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b))
> diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile
> new file mode 100644
> index 0000000..ab9a3dc
> --- /dev/null
> +++ b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile
> @@ -0,0 +1,128 @@
> +# Copyright (C) 2015 OpenWrt.org
> +# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=dsl_vr9_firmware_xdsl
> +PKG_VERSION:=05.07.04.03.00.06_05.07.01.08.00.01_osc
> +PKG_RELEASE:=1
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> +PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
> +PKG_MD5SUM:=4c8d9ca68dda88d3cfc0ca0fb946a63e
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +PKG_B_NAME:=dsl_vr9_firmware_xdsl
> +PKG_B_VERSION:=05.07.03.03.00.06_05.07.01.0C.00.02_osc
> +PKG_B_SOURCE:=$(PKG_B_NAME)-$(PKG_B_VERSION).tar.gz
> +
> +ANNEX_A_VER:=574306_571801
> +ANNEX_B_VER:=573306_571C02
> +
> +define Download/dsl_vr9_firmware_xdsl_b
> +  FILE:=$(PKG_B_SOURCE)
> +  URL:=$(PKG_SOURCE_URL)
> +  MD5SUM:=af5581836cbe574574590c046fe45bab
> +endef
> +$(eval $(call Download,dsl_vr9_firmware_xdsl_b))
> +
> +
> +define Package/dsl-vrx200-firmware-xdsl-a
> +  SECTION:=firmware
> +  CATEGORY:=Firmware
> +  TITLE:=VRX200 / VR9 CPE xDSL Annex A firmware
> +  URL:=http://www.lantiq.com/
> +  DEPENDS:=@TARGET_lantiq_xrx200
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-a/description
> +	VRX200 / VR9 CPE VDSL and ADSL Annex A firmware
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b
> +  SECTION:=firmware
> +  CATEGORY:=Firmware
> +  TITLE:=VRX200 / VR9 CPE xDSL Annex B firmware
> +  URL:=http://www.lantiq.com/
> +  DEPENDS:=@TARGET_lantiq_xrx200
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b/description
> +	VRX200 / VR9 CPE VDSL and ADSL Annex B firmware
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-a-patch
> +  SECTION:=firmware
> +  CATEGORY:=Firmware
> +  TITLE:=VRX200 / VR9 CPE xDSL Annex B to Annex A firmware patch
> +  URL:=http://www.lantiq.com/
> +  DEPENDS:=@TARGET_lantiq_xrx200 +dsl-vrx200-firmware-xdsl-b +bspatch
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-a-patch/description
> +	Patch which between the Annex A and Annex B firmware to create the Annex A firmware.
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b-patch
> +  SECTION:=firmware
> +  CATEGORY:=Firmware
> +  TITLE:=VRX200 / VR9 CPE xDSL Annex A to Annex B firmware patch
> +  URL:=http://www.lantiq.com/
> +  DEPENDS:=@TARGET_lantiq_xrx200 +dsl-vrx200-firmware-xdsl-a +bspatch
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b-patch/description
> +	Patch which between the Annex A and Annex B firmware to create the Annex B firmware.
> +endef
> +
> +define Build/Prepare
> +	rm -rf $(PKG_BUILD_DIR)
> +	mkdir -p $(PKG_BUILD_DIR)
> +	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
> +	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_B_SOURCE)
> +endef
> +
> +define Build/Compile
> +	bsdiff \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch
> +	bsdiff \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin \
> +		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-a/install
> +	$(INSTALL_DIR) $(1)/lib/firmware/
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_$(ANNEX_A_VER).LICENSE
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin $(1)/lib/firmware/
> +	ln -s xcpe_$(ANNEX_A_VER).bin $(1)/lib/firmware/lantiq-vrx200-a.bin
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b/install
> +	$(INSTALL_DIR) $(1)/lib/firmware/
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_$(ANNEX_B_VER).LICENSE
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin $(1)/lib/firmware/
> +	ln -s xcpe_$(ANNEX_B_VER).bin $(1)/lib/firmware/lantiq-vrx200-b.bin
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-a-patch/install
> +	$(INSTALL_DIR) $(1)/lib/firmware/
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch $(1)/lib/firmware/
> +	ln -s xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch $(1)/lib/firmware/lantiq-vrx200-b-to-a.bspatch
> +endef
> +
> +define Package/dsl-vrx200-firmware-xdsl-b-patch/install
> +	$(INSTALL_DIR) $(1)/lib/firmware/
> +	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch $(1)/lib/firmware/
> +	ln -s xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch $(1)/lib/firmware/lantiq-vrx200-a-to-b.bspatch
> +endef
> +
> +$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a))
> +$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b))
> +$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a-patch))
> +$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b-patch))
>
Martin Blumenstingl March 8, 2016, 7:16 a.m. UTC | #2
On Tue, Mar 8, 2016 at 7:49 AM, John Crispin <john@phrozen.org> wrote:
> what happened to these patches ? it look slike they are gone from
> patchwork and they dont seem to apply.
it seems that Felix has already merged them yesterday (in svn r48939)
diff mbox

Patch

diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
deleted file mode 100644
index e8dd659..0000000
--- a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-a/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@ 
-# Copyright (C) 2015 OpenWrt.org
-# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=dsl_vr9_firmware_xdsl
-PKG_VERSION:=05.07.04.03.00.06_05.07.01.08.00.01_osc
-PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
-PKG_MD5SUM:=4c8d9ca68dda88d3cfc0ca0fb946a63e
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/dsl-vrx200-firmware-xdsl-a
-  SECTION:=firmware
-  CATEGORY:=Firmware
-  TITLE:=VRX200 / VR9 CPE xDSL Annex A firmware
-  URL:=http://www.lantiq.com/
-  DEPENDS:=@TARGET_lantiq_xrx200
-endef
-
-define Package/dsl-vrx200-firmware-xdsl-a/description
-	VRX200 / VR9 CPE VDSL and ADSL Annex A firmware
-endef
-
-define Build/Prepare
-	rm -rf $(PKG_BUILD_DIR)
-	mkdir -p $(PKG_BUILD_DIR)
-	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
-endef
-
-define Build/Compile
-endef
-
-define Package/dsl-vrx200-firmware-xdsl-a/install
-	$(INSTALL_DIR) $(1)/lib/firmware/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_574306_571801.LICENSE
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_574306_571801.bin $(1)/lib/firmware/
-	ln -s xcpe_574306_571801.bin $(1)/lib/firmware/vdsl.bin
-	ln -s xcpe_574306_571801.bin $(1)/lib/firmware/adsl-a.bin
-endef
-
-$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a))
diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
deleted file mode 100644
index c283da2..0000000
--- a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl-b/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@ 
-# Copyright (C) 2015 OpenWrt.org
-# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=dsl_vr9_firmware_xdsl
-PKG_VERSION:=05.07.03.03.00.06_05.07.01.0C.00.02_osc
-PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
-PKG_MD5SUM:=af5581836cbe574574590c046fe45bab
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/dsl-vrx200-firmware-xdsl-b
-  SECTION:=firmware
-  CATEGORY:=Firmware
-  TITLE:=VRX200 / VR9 CPE xDSL Annex B firmware
-  URL:=http://www.lantiq.com/
-  DEPENDS:=@TARGET_lantiq_xrx200
-endef
-
-define Package/dsl-vrx200-firmware-xdsl-b/description
-	VRX200 / VR9 CPE VDSL and ADSL Annex B firmware
-endef
-
-define Build/Prepare
-	rm -rf $(PKG_BUILD_DIR)
-	mkdir -p $(PKG_BUILD_DIR)
-	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
-endef
-
-define Build/Compile
-endef
-
-define Package/dsl-vrx200-firmware-xdsl-b/install
-	$(INSTALL_DIR) $(1)/lib/firmware/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_573306_571C02.LICENSE
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_573306_571C02.bin $(1)/lib/firmware/
-	ln -s xcpe_573306_571C02.bin $(1)/lib/firmware/vdsl.bin
-	ln -s xcpe_573306_571C02.bin $(1)/lib/firmware/adsl-b.bin
-endef
-
-$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b))
diff --git a/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile
new file mode 100644
index 0000000..ab9a3dc
--- /dev/null
+++ b/package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile
@@ -0,0 +1,128 @@ 
+# Copyright (C) 2015 OpenWrt.org
+# Copyright (C) 2015 Lantiq Beteiligungs GmbH & Co KG.
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=dsl_vr9_firmware_xdsl
+PKG_VERSION:=05.07.04.03.00.06_05.07.01.08.00.01_osc
+PKG_RELEASE:=1
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
+PKG_MD5SUM:=4c8d9ca68dda88d3cfc0ca0fb946a63e
+
+include $(INCLUDE_DIR)/package.mk
+
+PKG_B_NAME:=dsl_vr9_firmware_xdsl
+PKG_B_VERSION:=05.07.03.03.00.06_05.07.01.0C.00.02_osc
+PKG_B_SOURCE:=$(PKG_B_NAME)-$(PKG_B_VERSION).tar.gz
+
+ANNEX_A_VER:=574306_571801
+ANNEX_B_VER:=573306_571C02
+
+define Download/dsl_vr9_firmware_xdsl_b
+  FILE:=$(PKG_B_SOURCE)
+  URL:=$(PKG_SOURCE_URL)
+  MD5SUM:=af5581836cbe574574590c046fe45bab
+endef
+$(eval $(call Download,dsl_vr9_firmware_xdsl_b))
+
+
+define Package/dsl-vrx200-firmware-xdsl-a
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=VRX200 / VR9 CPE xDSL Annex A firmware
+  URL:=http://www.lantiq.com/
+  DEPENDS:=@TARGET_lantiq_xrx200
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-a/description
+	VRX200 / VR9 CPE VDSL and ADSL Annex A firmware
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=VRX200 / VR9 CPE xDSL Annex B firmware
+  URL:=http://www.lantiq.com/
+  DEPENDS:=@TARGET_lantiq_xrx200
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b/description
+	VRX200 / VR9 CPE VDSL and ADSL Annex B firmware
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-a-patch
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=VRX200 / VR9 CPE xDSL Annex B to Annex A firmware patch
+  URL:=http://www.lantiq.com/
+  DEPENDS:=@TARGET_lantiq_xrx200 +dsl-vrx200-firmware-xdsl-b +bspatch
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-a-patch/description
+	Patch which between the Annex A and Annex B firmware to create the Annex A firmware.
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b-patch
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=VRX200 / VR9 CPE xDSL Annex A to Annex B firmware patch
+  URL:=http://www.lantiq.com/
+  DEPENDS:=@TARGET_lantiq_xrx200 +dsl-vrx200-firmware-xdsl-a +bspatch
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b-patch/description
+	Patch which between the Annex A and Annex B firmware to create the Annex B firmware.
+endef
+
+define Build/Prepare
+	rm -rf $(PKG_BUILD_DIR)
+	mkdir -p $(PKG_BUILD_DIR)
+	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_SOURCE)
+	$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(PKG_B_SOURCE)
+endef
+
+define Build/Compile
+	bsdiff \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch
+	bsdiff \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin \
+		$(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-a/install
+	$(INSTALL_DIR) $(1)/lib/firmware/
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_$(ANNEX_A_VER).LICENSE
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER).bin $(1)/lib/firmware/
+	ln -s xcpe_$(ANNEX_A_VER).bin $(1)/lib/firmware/lantiq-vrx200-a.bin
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b/install
+	$(INSTALL_DIR) $(1)/lib/firmware/
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE $(1)/lib/firmware/xcpe_$(ANNEX_B_VER).LICENSE
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER).bin $(1)/lib/firmware/
+	ln -s xcpe_$(ANNEX_B_VER).bin $(1)/lib/firmware/lantiq-vrx200-b.bin
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-a-patch/install
+	$(INSTALL_DIR) $(1)/lib/firmware/
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch $(1)/lib/firmware/
+	ln -s xcpe_$(ANNEX_B_VER)_to_$(ANNEX_A_VER).bspatch $(1)/lib/firmware/lantiq-vrx200-b-to-a.bspatch
+endef
+
+define Package/dsl-vrx200-firmware-xdsl-b-patch/install
+	$(INSTALL_DIR) $(1)/lib/firmware/
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch $(1)/lib/firmware/
+	ln -s xcpe_$(ANNEX_A_VER)_to_$(ANNEX_B_VER).bspatch $(1)/lib/firmware/lantiq-vrx200-a-to-b.bspatch
+endef
+
+$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a))
+$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b))
+$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-a-patch))
+$(eval $(call BuildPackage,dsl-vrx200-firmware-xdsl-b-patch))