From 9e5632267def9991b1c3c9b9dabe4c891aea3375 Mon Sep 17 00:00:00 2001 From: bjs Date: Sun, 9 Mar 2008 20:56:57 +0000 Subject: Update to rsync 3.0.0: Too many changes to list here, so please see or ${WRKSRC}/CHANGES for more information. While here: - Build it with libtool. - Include buildlink3.mk file for libiconv and change hacks.mk to set USE_GNU_ICONV=yes instead of including libiconv's b3.mk. - Added options.mk for inet6 and debug options. - Added example configuration file (all entries commented out) --- net/rsync/Makefile | 44 +++++++++++++++------ net/rsync/PLIST | 4 +- net/rsync/distinfo | 11 +++--- net/rsync/hacks.mk | 4 +- net/rsync/options.mk | 20 ++++++++++ net/rsync/patches/patch-aa | 62 ----------------------------- net/rsync/patches/patch-ab | 97 ++++++++++++++++++++++++++++++++++++++++------ 7 files changed, 149 insertions(+), 93 deletions(-) create mode 100644 net/rsync/options.mk delete mode 100644 net/rsync/patches/patch-aa (limited to 'net/rsync') diff --git a/net/rsync/Makefile b/net/rsync/Makefile index 7a583e901f5..0c38d3e3a0b 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.69 2007/12/02 11:31:00 wiz Exp $ +# $NetBSD: Makefile,v 1.70 2008/03/09 20:56:57 bjs Exp $ -DISTNAME= rsync-2.6.9 +DISTNAME= rsync-3.0.0 CATEGORIES= net -PKGREVISION= 1 MASTER_SITES= http://rsync.samba.org/ftp/rsync/ \ http://rsync.samba.org/ftp/rsync/old-versions/ \ ftp://ftp.sunet.se/pub/unix/admin/rsync/ \ @@ -15,20 +14,43 @@ COMMENT= Network file distribution/synchronisation utility PKG_INSTALLATION_TYPES= overwrite pkgviews PKG_DESTDIR_SUPPORT= user-destdir -INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 share/doc/rsync - GNU_CONFIGURE= yes -CONFIGURE_ARGS+= --with-included-popt \ - --with-rsyncd-conf=${PKG_SYSCONFDIR}/rsyncd.conf TEST_TARGET= test +USE_LIBTOOL= yes + +CONFIGURE_ARGS+= --with-included-popt +CONFIGURE_ARGS+= --with-rsyncd-conf=${${PKG_SYSCONFDIR}/rsyncd.conf:L:Q} +CONFIGURE_SCRIPT= configure.sh +CONF_FILES= ${EGDIR}/rsyncd.conf ${PKG_SYSCONFDIR}/rsyncd.conf +EGDIR= ${PREFIX}/share/examples/${PKGBASE} PKG_SYSCONFSUBDIR= rsync SUBST_CLASSES+= paths SUBST_MESSAGE.paths= Fixing hardcoded paths. SUBST_STAGE.paths= post-patch -SUBST_FILES.paths= rsync.h rsync.1 rsyncd.conf.5 -SUBST_SED.paths= -e 's|/etc/rsyncd|${PKG_SYSCONFDIR}/rsyncd|g' \ - -e 's|/usr/bin/rsync|${PREFIX}/bin/rsync|g' - +SUBST_FILES.paths= ${WRKDIR}/rsyncd.conf rsync.1 rsyncd.conf.5 +SUBST_SED.paths= -e 's|/etc/rsyncd|${PKG_SYSCONFDIR}/rsyncd|g' +SUBST_SED.paths+= -e 's|/usr/bin/rsync|${PREFIX}/bin/rsync|g' +SUBST_VARS.paths= VARBASE + +.PHONY: install-examples +install-examples: + ${RUN} \ + ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR} && \ + ${INSTALL_DATA} ${WRKDIR}/rsyncd.conf ${DESTDIR}${EGDIR} +post-extract: + ${RUN} \ + ${CP} ${FILESDIR}/rsyncd.conf ${WRKDIR} +post-install: install-examples + ${RUN} \ + ${INSTALL_DATA_DIR} \ + ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} && \ + ${INSTALL_DATA} ${WRKSRC}/tech_report.tex \ + ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} && \ + ${INSTALL_DATA} ${WRKSRC}/README \ + ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + +.include "options.mk" +.include "../../converters/libiconv/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/rsync/PLIST b/net/rsync/PLIST index bf2dd72eafc..5f7b057bcbb 100644 --- a/net/rsync/PLIST +++ b/net/rsync/PLIST @@ -1,7 +1,9 @@ -@comment $NetBSD: PLIST,v 1.2 2002/01/10 11:00:19 martti Exp $ +@comment $NetBSD: PLIST,v 1.3 2008/03/09 20:56:57 bjs Exp $ bin/rsync man/man1/rsync.1 man/man5/rsyncd.conf.5 share/doc/rsync/README share/doc/rsync/tech_report.tex +share/examples/rsync/rsyncd.conf +@dirrm share/examples/rsync @dirrm share/doc/rsync diff --git a/net/rsync/distinfo b/net/rsync/distinfo index 0c8e1dab10c..c64d04fe059 100644 --- a/net/rsync/distinfo +++ b/net/rsync/distinfo @@ -1,7 +1,6 @@ -$NetBSD: distinfo,v 1.26 2007/08/23 13:47:50 tron Exp $ +$NetBSD: distinfo,v 1.27 2008/03/09 20:56:57 bjs Exp $ -SHA1 (rsync-2.6.9.tar.gz) = 341618e230ea2e0e551d0ccf06f840d4f824c843 -RMD160 (rsync-2.6.9.tar.gz) = 36d270d9f01e9a8e808f426196796001bdd3d5d2 -Size (rsync-2.6.9.tar.gz) = 811841 bytes -SHA1 (patch-aa) = f8193d10197d44f78d923b9c2e4809072d25e988 -SHA1 (patch-ab) = 1666dbc37c04c219886b2e5d160792e9b9e2b97d +SHA1 (rsync-3.0.0.tar.gz) = 8c5582ba2977cd4bf96add95226c64b949931eec +RMD160 (rsync-3.0.0.tar.gz) = ab71155c8329a195f2c194c2284546d4cae07a97 +Size (rsync-3.0.0.tar.gz) = 757821 bytes +SHA1 (patch-ab) = eb9a5227351ddf52c9fcb4fcaca1459f4d24357f diff --git a/net/rsync/hacks.mk b/net/rsync/hacks.mk index bbaabc751db..cd26fe4dad5 100644 --- a/net/rsync/hacks.mk +++ b/net/rsync/hacks.mk @@ -1,9 +1,9 @@ -# $NetBSD: hacks.mk,v 1.2 2007/10/16 23:48:58 tnn Exp $ +# $NetBSD: hacks.mk,v 1.3 2008/03/09 20:56:57 bjs Exp $ ### [Tue Nov 21 19:32:00 UTC 2006 : tvierling] ### iconv(..., NULL, 0, NULL, 0) crashes in libc version of iconv(3) ### .if ${OPSYS} == "Interix" PKG_HACKS+= pkgsrc-iconv -.include "../../converters/libiconv/buildlink3.mk" +USE_GNU_ICONV= yes .endif diff --git a/net/rsync/options.mk b/net/rsync/options.mk new file mode 100644 index 00000000000..a8c9d09d1e1 --- /dev/null +++ b/net/rsync/options.mk @@ -0,0 +1,20 @@ +# $NetBSD: options.mk,v 1.1 2008/03/09 20:56:57 bjs Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.rsync +PKG_SUPPORTED_OPTIONS= debug inet6 + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Minet6) +CONFIGURE_ARGS+= --enable-ipv6 +.else +CONFIGURE_ARGS+= --disable-ipv6 +.endif + +.if !empty(PKG_OPTIONS:Mdebug) +CONFIGURE_ARGS+= --enable-debug +MAKE_ENV+= STRIP_RSYNC=${STRIP} +.else +CONFIGURE_ARGS+= --disable-debug +MAKE_ENV+= STRIP_RSYNC=${TRUE} +.endif diff --git a/net/rsync/patches/patch-aa b/net/rsync/patches/patch-aa deleted file mode 100644 index cde3138330d..00000000000 --- a/net/rsync/patches/patch-aa +++ /dev/null @@ -1,62 +0,0 @@ -$NetBSD: patch-aa,v 1.11 2007/08/23 13:47:50 tron Exp $ - ---- sender.c.orig 2006-09-20 02:53:32.000000000 +0100 -+++ sender.c 2007-08-23 14:43:38.000000000 +0100 -@@ -123,6 +123,7 @@ - char fname[MAXPATHLEN]; - struct file_struct *file; - unsigned int offset; -+ size_t l = 0; - - if (ndx < 0 || ndx >= the_file_list->count) - return; -@@ -133,6 +134,20 @@ - file->dir.root, "/", NULL); - } else - offset = 0; -+ -+ l = offset + 1; -+ if (file) { -+ if (file->dirname) -+ l += strlen(file->dirname); -+ if (file->basename) -+ l += strlen(file->basename); -+ } -+ -+ if (l >= sizeof(fname)) { -+ rprintf(FERROR, "Overlong pathname\n"); -+ exit_cleanup(RERR_FILESELECT); -+ } -+ - f_name(file, fname + offset); - if (remove_source_files) { - if (do_unlink(fname) == 0) { -@@ -224,6 +239,7 @@ - enum logcode log_code = log_before_transfer ? FLOG : FINFO; - int f_xfer = write_batch < 0 ? batch_fd : f_out; - int i, j; -+ size_t l = 0; - - if (verbose > 2) - rprintf(FINFO, "send_files starting\n"); -@@ -259,6 +275,20 @@ - fname[offset++] = '/'; - } else - offset = 0; -+ -+ l = offset + 1; -+ if (file) { -+ if (file->dirname) -+ l += strlen(file->dirname); -+ if (file->basename) -+ l += strlen(file->basename); -+ } -+ -+ if (l >= sizeof(fname)) { -+ rprintf(FERROR, "Overlong pathname\n"); -+ exit_cleanup(RERR_FILESELECT); -+ } -+ - fname2 = f_name(file, fname + offset); - - if (verbose > 2) diff --git a/net/rsync/patches/patch-ab b/net/rsync/patches/patch-ab index 8e0e57ee392..cd878670926 100644 --- a/net/rsync/patches/patch-ab +++ b/net/rsync/patches/patch-ab @@ -1,22 +1,97 @@ -$NetBSD: patch-ab,v 1.10 2004/10/21 19:54:26 tv Exp $ +$NetBSD: patch-ab,v 1.11 2008/03/09 20:56:57 bjs Exp $ ---- Makefile.in.orig 2004-08-12 14:59:03.000000000 -0400 +--- Makefile.in.orig 2008-02-12 20:29:09.000000000 -0500 +++ Makefile.in -@@ -59,12 +59,11 @@ CHECK_OBJS=getgroups.o getfsdev.o t_stub - all: rsync$(EXEEXT) +@@ -13,6 +13,7 @@ CFLAGS=@CFLAGS@ + CPPFLAGS=@CPPFLAGS@ + EXEEXT=@EXEEXT@ + LDFLAGS=@LDFLAGS@ ++LTCFLAGS?= -prefer-pic + + INSTALLCMD=@INSTALL@ + INSTALLMAN=@INSTALL@ +@@ -54,26 +55,27 @@ CHECK_SYMLINKS = testsuite/chown-fake.te + CHECK_OBJS=tls.o getgroups.o getfsdev.o t_stub.o t_unsafe.o trimslash.o wildtest.o + + # note that the -I. is needed to handle config.h when using VPATH ++LTOBJ_SAVE= $(OBJ_RESTORE:%.o.sav=%.lo.sav) ++LTOBJ_RESTORE= $(OBJ_SAVE:.o=.lo) + .c.o: + @OBJ_SAVE@ +- $(CC) -I. -I$(srcdir) $(CFLAGS) $(CPPFLAGS) -c $< @CC_SHOBJ_FLAG@ +-@OBJ_RESTORE@ ++ $(LIBTOOL) --mode=compile --tag=CC $(CC) -I. -I$(srcdir) $(CFLAGS) $(LTCFLAGS) $(CPPFLAGS) -c $< -o $(@:.o=.lo) $(LTOBJ_RESTORE) + + all: conf_stop make_stop rsync$(EXEEXT) @MAKE_MAN@ install: all - -mkdir -p ${DESTDIR}${bindir} - ${INSTALLCMD} ${INSTALL_STRIP} -m 755 rsync$(EXEEXT) ${DESTDIR}${bindir} - -mkdir -p ${DESTDIR}${mandir}/man1 - -mkdir -p ${DESTDIR}${mandir}/man5 -- ${INSTALLMAN} -m 644 $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1 -- ${INSTALLMAN} -m 644 $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5 -+ ${BSD_INSTALL_PROGRAM} rsync$(EXEEXT) ${DESTDIR}${bindir} -+ ${BSD_INSTALL_MAN} $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1 -+ ${BSD_INSTALL_MAN} $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5 -+ ${BSD_INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/rsync -+ ${BSD_INSTALL_DATA} README tech_report.tex ${DESTDIR}${PREFIX}/share/doc/rsync +- if test -f $(srcdir)/rsync.1; then ${INSTALLMAN} -m 644 $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1; fi +- if test -f $(srcdir)/rsyncd.conf.5; then ${INSTALLMAN} -m 644 $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5; fi ++ ${BSD_INSTALL_PROGRAM_DIR} ${DESTDIR}${bindir} ++ ${LIBTOOL} --mode=install ${BSD_INSTALL_PROGRAM} ${INSTALL_STRIP} rsync$(EXEEXT) ${DESTDIR}${bindir} ++ ${BSD_INSTALL_MAN_DIR} ${DESTDIR}${mandir}/man1 ++ ${BSD_INSTALL_MAN_DIR} ${DESTDIR}${mandir}/man5 ++ if test -f $(srcdir)/rsync.1; then ${BSD_INSTALL_MAN} $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1; fi ++ if test -f $(srcdir)/rsyncd.conf.5; then ${BSD_INSTALL_MAN} $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5; fi install-strip: $(MAKE) INSTALL_STRIP='-s' install + + rsync$(EXEEXT): $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS:.o=.lo) $(LIBS) + + $(OBJS): $(HEADERS) + $(CHECK_OBJS): $(HEADERS) +@@ -82,7 +84,7 @@ flist.o: rounding.h + + rounding.h: rounding.c rsync.h + @for r in 0 1 3; do \ +- if $(CC) $(CFLAGS) $(LDFLAGS) -o rounding -DEXTRA_ROUNDING=$$r -I. $(srcdir)/rounding.c >/dev/null 2>&1; then \ ++ if $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o rounding -DEXTRA_ROUNDING=$$r -I. $(srcdir)/rounding.c >/dev/null 2>&1; then \ + echo "#define EXTRA_ROUNDING $$r" >rounding.h; \ + if test -f "$$HOME/build_farm/build_test.fns"; then \ + echo "EXTRA_ROUNDING is $$r" >&2; \ +@@ -97,21 +99,21 @@ rounding.h: rounding.c rsync.h + fi + + tls$(EXEEXT): $(TLS_OBJ) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TLS_OBJ) $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TLS_OBJ:.o=.lo) $(LIBS) + + getgroups$(EXEEXT): getgroups.o +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getgroups.o $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getgroups.lo $(LIBS) + + getfsdev$(EXEEXT): getfsdev.o +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.lo $(LIBS) + + TRIMSLASH_OBJ = trimslash.o syscall.o lib/compat.o lib/snprintf.o + trimslash$(EXEEXT): $(TRIMSLASH_OBJ) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TRIMSLASH_OBJ) $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TRIMSLASH_OBJ:.o=.lo) $(LIBS) + + T_UNSAFE_OBJ = t_unsafe.o syscall.o util.o t_stub.o lib/compat.o lib/snprintf.o + t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ:.o=.lo) $(LIBS) + + gen: conf proto.h man + +@@ -209,9 +211,10 @@ check: all $(CHECK_PROGS) $(CHECK_SYMLIN + check29: all $(CHECK_PROGS) $(CHECK_SYMLINKS) + rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh --protocol=29 + ++LT_BUILD_POPT= $(BUILD_POPT:.o=.lo) + wildtest.o: wildtest.c lib/wildmatch.c rsync.h config.h + wildtest$(EXEEXT): wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@ +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@ $(LIBS) ++ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ wildtest.lo lib/compat.lo lib/snprintf.lo $(LT_BUILD_POPT) $(LIBS) + + testsuite/chown-fake.test: + ln -s chown.test $(srcdir)/testsuite/chown-fake.test -- cgit v1.2.3