[25351] branches/dp2mp-move/base/portmgr

source_changes at macosforge.org source_changes at macosforge.org
Sat May 19 16:43:40 PDT 2007


Revision: 25351
          http://trac.macosforge.org/projects/macports/changeset/25351
Author:   jmpp at macports.org
Date:     2007-05-19 16:43:40 -0700 (Sat, 19 May 2007)

Log Message:
-----------

Adding an updated (and tested... locally at least) mprysncup.new script that will hopefully replace
the legacy mprsyncup one running on rsync.macports.org, bringing the repo up to date wrt the new namespace.

Also adding a tentative rsync.repos file detailing what I believe the rsync server layout should look like,
providing modules for both the new namespace layout and backwards compatible modules for the legacy darwinports namespace.
This file will probably have to be complemented with settings from the real rsyncd.conf file currently running on rsync.macports.org

Added Paths:
-----------
    branches/dp2mp-move/base/portmgr/mprsyncup.new
    branches/dp2mp-move/base/portmgr/rsync.repos

Added: branches/dp2mp-move/base/portmgr/mprsyncup.new
===================================================================
--- branches/dp2mp-move/base/portmgr/mprsyncup.new	                        (rev 0)
+++ branches/dp2mp-move/base/portmgr/mprsyncup.new	2007-05-19 23:43:40 UTC (rev 25351)
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+
+####
+# Script to checkout/update base sources from both trunk (ToT) and the current release tag (as determined by the base/config/RELEASE_URL file)
+# and a ports tree from trunk (ToT), and then export and sync them to the ${REPOROOT} location, wherefrom the rsync modules are fed.
+# Read the base/portmgr/rsync.repos file for more information on both the rsync modules and necessary filesystem level paths layouts.
+# Created by fkr at opendarwin.org, jberry at macports.org and yeled at macports.org,
+# updated by jmpp at macports.org
+# $Id$
+####
+
+
+set -e
+
+
+SVN="/opt/local/bin/svn -q --non-interactive"
+MPROOT=/usr/local/src/macosforge/macports
+REPOROOT=/usr/local/repos/macports
+SVNURL=http://svn.macports.org/repository/macports
+RELEASE_URL_FILE=config/RELEASE_URL
+RSYNC="/usr/bin/rsync -q"
+
+
+# Checkout trunk/base:
+BASE=${MPROOT}/trunk/base
+if [ -d ${BASE} ]; then
+    ${SVN} update ${BASE}
+else
+    ${SVN} checkout ${BASE}
+fi
+${SVN} export ${BASE} ${BASE}-export
+${RSYNC} -a -I --delete ${BASE}-export/ ${REPOROOT}/trunk/base && rm -rf ${BASE}-export
+
+
+# Read what tag we're releasign from, (check|update) it and export it:
+read RELEASE_URL < ${BASE}/${RELEASE_URL_FILE}
+if [ ! -n ${RELEASE_URL} ]; then
+    echo "no RELEASE_URL specified in svn trunk"
+    exit 1
+fi
+BASE=${MPROOT}/release
+if [ -d ${BASE} ]; then
+    ${SVN} switch ${RELEASE_URL} ${BASE}
+else
+    ${SVN} checkout ${RELEASE_URL} ${BASE}
+fi
+${SVN} export ${BASE} ${BASE}-export
+${RSYNC} -a -I --delete ${BASE}-export/ ${REPOROOT}/release && rm -rf ${BASE}-export
+
+
+# Checkout the ports tree and export it to the release rsync repo:
+PORTS=${MPROOT}/trunk/dports
+if [ -d ${PORTS} ]; then
+  ${SVN} update ${PORTS}  
+else
+    ${SVN} checkout ${PORTS}
+fi
+${SVN} export ${PORTS} ${PORTS}-export
+${RSYNC} -a -I --delete ${PORTS}-export/ ${REPOROOT}/release/ports && rm -rf ${PORTS}-export


Property changes on: branches/dp2mp-move/base/portmgr/mprsyncup.new
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: branches/dp2mp-move/base/portmgr/rsync.repos
===================================================================
--- branches/dp2mp-move/base/portmgr/rsync.repos	                        (rev 0)
+++ branches/dp2mp-move/base/portmgr/rsync.repos	2007-05-19 23:43:40 UTC (rev 25351)
@@ -0,0 +1,41 @@
+
+#######
+# MacPorts rsync repos, feeding the sync & selfupdate procedures.
+# Two main modules are supplied for current installations and two for backwards compatibility (legacy darwinports namespace).
+# Assuming a REPOROOT path of /usr/local/repos/macports, this file is organized in the following modules and filesystem level paths:
+#
+# ${REPOROOT}/release: holding a ports tree, exported from a checkout of svn's trunk (ToT), and the current release base dir,
+#    as determined by the base/config/RELEASE_URL file that's read by the base/portmgr/mprsyncup script;
+#
+# ${REPOROOT}/trunk: holding an export of a checkout from svn's trunk base dir (ToT);
+#
+# ${REPOROOT}/dpupdate: backwards compatible module, a filesystem level (relative) symlink to the trunk module;
+#
+# ${REPOROOT}/dpupdate1: backwards compatible module, a filesystem level (relative) symlink to the release module.
+#
+# Futhermore the ${REPOROOT}/trunk path should also hold a (relative) `dports' symlink to ../release/ports,
+# so that a sync operation against `dpupdate/ports' for the ports tree works on legacy MacPorts installations.
+# Whatever server pretends to use this file should simply add the modules listed here to an already tailored
+# rsyncd.conf file, as no other particular config flags are supplied.
+#
+# Created by Juan Manuel Palacios,
+# e-mail: jmpp at macports.org
+# $Id$
+#######
+
+
+[release]
+	comment = MacPorts rsync release repo, ports tree and base sources.
+	path = /usr/local/repos/macports/release
+
+[trunk]
+	comment = MacPorts ToT rsync repo, base component.
+	path = /usr/local/repos/macports/trunk
+
+[dpupdate]
+	comment = legacy MacPorts ToT rsync repo, ports tree and base component (solely for backwards compatibility purposes).
+	path = /usr/local/repos/macports/dpupdate
+
+[dpupdate1]
+	comment = legacy MacPorts rsync dpupdate1 repo, released base component (solely for backwards compatibility purposes).
+	path = /usr/local/repos/macports/dpupdate1


Property changes on: branches/dp2mp-move/base/portmgr/rsync.repos
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070519/6bc50755/attachment.html


More information about the macports-changes mailing list