All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] zsync-curl: add recipe
@ 2021-06-10 12:35 Ross Burton
  0 siblings, 0 replies; only message in thread
From: Ross Burton @ 2021-06-10 12:35 UTC (permalink / raw)
  To: openembedded-devel

zsync is a tool that is similar to rsync but optimised for transfering
single large files where you have a previous version of the file locally.
These qualities make it an excellent choice for transfering built images
between hosts.

zsync-curl is a maintained fork of the original zsync, that uses curl for
HTTP requests allowing it to connect to HTTPS servers.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../zsync/zsync-curl/fixes.patch              | 115 ++++++++++++++++++
 .../zsync/zsync-curl/make.patch               |  50 ++++++++
 .../recipes-extended/zsync/zsync-curl_git.bb  |  20 +++
 3 files changed, 185 insertions(+)
 create mode 100644 meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch
 create mode 100644 meta-oe/recipes-extended/zsync/zsync-curl/make.patch
 create mode 100644 meta-oe/recipes-extended/zsync/zsync-curl_git.bb

diff --git a/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch b/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch
new file mode 100644
index 0000000000..1ec4993a1c
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch
@@ -0,0 +1,115 @@
+Upstream-Status: Submitted [https://github.com/probonopd/zsync-curl/pull/41]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 10de8c4..6488140 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -9,7 +9,6 @@ AC_CONFIG_MACRO_DIR([autotools])
+ AC_CANONICAL_HOST
+ 
+ AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip foreign check-news -Woverride -Wobsolete -Wportability -Wsyntax -Wunsupported])
+-AM_MAINTAINER_MODE
+ 
+ dnl --- Check for programs
+ AC_PROG_CC
+@@ -23,6 +22,7 @@ AS_IF([test "x$enable_profile" = "xyes"], [
+    ZS_CFLAGS="${ZS_CFLAGS} -pg" ])
+ 
+ dnl --- Header files, typedefs, structures, libraries
++AC_USE_SYSTEM_EXTENSIONS
+ AC_C_CONST
+ AC_HEADER_STDC
+ # string.h, memory.h, stdlib.h both included in the default header checks
+@@ -55,10 +55,6 @@ case $host_os in
+        host_os_mingw32=yes
+        LIBS="${LIBS} -lwsock32"
+        ;;
+-   *)
+-       AC_DEFINE([_XOPEN_SOURCE], 600, [Enable POSIX extensions if present])
+-       AC_DEFINE([_BSD_SOURCE],1, [Enable BSD extensions if present])
+-       ;;
+ esac
+ AM_CONDITIONAL([MINGW32], test "x$host_os_mingw32" = "xyes")
+ 
+diff --git a/src/librcksum/Makefile.am b/src/librcksum/Makefile.am
+index f4fce72..47754eb 100644
+--- a/src/librcksum/Makefile.am
++++ b/src/librcksum/Makefile.am
+@@ -1,4 +1,4 @@
+-
++AM_CPPFLAGS = "-I$(top_srcdir)"
+ 
+ noinst_LIBRARIES = librcksum.a
+ 
+diff --git a/src/librcksum/md4.h b/src/librcksum/md4.h
+index e90603a..0ed7485 100644
+--- a/src/librcksum/md4.h
++++ b/src/librcksum/md4.h
+@@ -18,11 +18,8 @@
+ 
+ #include "zsglobal.h"
+ 
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#else
++#include <stdint.h>
+ #include <sys/types.h>
+-#endif
+ 
+ #define	MD4_BLOCK_LENGTH		64
+ #define	MD4_DIGEST_LENGTH		16
+diff --git a/src/libzsync/Makefile.am b/src/libzsync/Makefile.am
+index 0a6ae85..33a5951 100644
+--- a/src/libzsync/Makefile.am
++++ b/src/libzsync/Makefile.am
+@@ -1,3 +1,4 @@
++AM_CPPFLAGS = "-I$(top_srcdir)"
+ 
+ noinst_LIBRARIES = libzsync.a
+ 
+diff --git a/src/libzsync/sha1.h b/src/libzsync/sha1.h
+index 3946505..87f3794 100644
+--- a/src/libzsync/sha1.h
++++ b/src/libzsync/sha1.h
+@@ -11,11 +11,8 @@
+ 
+ #include "config.h"
+ 
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#else
++#include <stdint.h>
+ #include <sys/types.h>
+-#endif
+ 
+ #define	SHA1_BLOCK_LENGTH		64
+ #define	SHA1_DIGEST_LENGTH		20
+diff --git a/src/libzsync/zmap.c b/src/libzsync/zmap.c
+index f052dba..030b2a5 100644
+--- a/src/libzsync/zmap.c
++++ b/src/libzsync/zmap.c
+@@ -28,9 +28,6 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <arpa/inet.h>
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#endif
+ 
+ #ifdef WITH_DMALLOC
+ # include <dmalloc.h>
+diff --git a/src/make.c b/src/make.c
+index 191b527..ba7f3a9 100644
+--- a/src/make.c
++++ b/src/make.c
+@@ -28,9 +28,6 @@
+ #include <time.h>
+ 
+ #include <arpa/inet.h>
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#endif
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl/make.patch b/meta-oe/recipes-extended/zsync/zsync-curl/make.patch
new file mode 100644
index 0000000000..ef19b5e85e
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl/make.patch
@@ -0,0 +1,50 @@
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 3b9d64cf3c33ad235ed444f8715732e509ab023f Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 9 Jun 2021 16:11:25 +0100
+Subject: [PATCH] Build zsyncmake
+
+No point having the zsync client without the server-side tool.
+
+Closes #42
+---
+ .gitignore      | 1 +
+ src/Makefile.am | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index 36f7bd8..728658e 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -22,3 +22,4 @@ src/librcksum/md4test
+ src/libzsync/sha1test
+ stamp-h1
+ zsync_curl
++zsyncmake_curl
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5f8ff73..ffa2280 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -4,13 +4,16 @@ ACLOCAL_AMFLAGS = -I autotools
+ 
+ SUBDIRS = librcksum zlib libzsync doc
+ 
+-bin_PROGRAMS = zsync_curl
++bin_PROGRAMS = zsync_curl zsyncmake_curl
+ 
+ zsync_curl_SOURCES = client.c http.c http.h url.c url.h progress.c progress.h base64.c format_string.h zsglobal.h
+ zsync_curl_LDADD = libzsync/libzsync.a librcksum/librcksum.a zlib/libinflate.a $(LIBOBJS)
+ 
+ EXTRA_zsync_curl_SOURCES = getaddrinfo.h
+ 
++zsyncmake_curl_SOURCES = make.c makegz.c makegz.h format_string.h
++zsyncmake_curl_LDADD = libzsync/libzsync.a librcksum/librcksum.a zlib/libinflate.a zlib/libdeflate.a -lm
++
+ # From "GNU autoconf, automake and libtool" Vaughan, Elliston, 
+ # #  Tromey and Taylor, publisher New Riders, p.134
+ # # They made me do it! :-)
+-- 
+2.25.1
+
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
new file mode 100644
index 0000000000..adb72d5de2
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "File transfer tool optimised for large files (curl port)"
+HOMEPAGE = "http://zsync.moria.org.uk/"
+DEPENDS = "curl"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://src/COPYING;md5=71c0ac4d86266533509aa0825b8d323c"
+
+SRC_URI = "git://github.com/probonopd/zsync-curl;protocol=https \
+           file://fixes.patch \
+           file://make.patch"
+SRCREV = "00141c2806ccc4ddf2ff6263ee1612d19c0b713f"
+
+PV = "0.6.2+git${SRCPV}"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+AUTOTOOLS_SCRIPT_PATH = "${S}/src"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.25.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-10 12:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-10 12:35 [PATCH] zsync-curl: add recipe Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.