Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Sep 2012 10:25:33 GMT
From:      CyberLeo <cyberleo@cyberleo.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/171681: Patch ports Makefile to support rsync update
Message-ID:  <201209161025.q8GAPX3v068390@red.freebsd.org>
Resent-Message-ID: <201209161030.q8GAUBnj053028@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         171681
>Category:       ports
>Synopsis:       Patch ports Makefile to support rsync update
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 16 10:30:10 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     CyberLeo
>Release:        9.1-RC1
>Organization:
CyberLeo.Net
>Environment:
FreeBSD mtumishi.cyberleo.net 9.1-RC1 FreeBSD 9.1-RC1 #0 r239653+91c9b44: Sat Aug 25 22:14:59 EDT 2012     cyberleo@mtumishi.cyberleo.net:/usr/obj/usr/src/sys/MTUMISHI  amd64
>Description:
Since I maintain a ports tree overlay, I find it easier to update ports from a centralized patched copy instead of worrying about patching separately on each machine. None of the available ports tree update methods are useful for this.

The attached patch adds an rsync update mechanism, requiring only RSYNC_UPDATE and PORTS_RSYNC_SOURCE defined in /etc/make.conf.

Tested on 9.1-RC1 and 8.2-RELEASE.
>How-To-Repeat:

>Fix:
Included patch.

Patch attached with submission follows:

--- Makefile.orig	2012-08-05 13:06:49.000000000 -0400
+++ Makefile	2012-09-16 05:56:08.885054241 -0400
@@ -155,6 +155,8 @@
 GIT?= git
 SVN?= svn
 SUP?= csup
+RSYNC?= rsync
+RSYNC_FLAGS?= --recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --verbose
 PORTSNAP?= portsnap
 PORTSNAP_FLAGS?= -p ${.CURDIR}
 .if defined(SUPHOST)
@@ -172,6 +174,11 @@
 	@echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT}
 	@echo "--------------------------------------------------------------"
 	cd ${.CURDIR}; ${CVS} -R -q update -A -P -d -I!
+.elif defined(RSYNC_UPDATE) && defined(PORTS_RSYNC_SOURCE)
+	@echo "--------------------------------------------------------------"
+	@echo ">>> Updating with ${RSYNC} from ${PORTS_RSYNC_SOURCE}"
+	@echo "--------------------------------------------------------------"
+	@${RSYNC} ${RSYNC_FLAGS} ${PORTS_RSYNC_SOURCE}/ ${.CURDIR}/
 .elif exists(${.CURDIR}/.svn)
 	@echo "--------------------------------------------------------------"
 	@echo ">>> Updating ${.CURDIR} using Subversion"


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209161025.q8GAPX3v068390>