[Python-checkins] python/dist/src/Doc/tools getversioninfo, NONE, 1.1 mksourcepkg, 1.6, 1.7

fdrake at users.sourceforge.net fdrake at users.sourceforge.net
Sat Sep 27 18:07:07 EDT 2003


Update of /cvsroot/python/python/dist/src/Doc/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv2614/tools

Modified Files:
	mksourcepkg 
Added Files:
	getversioninfo 
Log Message:
Load the version information from ../Include/patchlevel.h, so there are
fewer changes to make to version numbers after a release.


--- NEW FILE: getversioninfo ---
#! /usr/bin/env python

import os
import re
import sys

try:
    __file__
except NameError:
    __file__ = sys.argv[0]

tools = os.path.dirname(os.path.abspath(__file__))
Doc = os.path.dirname(tools)
src = os.path.dirname(Doc)
patchlevel_h = os.path.join(src, "Include", "patchlevel.h")

# This won't pick out all #defines, but it will pick up the ones we
# care about.
rx = re.compile(r"\s*#define\s+([a-zA-Z][a-zA-Z_0-9]*)\s+([a-zA-Z_0-9]+)")

d = {}
f = open(patchlevel_h)
for line in f:
    m = rx.match(line)
    if m is not None:
        name, value = m.group(1, 2)
        d[name] = value
f.close()

release = "%s.%s" % (d["PY_MAJOR_VERSION"], d["PY_MINOR_VERSION"])
micro = int(d["PY_MICRO_VERSION"])
shortversion = release
if micro != 0:
    release += "." + str(micro)
level = d["PY_RELEASE_LEVEL"]

suffixes = {
    "PY_RELEASE_LEVEL_ALPHA": "a",
    "PY_RELEASE_LEVEL_BETA":  "b",
    "PY_RELEASE_LEVEL_GAMMA": "c",
    }

releaseinfo = ""
if level != "PY_RELEASE_LEVEL_FINAL":
    releaseinfo = suffixes[level] + str(int(d["PY_RELEASE_SERIAL"]))

def write_file(name, text):
    """Write text to a file if the file doesn't exist or if text
    differs from any existing content."""
    if os.path.exists(name):
        f = open(name, "r")
        s = f.read()
        f.close()
        if s == text:
            return
    f = open(name, "w")
    f.write(text)
    f.close()

patchlevel_tex = os.path.join(Doc, "commontex", "patchlevel.tex")
Makefile_version = os.path.join(Doc, "Makefile.version")

write_file(patchlevel_tex,
           "%% This file is generated by ../tools/getversioninfo;\n"
           "%% do not edit manually.\n"
           "\n"
           "\\release{%s}\n"
           "\\setreleaseinfo{%s}\n"
           "\\setshortversion{%s}\n"
           % (release, releaseinfo, shortversion))

print release + releaseinfo

Index: mksourcepkg
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/tools/mksourcepkg,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** mksourcepkg	9 Aug 2002 20:20:50 -0000	1.6
--- mksourcepkg	27 Sep 2003 22:07:04 -0000	1.7
***************
*** 27,30 ****
--- 27,38 ----
  import cvsinfo
  
+ try:
+     __file__
+ except NameError:
+     __file__ = sys.argv[0]
+ 
+ tools = os.path.dirname(os.path.abspath(__file__))
+ Doc = os.path.dirname(tools)
+ patchlevel_tex = os.path.join(Doc, "commontex", "patchlevel.tex")
  
  quiet = 0
***************
*** 103,108 ****
            for p in ('*/CVS', '*/*/CVS', '*/*/*/CVS'):
                 map(shutil.rmtree, glob.glob(p))
!           for f in ('.cvsignore', '*/.cvsignore'):
!                map(os.unlink, glob.glob(f))
       LICENSE = os.path.normpath(
            os.path.join(mydir, os.pardir, os.pardir, "LICENSE"))
--- 111,127 ----
            for p in ('*/CVS', '*/*/CVS', '*/*/*/CVS'):
                 map(shutil.rmtree, glob.glob(p))
!      for f in ('.cvsignore', '*/.cvsignore'):
!           map(os.unlink, glob.glob(f))
! 
!      # Copy in the version informtation, if we're not just going to
!      # rip it back out:
!      if not tools:
!           if not os.path.exists(patchlevel_tex):
!                run(os.path.join(here, "getversioninfo"))
!           dest = os.path.join("Python-Docs-" + release, "commontex",
!                               "patchlevel.tex")
!           shutil.copyfile(patchlevel_tex, dest)
! 
!      # Copy in the license file:
       LICENSE = os.path.normpath(
            os.path.join(mydir, os.pardir, os.pardir, "LICENSE"))
***************
*** 112,116 ****
            # we don't want the actual documents in this case:
            for d in ("api", "dist", "doc", "ext", "inst",
!                     "lib", "mac", "ref", "tut"):
                 shutil.rmtree(os.path.join(pkgdir, d))
       else:
--- 131,135 ----
            # we don't want the actual documents in this case:
            for d in ("api", "dist", "doc", "ext", "inst",
!                     "lib", "mac", "ref", "tut", "commontex"):
                 shutil.rmtree(os.path.join(pkgdir, d))
       else:





More information about the Python-checkins mailing list