aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorEmanuel Haupt <ehaupt@FreeBSD.org>2013-10-23 19:21:58 +0000
committerEmanuel Haupt <ehaupt@FreeBSD.org>2013-10-23 19:21:58 +0000
commit632ef7974391d4d21477a1731cef2eda2c06b66f (patch)
tree60c73466fb1f420bef890e2833e79f36b5918724 /net
parent7a51592639421df05b9fd7e0358c77c3c33c70f4 (diff)
downloadports-632ef7974391d4d21477a1731cef2eda2c06b66f.tar.gz
ports-632ef7974391d4d21477a1731cef2eda2c06b66f.zip
Notes
Diffstat (limited to 'net')
-rw-r--r--net/rsync/Makefile17
-rw-r--r--net/rsync/files/extrapatch-renamed-flags.diff105
2 files changed, 120 insertions, 2 deletions
diff --git a/net/rsync/Makefile b/net/rsync/Makefile
index bfea0df274b2..39de83e90226 100644
--- a/net/rsync/Makefile
+++ b/net/rsync/Makefile
@@ -31,7 +31,7 @@ PORTDOCS= NEWS README csprotocol.txt tech_report.tex
# define options
OPTIONS_DEFINE= POPT_PORT ZLIB_BASE SSH ICONV
OPTIONS_RADIO= PTS
-OPTIONS_RADIO_PTS= TIMELIMIT RENAMED FLAGS ATIMES ACL
+OPTIONS_RADIO_PTS= TIMELIMIT RENAMED FLAGS RENFL ATIMES ACL
# options provided upstream
POPT_PORT_DESC= Use popt from devel/popt instead of bundled one
@@ -46,6 +46,10 @@ FLAGS_DESC= File system flags support patch, adds --fileflags
ATIMES_DESC= Preserve access times, adds --atimes
ACL_DESC= Add backward-compatibility for the --acls option
+# The following unsupported patch has been provided by:
+# Dmitry Morozovsky <marck@rinet.ru>
+RENFL_DESC= Renamed and flags options combined
+
# define default options
OPTIONS_DEFAULT=SSH ZLIB_BASE
@@ -65,7 +69,7 @@ PATCH_STRIP= -p1
EXTRA_PATCHES+= ${WRKSRC}/patches/atimes.diff
.endif
-.if ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MFLAGS} || ${PORT_OPTIONS:MACL} || make(makesum) || ${PORT_OPTIONS:MTIMELIMIT} || ${PORT_OPTIONS:MATIMES} || ${PORT_OPTIONS:MRENAMED}
+.if ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MFLAGS} || ${PORT_OPTIONS:MACL} || make(makesum) || ${PORT_OPTIONS:MTIMELIMIT} || ${PORT_OPTIONS:MATIMES} || ${PORT_OPTIONS:MRENAMED} || ${PORT_OPTIONS:MRENFL}
DISTFILES+= ${PORTNAME}-patches-${PORTVERSION}${EXTRACT_SUFX}
CFLAGS+= -I${LOCALBASE}/include
.endif
@@ -92,6 +96,15 @@ PATCH_STRIP= -p1
EXTRA_PATCHES+= ${WRKSRC}/patches/detect-renamed.diff
.endif
+.if ${PORT_OPTIONS:MRENFL}
+PATCH_STRIP= -p1
+EXTRA_PATCHES+= \
+ ${FILESDIR}/extrapatch-renamed-flags.diff \
+ ${WRKSRC}/patches/fileflags.diff \
+ ${FILESDIR}/extrapatch-main.c \
+ ${WRKSRC}/patches/detect-renamed.diff
+.endif
+
.if ${PORT_OPTIONS:MACL}
PATCH_STRIP= -p1
EXTRA_PATCHES+= ${WRKSRC}/patches/acls.diff
diff --git a/net/rsync/files/extrapatch-renamed-flags.diff b/net/rsync/files/extrapatch-renamed-flags.diff
new file mode 100644
index 000000000000..2fe58875daa5
--- /dev/null
+++ b/net/rsync/files/extrapatch-renamed-flags.diff
@@ -0,0 +1,105 @@
+# $FreeBSD$
+
+--- a/patches/detect-renamed.diff 2013-09-29 07:02:08.000000000 +0400
++++ b/patches/detect-renamed.diff 2013-10-23 14:56:21.073464928 +0400
+@@ -42,15 +42,15 @@
+ diff --git a/compat.c b/compat.c
+ --- a/compat.c
+ +++ b/compat.c
+-@@ -43,6 +43,7 @@ extern int checksum_seed;
++@@ -39,6 +39,7 @@
++ extern int fuzzy_basis;
++ extern int read_batch;
++ extern int delay_updates;
+++extern int detect_renamed;
++ extern int checksum_seed;
+ extern int basis_dir_cnt;
+ extern int prune_empty_dirs;
+- extern int protocol_version;
+-+extern int detect_renamed;
+- extern int protect_args;
+- extern int preserve_uid;
+- extern int preserve_gid;
+-@@ -123,6 +124,7 @@ void set_allow_inc_recurse(void)
++@@ -125,6 +126,7 @@
+ allow_inc_recurse = 0;
+ else if (!am_sender
+ && (delete_before || delete_after
+@@ -61,15 +61,15 @@
+ diff --git a/delete.c b/delete.c
+ --- a/delete.c
+ +++ b/delete.c
+-@@ -25,6 +25,7 @@
++@@ -23,6 +23,7 @@
++ #include "rsync.h"
++
+ extern int am_root;
+++extern int detect_renamed;
+ extern int make_backups;
+ extern int max_delete;
+-+extern int detect_renamed;
+- extern char *backup_dir;
+- extern char *backup_suffix;
+- extern int backup_suffix_len;
+-@@ -44,6 +45,8 @@ static inline int is_backup_file(char *fn)
++ extern int force_change;
++@@ -45,6 +46,8 @@
+ * its contents, otherwise just checks for content. Returns DR_SUCCESS or
+ * DR_NOT_EMPTY. Note that fname must point to a MAXPATHLEN buffer! (The
+ * buffer is used for recursion, but returned unchanged.)
+@@ -78,7 +78,7 @@
+ */
+ static enum delret delete_dir_contents(char *fname, uint16 flags)
+ {
+-@@ -63,7 +66,9 @@ static enum delret delete_dir_contents(char *fname, uint16 flags)
++@@ -64,7 +67,9 @@
+ save_filters = push_local_filters(fname, dlen);
+
+ non_perishable_cnt = 0;
+@@ -88,7 +88,7 @@
+ ret = non_perishable_cnt ? DR_NOT_EMPTY : DR_SUCCESS;
+
+ if (!dirlist->used)
+-@@ -103,7 +108,8 @@ static enum delret delete_dir_contents(char *fname, uint16 flags)
++@@ -108,7 +113,8 @@
+ if (S_ISDIR(fp->mode)) {
+ if (delete_dir_contents(fname, flags | DEL_RECURSE) != DR_SUCCESS)
+ ret = DR_NOT_EMPTY;
+@@ -98,7 +98,7 @@
+ if (delete_item(fname, fp->mode, flags) != DR_SUCCESS)
+ ret = DR_NOT_EMPTY;
+ }
+-@@ -126,6 +132,8 @@ static enum delret delete_dir_contents(char *fname, uint16 flags)
++@@ -131,6 +137,8 @@
+ *
+ * Note that fbuf must point to a MAXPATHLEN buffer if the mode indicates it's
+ * a directory! (The buffer is used for recursion, but returned unchanged.)
+@@ -775,7 +775,7 @@
+ diff -up a/proto.h b/proto.h
+ --- a/proto.h
+ +++ b/proto.h
+-@@ -101,6 +101,7 @@ int f_name_has_prefix(const struct file_
++@@ -101,6 +101,7 @@
+ char *f_name_buf(void);
+ char *f_name(const struct file_struct *f, char *fbuf);
+ struct file_list *get_dirlist(char *dirname, int dlen, int flags);
+@@ -783,16 +783,16 @@
+ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp);
+ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statret,
+ stat_x *sxp, int32 iflags, uchar fnamecmp_type,
+-@@ -353,7 +354,7 @@ void set_blocking(int fd);
++@@ -356,7 +357,7 @@
+ int fd_pair(int fd[2]);
+ void print_child_argv(const char *prefix, char **cmd);
+- int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode);
++ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode, uint32 fileflags);
+ -int make_path(char *fname, int flags);
+ +int make_path(char *fname, mode_t mode, int flags);
+ int full_write(int desc, const char *ptr, size_t len);
+ int copy_file(const char *source, const char *dest, int ofd, mode_t mode);
+ int robust_unlink(const char *fname);
+-@@ -373,6 +374,8 @@ char *sanitize_path(char *dest, const ch
++@@ -376,6 +377,8 @@
+ int flags);
+ int change_dir(const char *dir, int set_path_only);
+ char *normalize_path(char *path, BOOL force_newbuf, unsigned int *len_ptr);