[arch-commits] Commit in bsdiff/repos/community-x86_64 (5 files)

Antonio Rojas arojas at gemini.archlinux.org
Sat Apr 23 08:23:49 UTC 2022


    Date: Saturday, April 23, 2022 @ 08:23:49
  Author: arojas
Revision: 1187506

archrelease: copy trunk to community-x86_64

Added:
  bsdiff/repos/community-x86_64/Makefile.patch
    (from rev 1187505, bsdiff/trunk/Makefile.patch)
  bsdiff/repos/community-x86_64/PKGBUILD
    (from rev 1187505, bsdiff/trunk/PKGBUILD)
  bsdiff/repos/community-x86_64/e48209b03f.patch
    (from rev 1187505, bsdiff/trunk/e48209b03f.patch)
Deleted:
  bsdiff/repos/community-x86_64/Makefile.patch
  bsdiff/repos/community-x86_64/PKGBUILD

------------------+
 Makefile.patch   |   50 +++++++++++-----------
 PKGBUILD         |   86 ++++++++++++++++++++++----------------
 e48209b03f.patch |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 195 insertions(+), 60 deletions(-)

Deleted: Makefile.patch
===================================================================
--- Makefile.patch	2022-04-23 08:23:35 UTC (rev 1187505)
+++ Makefile.patch	2022-04-23 08:23:49 UTC (rev 1187506)
@@ -1,25 +0,0 @@
---- Makefile.old	2005-08-17 00:14:10.000000000 +0200
-+++ Makefile	2007-09-15 12:32:07.000000000 +0200
-@@ -1,15 +1,16 @@
- CFLAGS		+=	-O3 -lbz2
- 
- PREFIX		?=	/usr/local
--INSTALL_PROGRAM	?=	${INSTALL} -c -s -m 555
--INSTALL_MAN	?=	${INSTALL} -c -m 444
-+INSTALL		=	/bin/install
-+INSTALL_PROGRAM	?=	${INSTALL} -D -m755
-+INSTALL_MAN	?=	${INSTALL} -D -m644
- 
- all:		bsdiff bspatch
- bsdiff:		bsdiff.c
- bspatch:	bspatch.c
- 
- install:
--	${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin
--.ifndef WITHOUT_MAN
--	${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1
--.endif
-+	${INSTALL_PROGRAM} bsdiff ${PREFIX}/bin/bsdiff
-+	${INSTALL_PROGRAM} bspatch ${PREFIX}/bin/bspatch
-+	${INSTALL_MAN} bsdiff.1 ${PREFIX}/share/man/man1/bsdiff.1
-+	${INSTALL_MAN} bspatch.1 ${PREFIX}/share/man/man1/bspatch.1

Copied: bsdiff/repos/community-x86_64/Makefile.patch (from rev 1187505, bsdiff/trunk/Makefile.patch)
===================================================================
--- Makefile.patch	                        (rev 0)
+++ Makefile.patch	2022-04-23 08:23:49 UTC (rev 1187506)
@@ -0,0 +1,25 @@
+--- Makefile.old	2005-08-17 00:14:10.000000000 +0200
++++ Makefile	2007-09-15 12:32:07.000000000 +0200
+@@ -1,15 +1,16 @@
+ CFLAGS		+=	-O3 -lbz2
+ 
+ PREFIX		?=	/usr/local
+-INSTALL_PROGRAM	?=	${INSTALL} -c -s -m 555
+-INSTALL_MAN	?=	${INSTALL} -c -m 444
++INSTALL		=	/bin/install
++INSTALL_PROGRAM	?=	${INSTALL} -D -m755
++INSTALL_MAN	?=	${INSTALL} -D -m644
+ 
+ all:		bsdiff bspatch
+ bsdiff:		bsdiff.c
+ bspatch:	bspatch.c
+ 
+ install:
+-	${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin
+-.ifndef WITHOUT_MAN
+-	${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1
+-.endif
++	${INSTALL_PROGRAM} bsdiff ${PREFIX}/bin/bsdiff
++	${INSTALL_PROGRAM} bspatch ${PREFIX}/bin/bspatch
++	${INSTALL_MAN} bsdiff.1 ${PREFIX}/share/man/man1/bsdiff.1
++	${INSTALL_MAN} bspatch.1 ${PREFIX}/share/man/man1/bspatch.1

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2022-04-23 08:23:35 UTC (rev 1187505)
+++ PKGBUILD	2022-04-23 08:23:49 UTC (rev 1187506)
@@ -1,35 +0,0 @@
-# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
-
-pkgname=bsdiff
-pkgver=4.3
-pkgrel=10
-pkgdesc="bsdiff and bspatch are tools for building and applying patches to binary files."
-url="https://www.daemonology.net/bsdiff/"
-license=('BSD')
-arch=('x86_64')
-depends=('bzip2')
-source=("https://www.daemonology.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
-	Makefile.patch
-        "https://security.freebsd.org/patches/SA-16:25/bspatch.patch")
-md5sums=('e6d812394f0e0ecc8d5df255aa1db22a'
-         'f176d14d39c5784a2c824f6797544f4b'
-         '30e8ec771baea61bd9c25adb385b06fc')
-
-prepare() {
-  cd "$srcdir/${pkgname}-${pkgver}"
-  patch -p0 < ../Makefile.patch
-  sed -i 's|usr.bin/bsdiff/bspatch/||' ../bspatch.patch
-  patch -p0 < ../bspatch.patch
-}
-
-build() {
-  cd "$srcdir/${pkgname}-${pkgver}"
-  make
-}
-
-package() {
-  cd "$srcdir/${pkgname}-${pkgver}"
-  make PREFIX="$pkgdir/usr" install
-  install -d "$pkgdir/usr/share/licenses/$pkgname"
-  head -n 26 bsdiff.c >"$pkgdir/usr/share/licenses/$pkgname/license"
-}

Copied: bsdiff/repos/community-x86_64/PKGBUILD (from rev 1187505, bsdiff/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2022-04-23 08:23:49 UTC (rev 1187506)
@@ -0,0 +1,51 @@
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+
+pkgname=bsdiff
+pkgver=4.3
+pkgrel=11
+pkgdesc="bsdiff and bspatch are tools for building and applying patches to binary files."
+url="https://www.daemonology.net/bsdiff/"
+license=('BSD')
+arch=('x86_64')
+depends=('bzip2')
+#source=("https://www.daemonology.net/bsdiff/bsdiff-$pkgver.tar.gz"
+source=("https://distfiles.macports.org/bsdiff/bsdiff-$pkgver.tar.gz"
+	Makefile.patch
+        "https://security.freebsd.org/patches/SA-16:25/bspatch.patch"
+        "https://github.com/freebsd/freebsd/commit/d0260bc283.patch"
+        "https://github.com/freebsd/freebsd/commit/59381119a4.patch"
+        "e48209b03f.patch"
+        "6e40d93.patch.b64::https://android-review.googlesource.com/changes/platform%2Fexternal%2Fbsdiff~961238/revisions/6/patch?download")
+md5sums=('e6d812394f0e0ecc8d5df255aa1db22a'
+         'f176d14d39c5784a2c824f6797544f4b'
+         '30e8ec771baea61bd9c25adb385b06fc'
+         '021494e234277d2392e68be3ca594070'
+         '4fbbe71dced11e075ece3e33e835e44a'
+         'bc8ecaecd841d9022a88a7c35151d598'
+         '56b07d7499454403903140ef44cd1b38')
+
+# todo: get patches to apply cleanly
+
+prepare() {
+  cd "$srcdir/${pkgname}-${pkgver}"
+  patch -p0 < ../Makefile.patch
+  patch -p3 < ../bspatch.patch
+  #patch -p4 < ../d0260bc283.patch
+  #patch -p4 < ../59381119a4.patch
+  base64 -d ../6e40d93.patch.b64 > ../6e40d93.patch
+  sed -i 's|bspatch.cc|bspatch.c|g' ../6e40d93.patch
+  #patch -p1 < ../6e40d93.patch
+  #patch bspatch.c ../e48209b03f.patch
+}
+
+build() {
+  cd "$srcdir/${pkgname}-${pkgver}"
+  make
+}
+
+package() {
+  cd "$srcdir/${pkgname}-${pkgver}"
+  make PREFIX="$pkgdir/usr" install
+  install -d "$pkgdir/usr/share/licenses/$pkgname"
+  head -n 26 bsdiff.c >"$pkgdir/usr/share/licenses/$pkgname/license"
+}

Copied: bsdiff/repos/community-x86_64/e48209b03f.patch (from rev 1187505, bsdiff/trunk/e48209b03f.patch)
===================================================================
--- e48209b03f.patch	                        (rev 0)
+++ e48209b03f.patch	2022-04-23 08:23:49 UTC (rev 1187506)
@@ -0,0 +1,119 @@
+@@ -27,7 +27,10 @@
+ #include <sys/cdefs.h>
+ __FBSDID("$FreeBSD$");
+ 
++#include <assert.h>
+ #include <bzlib.h>
++#include <limits.h>
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -63,8 +66,8 @@
+ 	BZFILE * cpfbz2, * dpfbz2, * epfbz2;
+ 	int cbz2err, dbz2err, ebz2err;
+ 	int fd;
+-	ssize_t oldsize,newsize;
+-	ssize_t bzctrllen,bzdatalen;
++	off_t oldsize,newsize;
++	off_t bzctrllen,bzdatalen;
+ 	u_char header[32],buf[8];
+ 	u_char *old, *new;
+ 	off_t oldpos,newpos;
+@@ -72,6 +75,8 @@
+ 	off_t lenread;
+ 	off_t i;
+ 
++	assert(OFF_MAX >= INT64_MAX);
++
+ 	if(argc!=4) errx(1,"usage: %s oldfile newfile patchfile\n",argv[0]);
+ 
+ 	/* Open patch file */
+@@ -107,8 +112,10 @@
+ 	bzctrllen=offtin(header+8);
+ 	bzdatalen=offtin(header+16);
+ 	newsize=offtin(header+24);
+-	if((bzctrllen<0) || (bzdatalen<0) || (newsize<0))
+-		errx(1,"Corrupt patch\n");
++	if((bzctrllen<0) || (bzctrllen>OFF_MAX-32) ||
++		(bzdatalen<0) || (bzctrllen+32>OFF_MAX-bzdatalen) ||
++		(newsize<=0) || (newsize>SSIZE_MAX))
++			errx(1,"Corrupt patch\n");
+ 
+ 	/* Close patch file and re-open it via libbzip2 at the right places */
+ 	if (fclose(f))
+@@ -136,12 +143,13 @@
+ 		errx(1, "BZ2_bzReadOpen, bz2err = %d", ebz2err);
+ 
+ 	if(((fd=open(argv[1],O_RDONLY|O_BINARY,0))<0) ||
+-		((oldsize=lseek(fd,0,SEEK_END))==-1) ||
+-		((old=malloc(oldsize+1))==NULL) ||
++		((oldsize=lseek(fd,0,SEEK_END))<=0) ||
++		(oldsize>SSIZE_MAX) ||
++		((old=malloc(oldsize))==NULL) ||
+ 		(lseek(fd,0,SEEK_SET)!=0) ||
+ 		(read(fd,old,oldsize)!=oldsize) ||
+ 		(close(fd)==-1)) err(1,"%s",argv[1]);
+-	if((new=malloc(newsize+1))==NULL) err(1,NULL);
++	if((new=malloc(newsize))==NULL) err(1,NULL);
+ 
+ 	oldpos=0;newpos=0;
+ 	while(newpos<newsize) {
+@@ -152,18 +160,23 @@
+ 			    (cbz2err != BZ_STREAM_END)))
+ 				errx(1, "Corrupt patch\n");
+ 			ctrl[i]=offtin(buf);
+-		};
++		}
+ 
+ 		/* Sanity-check */
+-		if(newpos+ctrl[0]>newsize)
+-			errx(1,"Corrupt patch\n");
++		if((ctrl[0]<0) || (ctrl[0]>INT_MAX) ||
++			(newpos>OFF_MAX-ctrl[0]) || (newpos+ctrl[0]>newsize))
++				errx(1,"Corrupt patch\n");
+ 
+-		/* Read diff string */
++		/* Read diff string - 4th arg converted to int */
+ 		lenread = BZ2_bzRead(&dbz2err, dpfbz2, new + newpos, ctrl[0]);
+ 		if ((lenread < ctrl[0]) ||
+ 		    ((dbz2err != BZ_OK) && (dbz2err != BZ_STREAM_END)))
+ 			errx(1, "Corrupt patch\n");
+ 
++		/* Sanity-check */
++		if(oldpos>OFF_MAX-ctrl[0])
++			errx(1,"Corrupt patch\n");
++
+ 		/* Add old data to diff string */
+ 		for(i=0;i<ctrl[0];i++)
+ 			if((oldpos+i>=0) && (oldpos+i<oldsize))
+@@ -174,19 +187,25 @@
+ 		oldpos+=ctrl[0];
+ 
+ 		/* Sanity-check */
+-		if(newpos+ctrl[1]>newsize)
+-			errx(1,"Corrupt patch\n");
++		if((ctrl[1]<0) || (ctrl[1]>INT_MAX) ||
++			(newpos>OFF_MAX-ctrl[1]) || (newpos+ctrl[1]>newsize))
++				errx(1,"Corrupt patch\n");
+ 
+-		/* Read extra string */
++		/* Read extra string - 4th arg converted to int */
+ 		lenread = BZ2_bzRead(&ebz2err, epfbz2, new + newpos, ctrl[1]);
+ 		if ((lenread < ctrl[1]) ||
+ 		    ((ebz2err != BZ_OK) && (ebz2err != BZ_STREAM_END)))
+ 			errx(1, "Corrupt patch\n");
+ 
++		/* Sanity-check */
++		if((ctrl[2]<0) ?
++			(oldpos<OFF_MIN-ctrl[2]) : (oldpos>OFF_MAX-ctrl[2]))
++				errx(1,"Corrupt patch\n");
++
+ 		/* Adjust pointers */
+ 		newpos+=ctrl[1];
+ 		oldpos+=ctrl[2];
+-	};
++	}
+ 
+ 	/* Clean up the bzip2 reads */
+ 	BZ2_bzReadClose(&cbz2err, cpfbz2);



More information about the arch-commits mailing list