Files
pisi/scripts/svndist-v0.2.py
T
2019-06-06 01:31:19 +03:00

83 lines
2.9 KiB
Python
Executable File

#! /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))