From e41336d5af0464e9f28045429196d5f6b4babf92 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Mon, 2 Mar 2020 12:33:50 +0300 Subject: rsync: build without perl --- core/rsync/build | 5 ++++- core/rsync/checksums | 1 + core/rsync/files/mkproto.awk | 39 +++++++++++++++++++++++++++++++++++++++ core/rsync/sources | 1 + 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 core/rsync/files/mkproto.awk (limited to 'core') diff --git a/core/rsync/build b/core/rsync/build index 6a0ede69..6a623847 100755 --- a/core/rsync/build +++ b/core/rsync/build @@ -2,9 +2,12 @@ export CFLAGS="-static $CFLAGS" +sed -i 's/perl/awk -f/;s/mkproto.pl/mkproto.awk/' Makefile.in + ./configure \ --prefix=/usr \ - --with-included-popt + --with-included-popt \ + --without-included-zlib make make DESTDIR="$1" install diff --git a/core/rsync/checksums b/core/rsync/checksums index fb1e3676..f8cfcc6f 100644 --- a/core/rsync/checksums +++ b/core/rsync/checksums @@ -1 +1,2 @@ 55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0 rsync-3.1.3.tar.gz +301240aecba5b8fbda8310c841ef61e3c1f312a55378f6079f8d65ae1bd811f2 mkproto.awk diff --git a/core/rsync/files/mkproto.awk b/core/rsync/files/mkproto.awk new file mode 100644 index 00000000..d3802f95 --- /dev/null +++ b/core/rsync/files/mkproto.awk @@ -0,0 +1,39 @@ +#!/usr/bin/awk -f + +BEGIN { + while ((getline i < "proto.h") > 0) old_protos = old_protos ? old_protos "\n" i : i + protos = "/* This file is automatically generated with \"make proto\". DO NOT EDIT */\n" +} + +inheader { + protos = protos "\n" ((inheader = /\)[ \t]*$/ ? 0 : 1) ? $0 : $0 ";") + next +} + +/^FN_(LOCAL|GLOBAL)_[^(]+\([^,()]+/ { + local = /^FN_LOCAL/ + gsub(/^FN_(LOC|GLOB)AL_|,.*$/, "") + sub(/^BOOL\(/, "BOOL ") + sub(/^CHAR\(/, "char ") + sub(/^INTEGER\(/, "int ") + sub(/^STRING\(/, "char *") + protos = protos "\n" $0 (local ? "(int module_id);" : "(void);") + next +} + +/^static|^extern|;/||!/^[A-Za-z][A-Za-z0-9_]* / { next } + +/\(.*\)[ \t]*$/ { + protos = protos "\n" $0 ";" + next +} + +/\(/ { + inheader = 1 + protos = protos "\n" $0 +} + +END { + if (old_protos != protos) print protos > "proto.h" + print "" > "proto.h-tstamp" +} diff --git a/core/rsync/sources b/core/rsync/sources index 61a21f38..1f921867 100644 --- a/core/rsync/sources +++ b/core/rsync/sources @@ -1 +1,2 @@ https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz +files/mkproto.awk -- cgit v1.2.3