[pypy-svn] r16786 - pypy/release/0.7.x/pypy/tool

hpk at codespeak.net hpk at codespeak.net
Sat Aug 27 17:32:43 CEST 2005


Author: hpk
Date: Sat Aug 27 17:32:43 2005
New Revision: 16786

Added:
   pypy/release/0.7.x/pypy/tool/makerelease.py   (contents, props changed)
Log:
added a first version of the makerelease script


Added: pypy/release/0.7.x/pypy/tool/makerelease.py
==============================================================================
--- (empty file)
+++ pypy/release/0.7.x/pypy/tool/makerelease.py	Sat Aug 27 17:32:43 2005
@@ -0,0 +1,76 @@
+
+
+import py
+
+log = py.log.Producer("log")
+
+BASEURL = "file:///svn/pypy/release/0.7.x"
+DDIR = py.path.local('/www/codespeak.net/htdocs/download/pypy')
+
+def usage():
+    print "usage: %s versionbasename" %(py.std.argv[0])
+    raise SystemExit, 1
+
+def cexec(cmd): 
+    log("exec:", cmd)
+    return py.process.cmdexec(cmd) 
+
+def maketargz(target):
+    targz = target + ".tar.gz"
+    basename = target.basename 
+    old = target.dirpath().chdir() 
+    try:
+        out = cexec("tar zcvf %(targz)s %(basename)s" % locals())
+    finally:
+        old.chdir()
+    assert targz.check(file=1)
+    assert targz.size() > 0
+    return targz 
+
+def makezip(target):
+    tzip = target + ".zip" 
+    if tzip.check(file=1):
+        log("removing", tzip)
+        tzip.remove()
+    basename = target.basename 
+    old = target.dirpath().chdir() 
+    try:
+        out = cexec("zip -r9 %(tzip)s %(basename)s" % locals())
+    finally:
+        old.chdir()
+    assert tzip.check(file=1)
+    assert tzip.size() > 0
+    return tzip 
+
+def copydownload(fn): 
+    log("copying to download location")
+    dtarget = DDIR.join(fn.basename)
+    fn.copy(dtarget) 
+    return dtarget
+
+def forced_export(BASEURL, target, lineend="CR"): 
+    if target.check(dir=1):
+        log("removing", target)
+        target.remove()
+    out = cexec("svn export --native-eol %s %s %s" 
+                            %(lineend, BASEURL, target))
+    assert target.check(dir=1)
+
+if __name__ == '__main__':
+    argc = len(py.std.sys.argv)
+    if argc < 1:
+        usage()
+    ver = py.std.sys.argv[1] 
+    tmpdir = py.path.local("/tmp/pypy-release")
+
+    target = tmpdir.join(ver)
+
+    forced_export(BASEURL, target, lineend="CR")
+    target_targz = maketargz(target)
+    assert target_targz.check(file=1) 
+    down = copydownload(target_targz)
+
+    forced_export(BASEURL, target, lineend="CRLF")
+    target_zip = makezip(target)
+    assert target_zip.check(file=1) 
+    down = copydownload(target_zip)



More information about the Pypy-commit mailing list