ports/171681: Patch ports Makefile to support rsync update
CyberLeo
cyberleo at cyberleo.net
Sun Sep 16 10:30:11 UTC 2012
>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 at 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:
More information about the freebsd-ports-bugs
mailing list