From ee580eeb594bdb8ac5d7e3b034b309bb1384c4ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Serdar=20Dalg=C4=B1=C3=A7?= Date: Sun, 19 Jul 2009 02:35:47 +0000 Subject: [PATCH] add svndist-v0.2.py: A script to prepare PiSi source tarball from any svn directory(local or remote) in any revision you like. You can also set the date option for naming the .tar.bz2 file. See -h option for details. --- tools/svndist-v0.2.py | 82 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100755 tools/svndist-v0.2.py diff --git a/tools/svndist-v0.2.py b/tools/svndist-v0.2.py new file mode 100755 index 00000000..1029f46f --- /dev/null +++ b/tools/svndist-v0.2.py @@ -0,0 +1,82 @@ +#! /usr/bin/python +# +# a script to prepare PiSi source tarball from any svn directory you specify +# in any revision you want. +# author: sdalgic +# +# any comments and feedbacks are welcomed : dalgic.srdr [AT] gmail [DOT] com +# +# inspired from http://svn.pardus.org.tr/uludag/trunk/pisi/tools/svndist.py written by exa. + +import sys +import os +import shutil +import datetime +import pisi + +from optparse import OptionParser + +def run(cmd): + print 'running', cmd + os.system(cmd) + +if __name__ == "__main__": + + sys.path.insert(0, '.') + ver = pisi.__version__ + pisiSVNpath = "http://svn.uludag.org.tr/uludag/trunk/pisi" + svndist = "svndist" + + usage = "usage: %s [options] " % os.path.basename(sys.argv[0]) + parser = OptionParser(usage = usage) + + parser.add_option("-r", "--revision", dest="rev", default = "HEAD", + help="Select a revision to export. \ + Default is the HEAD value. \ + ") + + parser.add_option("-o", "--out-dir", dest="svndist", default = svndist, type="string", + help="Select the output directory to export. \ + Default is the `svndist` directory. ") + + parser.add_option("-p", "--path", dest="pisiSVNpath", default=pisiSVNpath, type="string", + help="Select the SVN Path which is going to be exported. It can be a local copy too. \ + Default is http://svn.uludag.org.tr/uludag/trunk/pisi ") + + parser.add_option("--with-date", action="store_true", dest="date", default=False, + help="Add date tag to the tar file name. ") + + (opts, args) = parser.parse_args() + + print 'Exporting svn directory' + + if not os.path.exists(opts.svndist): + os.makedirs(opts.svndist) + + if opts.rev == "HEAD": + if os.path.exists(opts.svndist+'/pisi-%s' % ver): + shutil.rmtree(svndist+'/pisi-%s' % ver) + + run('svn export %s %s/pisi-%s' % (opts.pisiSVNpath, opts.svndist, ver)) + + os.chdir(opts.svndist) + run('tar cjvf pisi-%s.tar.bz2 pisi-%s' % (ver,ver)) + + if opts.date == True : + time = datetime.datetime.now() + os.rename('pisi-%s.tar.bz2' % ver , 'pisi-%s.%s.%s-%s.tar.bz2' % (time.year, time.month, time.day, ver)) + + else: + if os.path.exists(opts.svndist+'/pisi-r%s' % opts.rev): + shutil.rmtree(opts.svndist+'/pisi-r%s' % opts.rev) + + run('svn export -r %s %s %s/pisi-r%s' % (opts.rev, opts.pisiSVNpath, opts.svndist, opts.rev)) + os.chdir(opts.svndist) + run('tar cjvf pisi-r%s.tar.bz2 pisi-r%s' % (opts.rev,opts.rev)) + + if opts.date == True : + time = datetime.datetime.now() + os.rename('pisi-r%s.tar.bz2' % opts.rev , 'pisi-r%s-%s.%s.%s.tar.bz2' % (opts.rev, time.year, time.month, time.day)) + + print 'Have a look at %s directory' % opts.svndist +