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:
parent
9a94538272
commit
832251a616
2 changed files with 162 additions and 0 deletions
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;
|
Loading…
Reference in a new issue