summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches/avoid_quoting_of_tilde_when_its_a_destination_arg.patch22
-rw-r--r--debian/patches/disable_reconfigure_req.diff41
-rw-r--r--debian/patches/fix_rrsync_man_generation.patch25
-rw-r--r--debian/patches/perl_shebang.patch73
-rw-r--r--debian/patches/series6
-rw-r--r--debian/patches/skip_devices_test.patch73
-rw-r--r--debian/patches/trust_the_sender_on_a_local_transfer.patch34
7 files changed, 274 insertions, 0 deletions
diff --git a/debian/patches/avoid_quoting_of_tilde_when_its_a_destination_arg.patch b/debian/patches/avoid_quoting_of_tilde_when_its_a_destination_arg.patch
new file mode 100644
index 0000000..66e2b52
--- /dev/null
+++ b/debian/patches/avoid_quoting_of_tilde_when_its_a_destination_arg.patch
@@ -0,0 +1,22 @@
+From 537499408948f4e3dd048a861eb58f211e4546f8 Mon Sep 17 00:00:00 2001
+From: Wayne Davison <wayne@opencoder.net>
+Date: Sat, 5 Nov 2022 09:14:33 -0700
+Subject: [PATCH] Avoid quoting of tilde when it's a destination arg.
+
+---
+ options.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/options.c b/options.c
+index d38bbe8db..cfa3e1dcd 100644
+--- a/options.c
++++ b/options.c
+@@ -2510,7 +2510,7 @@ char *safe_arg(const char *opt, const char *arg)
+ char *ret;
+ if (!protect_args && old_style_args < 2 && (!old_style_args || (!is_filename_arg && opt != SPLIT_ARG_WHEN_OLD))) {
+ const char *f;
+- if (!trust_sender_args && *arg == '~'
++ if (*arg == '~' && is_filename_arg && !am_sender && !trust_sender_args
+ && ((relative_paths && !strstr(arg, "/./"))
+ || !strchr(arg, '/'))) {
+ extras++;
diff --git a/debian/patches/disable_reconfigure_req.diff b/debian/patches/disable_reconfigure_req.diff
new file mode 100644
index 0000000..412eb20
--- /dev/null
+++ b/debian/patches/disable_reconfigure_req.diff
@@ -0,0 +1,41 @@
+Description: Remove need to run reconfigure target
+Author: Samuel Henrique <samueloph@debian.org>
+Forwarded: not-needed
+Index: rsync/Makefile.in
+===================================================================
+--- rsync.orig/Makefile.in
++++ rsync/Makefile.in
+@@ -210,15 +210,6 @@ configure.sh config.h.in: configure.ac a
+ else \
+ echo "config.h.in has CHANGED."; \
+ fi
+- @if test -f configure.sh.old || test -f config.h.in.old; then \
+- if test "$(MAKECMDGOALS)" = reconfigure; then \
+- echo 'Continuing with "make reconfigure".'; \
+- else \
+- echo 'You may need to run:'; \
+- echo ' make reconfigure'; \
+- exit 1; \
+- fi \
+- fi
+
+ .PHONY: reconfigure
+ reconfigure: configure.sh
+@@ -232,17 +223,6 @@ restatus:
+ Makefile: Makefile.in config.status configure.sh config.h.in
+ @if test -f Makefile; then cp -p Makefile Makefile.old; else touch Makefile.old; fi
+ @./config.status
+- @if diff Makefile Makefile.old >/dev/null 2>&1; then \
+- echo "Makefile is unchanged."; \
+- rm Makefile.old; \
+- else \
+- if test "$(MAKECMDGOALS)" = reconfigure; then \
+- echo 'Continuing with "make reconfigure".'; \
+- else \
+- echo "Makefile updated -- rerun your make command."; \
+- exit 1; \
+- fi \
+- fi
+
+ stunnel-rsyncd.conf: $(srcdir)/stunnel-rsyncd.conf.in Makefile
+ sed 's;\@bindir\@;$(bindir);g' <$(srcdir)/stunnel-rsyncd.conf.in >stunnel-rsyncd.conf
diff --git a/debian/patches/fix_rrsync_man_generation.patch b/debian/patches/fix_rrsync_man_generation.patch
new file mode 100644
index 0000000..ffbe4ff
--- /dev/null
+++ b/debian/patches/fix_rrsync_man_generation.patch
@@ -0,0 +1,25 @@
+Description: Fix manpage installation for rrsync
+ Otherwise we would get "ERROR: support/rrsync.1 cannot be created."
+ I'm not confident this is the best approach on solving this issue,
+ but I know this works with no regressions.
+ This patch needs to be reviewed before being submitted to upstream.
+Author: Samuel Henrique <samueloph@debian.org>
+Index: rsync/maybe-make-man
+===================================================================
+--- rsync.orig/maybe-make-man
++++ rsync/maybe-make-man
+@@ -22,12 +22,8 @@ if [ ! -f "$flagfile" ]; then
+ cp -p "$srcdir/$outname" .
+ exit 0
+ else
+- echo "ERROR: $outname cannot be created."
+- if [ -f "$HOME/build_farm/build_test.fns" ]; then
+- exit 0 # No exit errorno to avoid a build failure in the samba build farm
+- else
+- exit 1
+- fi
++ "$srcdir/md-convert" "$srcdir/$inname"
++ cp -p "$srcdir/$outname" .
+ fi
+ fi
+ fi
diff --git a/debian/patches/perl_shebang.patch b/debian/patches/perl_shebang.patch
new file mode 100644
index 0000000..21aa930
--- /dev/null
+++ b/debian/patches/perl_shebang.patch
@@ -0,0 +1,73 @@
+Description: Removes usage of env on perl shebang as per Debian Policy ยง 10.4
+Author: Samuel Henrique <samueloph@debian.org>
+Forwarded: not-needed
+Index: rsync/support/cvs2includes
+===================================================================
+--- rsync.orig/support/cvs2includes
++++ rsync/support/cvs2includes
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ #
+ # This script finds all CVS/Entries files in the current directory and below
+ # and creates a local .cvsinclude file with non-inherited rules including each
+Index: rsync/support/file-attr-restore
+===================================================================
+--- rsync.orig/support/file-attr-restore
++++ rsync/support/file-attr-restore
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # This script will parse the output of "find ARG [ARG...] -ls" and
+ # apply (at your discretion) the permissions, owner, and group info
+ # it reads onto any existing files and dirs (it doesn't try to affect
+Index: rsync/support/files-to-excludes
+===================================================================
+--- rsync.orig/support/files-to-excludes
++++ rsync/support/files-to-excludes
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # This script takes an input of filenames and outputs a set of
+ # include/exclude directives that can be used by rsync to copy
+ # just the indicated files using an --exclude-from=FILE option.
+Index: rsync/support/logfilter
+===================================================================
+--- rsync.orig/support/logfilter
++++ rsync/support/logfilter
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # Filter the rsync daemon log messages by module name. The log file can be
+ # in either syslog format or rsync's own log-file format. Note that the
+ # MODULE_NAME parameter is used in a regular-expression match in order to
+Index: rsync/support/lsh
+===================================================================
+--- rsync.orig/support/lsh
++++ rsync/support/lsh
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # This is a "local shell" command that works like a remote shell but only for
+ # the local host. See the usage message for more details.
+
+Index: rsync/support/mnt-excl
+===================================================================
+--- rsync.orig/support/mnt-excl
++++ rsync/support/mnt-excl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ # This script takes a command-line arg of a source directory
+ # that will be passed to rsync, and generates a set of excludes
+ # that will exclude all mount points from the list. This is
+Index: rsync/support/rsyncstats
+===================================================================
+--- rsync.orig/support/rsyncstats
++++ rsync/support/rsyncstats
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ #
+ # This script parses the default logfile format produced by rsync when running
+ # as a daemon with transfer logging enabled. It also parses a slightly tweaked
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e91520a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+disable_reconfigure_req.diff
+skip_devices_test.patch
+perl_shebang.patch
+fix_rrsync_man_generation.patch
+avoid_quoting_of_tilde_when_its_a_destination_arg.patch
+trust_the_sender_on_a_local_transfer.patch
diff --git a/debian/patches/skip_devices_test.patch b/debian/patches/skip_devices_test.patch
new file mode 100644
index 0000000..5cb4644
--- /dev/null
+++ b/debian/patches/skip_devices_test.patch
@@ -0,0 +1,73 @@
+Author: Samuel Henrique <samueloph@debian.org>
+Description: Skip "devices" test as it fails on kfreebsd and hurd
+ Error log:
+ /----- devices log follows
+ Testing for symlinks using 'test -h'
+ Let's try re-running the script under fakeroot...
+ Testing for symlinks using 'test -h'
+ cD+++++++++ block
+ cD+++++++++ block2
+ default_perms_for_dir: sys_acl_get_file(., ACL_TYPE_DEFAULT): Operation not supported, falling back on umask
+ cDc.T...... block3
+ sending incremental file list
+ delta-transmission disabled for local transfer or --whole-file
+ .d..t...... ./
+ cDc.t...... block
+ cDc........ block2
+ cD+++++++++ block3
+ hD+++++++++ block3.5 => block3
+ cD+++++++++ char
+ cD+++++++++ char2
+ cD+++++++++ char3
+ cS+++++++++ fifo
+ total: matches=0 hash_hits=0 false_alarms=0 data=0
+
+ sent 160 bytes received 117 bytes 554.00 bytes/sec
+ total size is 0 speedup is 0.00
+ check how the directory listings compare with diff:
+
+ + + /<<PKGBUILDDIR>>/rsynctee -aii /<<PKGBUILDDIR>>/testtmp/devices/rsync.out --link-dest=/<<PKGBUILDDIR>>/testtmp/devices/to
+ /<<PKGBUILDDIR>>/testtmp/devices/from/ /<<PKGBUILDDIR>>/testtmp/devices/chk/
+ rsync: failed to hard-link /<<PKGBUILDDIR>>/testtmp/devices/to/fifo with fifo: Invalid cross-device link (1073741842)
+ cd ./
+ hD block
+ hD block2
+ hD block3
+ hD block3.5
+ hD char
+ hD char2
+ hD char3
+ cSc........ fifo
+ rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
+ + cat
+ + diff -u /<<PKGBUILDDIR>>/testtmp/devices/rsync.chk /<<PKGBUILDDIR>>/testtmp/devices/rsync.out
+ /--- /<<PKGBUILDDIR>>/testtmp/devices/rsync.chk 2019-10-15 01:26:43.000000000 +0000
+ /+++ /<<PKGBUILDDIR>>/testtmp/devices/rsync.out 2019-10-15 01:26:43.000000000 +0000
+ @@ -6,4 +6,4 @@
+ hD char
+ hD char2
+ hD char3
+ -hS fifo
+ +cSc........ fifo
+ + test_fail test 5 failed
+ + echo test 5 failed
+ test 5 failed
+ + exit 1
+ /bin/fakeauth: Error 1 for child 7541
+ /bin/settrans: Error 1 for child 7540
+ ----- devices log ends
+ FAIL devices
+Index: rsync/testsuite/devices.test
+===================================================================
+--- rsync.orig/testsuite/devices.test
++++ rsync/testsuite/devices.test
+@@ -9,6 +9,9 @@
+
+ . "$suitedir/rsync.fns"
+
++# Debian patch to skip this test as it fails on kfreebsd and hurd
++test_skipped "Patched by Debian to skip as it fails on kfreebsd and hurd"
++
+ # Build some hardlinks
+
+ case $0 in
diff --git a/debian/patches/trust_the_sender_on_a_local_transfer.patch b/debian/patches/trust_the_sender_on_a_local_transfer.patch
new file mode 100644
index 0000000..8ec443d
--- /dev/null
+++ b/debian/patches/trust_the_sender_on_a_local_transfer.patch
@@ -0,0 +1,34 @@
+From f1e3434b59dd3dfbf4b6faf8dbc81dd068adc305 Mon Sep 17 00:00:00 2001
+From: Wayne Davison <wayne@opencoder.net>
+Date: Thu, 1 Dec 2022 20:16:51 -0800
+Subject: [PATCH] Trust the sender on a local transfer.
+
+---
+ main.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index 9f36904d..0c60b86d 100644
+--- a/main.c
++++ b/main.c
+@@ -89,6 +89,8 @@ extern int backup_dir_len;
+ extern int basis_dir_cnt;
+ extern int default_af_hint;
+ extern int stdout_format_has_i;
++extern int trust_sender_filter;
++extern int trust_sender_args;
+ extern struct stats stats;
+ extern char *stdout_format;
+ extern char *logfile_format;
+@@ -1471,8 +1473,10 @@ static int start_client(int argc, char *argv[])
+ }
+
+ /* A local transfer doesn't unbackslash anything, so leave the args alone. */
+- if (local_server)
++ if (local_server) {
+ old_style_args = 2;
++ trust_sender_args = trust_sender_filter = 1;
++ }
+
+ if (!rsync_port && remote_argc && !**remote_argv) /* Turn an empty arg into a dot dir. */
+ *remote_argv = ".";