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
This commit is contained in:
		
							
								
								
									
										78
									
								
								package/utils/bsdiff/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								package/utils/bsdiff/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -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)) | ||||||
							
								
								
									
										84
									
								
								package/utils/bsdiff/patches/001-musl.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								package/utils/bsdiff/patches/001-musl.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -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; | ||||||
		Reference in New Issue
	
	Block a user
	 Hauke Mehrtens
					Hauke Mehrtens