diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2016-02-27 22:59:13 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2016-02-27 22:59:13 +0000 |
commit | 832251a616b626f834a11ca3f81f30c3fec592d0 (patch) | |
tree | 61d7657b6eb2cadfd41a09cb425a2bb472b18b36 /package/utils/bsdiff | |
parent | 9a945382724f61880fcb7df9e6cb2db4be645598 (diff) | |
download | upstream-832251a616b626f834a11ca3f81f30c3fec592d0.tar.gz upstream-832251a616b626f834a11ca3f81f30c3fec592d0.tar.bz2 upstream-832251a616b626f834a11ca3f81f30c3fec592d0.zip |
bsdiff: add bsdiff and bspatch tool package
This will be used to create a diff between the Lantiq annex A and the
annex B firmware.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48810
Diffstat (limited to 'package/utils/bsdiff')
-rw-r--r-- | package/utils/bsdiff/Makefile | 78 | ||||
-rw-r--r-- | package/utils/bsdiff/patches/001-musl.patch | 84 |
2 files changed, 162 insertions, 0 deletions
diff --git a/package/utils/bsdiff/Makefile b/package/utils/bsdiff/Makefile new file mode 100644 index 0000000000..9904b7eb87 --- /dev/null +++ b/package/utils/bsdiff/Makefile @@ -0,0 +1,78 @@ +# +# Copyright (C) 2016 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:=bsdiff +PKG_VERSION:=4.3 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.daemonology.net/bsdiff/ +PKG_MD5SUM:=e6d812394f0e0ecc8d5df255aa1db22a +PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> + +PKG_LICENSE:=BSD-2-Clause + +include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/package.mk + +define Package/bsdiff + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libbz2 + TITLE:=Binary diff tool + URL:=http://www.daemonology.net/bsdiff/ +endef + +define Package/bspatch + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libbz2 + TITLE:=Binary patch tool + URL:=http://www.daemonology.net/bsdiff/ +endef + + +define Build/Compile + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ + -o $(PKG_BUILD_DIR)/bsdiff \ + $(PKG_BUILD_DIR)/bsdiff.c -lbz2 + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \ + -o $(PKG_BUILD_DIR)/bspatch \ + $(PKG_BUILD_DIR)/bspatch.c -lbz2 +endef + +define Package/bsdiff/install + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bsdiff $(1)/usr/bin/bsdiff +endef + +define Package/bspatch/install + $(INSTALL_DIR) $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/bspatch $(1)/usr/bin/bspatch +endef + +define Host/Install + $(INSTALL_DIR) $(STAGING_DIR)/host/bin/ + $(MAKE) -C $(HOST_BUILD_DIR) PREFIX=$(STAGING_DIR)/host/ install +endef + +define Host/Compile + $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ + -o $(HOST_BUILD_DIR)/bsdiff \ + $(HOST_BUILD_DIR)/bsdiff.c -lbz2 +endef + +define Host/Install + $(INSTALL_BIN) $(HOST_BUILD_DIR)/bsdiff $(STAGING_DIR)/host/bin/ +endef + +$(eval $(call HostBuild)) + +$(eval $(call BuildPackage,bsdiff)) +$(eval $(call BuildPackage,bspatch)) diff --git a/package/utils/bsdiff/patches/001-musl.patch b/package/utils/bsdiff/patches/001-musl.patch new file mode 100644 index 0000000000..5232bc1fe7 --- /dev/null +++ b/package/utils/bsdiff/patches/001-musl.patch @@ -0,0 +1,84 @@ +--- a/bsdiff.c 2005-08-17 00:13:52.000000000 +0200 ++++ b/bsdiff.c 2016-02-21 01:39:31.157915765 +0100 +@@ -101,7 +101,7 @@ + if(start+len>kk) split(I,V,kk,start+len-kk,h); + } + +-static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize) ++static void qsufsort(off_t *I,off_t *V,unsigned char *old,off_t oldsize) + { + off_t buckets[256]; + off_t i,h,len; +@@ -139,7 +139,7 @@ + for(i=0;i<oldsize+1;i++) I[V[i]]=i; + } + +-static off_t matchlen(u_char *old,off_t oldsize,u_char *new,off_t newsize) ++static off_t matchlen(unsigned char *old,off_t oldsize,unsigned char *new,off_t newsize) + { + off_t i; + +@@ -149,8 +149,8 @@ + return i; + } + +-static off_t search(off_t *I,u_char *old,off_t oldsize, +- u_char *new,off_t newsize,off_t st,off_t en,off_t *pos) ++static off_t search(off_t *I,unsigned char *old,off_t oldsize, ++ unsigned char *new,off_t newsize,off_t st,off_t en,off_t *pos) + { + off_t x,y; + +@@ -175,7 +175,7 @@ + }; + } + +-static void offtout(off_t x,u_char *buf) ++static void offtout(off_t x,unsigned char *buf) + { + off_t y; + +@@ -196,7 +196,7 @@ + int main(int argc,char *argv[]) + { + int fd; +- u_char *old,*new; ++ unsigned char *old,*new; + off_t oldsize,newsize; + off_t *I,*V; + off_t scan,pos,len; +@@ -206,9 +206,9 @@ + off_t overlap,Ss,lens; + off_t i; + off_t dblen,eblen; +- u_char *db,*eb; +- u_char buf[8]; +- u_char header[32]; ++ unsigned char *db,*eb; ++ unsigned char buf[8]; ++ unsigned char header[32]; + FILE * pf; + BZFILE * pfbz2; + int bz2err; +--- a/bspatch.c 2005-08-17 00:14:00.000000000 +0200 ++++ b/bspatch.c 2016-02-21 01:39:29.753859970 +0100 +@@ -36,7 +36,7 @@ + #include <unistd.h> + #include <fcntl.h> + +-static off_t offtin(u_char *buf) ++static off_t offtin(unsigned char *buf) + { + off_t y; + +@@ -62,8 +62,8 @@ + int fd; + ssize_t oldsize,newsize; + ssize_t bzctrllen,bzdatalen; +- u_char header[32],buf[8]; +- u_char *old, *new; ++ unsigned char header[32],buf[8]; ++ unsigned char *old, *new; + off_t oldpos,newpos; + off_t ctrl[3]; + off_t lenread; |