On Tue, 2007-11-06 at 11:16 -0500, rob myers wrote:
On Mon, 2007-11-05 at 18:56 -0500, Mike Bonnet wrote:
The patch has been committed to Koji:
http://git.fedoraproject.org/?p=hosted/koji;a=commit;h=27ac942683d8bbfd28c3b...
I made some pretty significant changes to make the SCM class more object-y, remove some code duplication, make it more configurable at runtime, etc., but the framework setup in the original patch is there. I've tested it fairly completely and everything seems to be working as expected. Note that when using the "+ssh://" access methods, you're responsible for getting the required login credentials (host keys, private keys, Kerberos tickets) into the right place on the builders yourself.
mike-
your patch is much tidier than mine, thanks for fixing it up! i really like the removal of scmtype from the configuration file. i'm mixed on the removal of scmusername because i'm not sure that koji clients should specify the username used by the koji builder to perform ssh checkouts. however, while i thought it worth pointing out, it does not seem too big a deal to disclose this username.
i did some testing with my svn+ssh repository and found the patch below necessary- it creates ../common only if it does not already exist.
diff --git a/builder/kojid b/builder/kojid index b436a19..5c5d665 100755 --- a/builder/kojid +++ b/builder/kojid @@ -2506,7 +2507,8 @@ class SCM(object): (self.scmtype, ' '.join(update_checkout_cmd), os.path.basename(logfile))
# Required by Dist CVS layout
os.symlink('%s/common' % scmdir, '%s/../common' % sourcedir)
if not os.path.exists('%s/../common' % sourcedir):
os.symlink('%s/common' % scmdir, '%s/../common' %
sourcedir)
def get_options(): """process options from command line and config file"""
thanks again for adding this functionality to koji. :)
The patch looks good, I've applied it. Just out of curiousity, where did the common/ directory come from, an svn:external?