The following simple patch adds the ability for to run a userside 
post_sync script, right now it's only used with rsync but the idea could
be adopted rather easy for other methods of transfer that portage may
use. The basic idea is to be able to preform a set of maintenance tasks
right after sync up with an rsync server. Be that adding a call to svn
co, cvs co, ebuild manipulation, updating search caches or other. I've
been using this method on and off sense about portage-2.0.51.16 without
any problems. Any comments before I file a bug for inclusion?

-- 
Ned Ludd <[EMAIL PROTECTED]>
--- bin/emerge.orig	2005-10-29 00:15:07.000000000 -0400
+++ bin/emerge	2005-10-29 00:15:15.000000000 -0400
@@ -2576,6 +2576,10 @@
 
 		if (exitcode==0):
 			emergelog("=== Sync completed with %s" % dosyncuri)
+			import portage_const
+			if (os.path.exists(portage_const.USER_CONFIG_PATH + "/bin/post_sync")):
+				portage.spawn(portage_const.USER_CONFIG_PATH + "/bin/post_sync", portage.settings, free=1)
+
 		elif (exitcode>0):
 			print
 			if exitcode==1:

Reply via email to