Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

70 lines (63 sloc) 2.167 kb
#!/usr/bin/python
from __future__ import with_statement
import tempfile
import sys
import re
import os
def opentemp(basename):
# The following doesn't work in python before 2.6
# return tempfile.NamedTemporaryFile('w', -1, ".XXXXXX", basename, '.', False)
fname = basename +".TMP"
if os.path.exists(fname):
raise "not clobbering file %s" % fname
return open(fname, 'w')
def frob_debian_changelog(version):
fname = 'debian/changelog'
with opentemp(fname) as o:
with open(fname) as i:
lineno = 0
for line in i:
if lineno == 0:
newline = re.sub(r'\([^)]*\)', '('+version+')', line)
o.write(newline)
else:
o.write(line)
os.rename(o.name, fname)
def frob_rpm_spec(version):
fname = 'rpm/mongo.spec'
with opentemp(fname) as o:
with open(fname) as i:
frobbed = False
for line in i:
if frobbed:
o.write(line)
else:
if line.find('Version:') == 0:
print >> o, 'Version: ' + version
frobbed = True
else:
o.write(line)
os.rename(o.name, fname)
def frob_stdafx_cpp(version):
fname = 'stdafx.cpp'
with opentemp(fname) as o:
with open(fname) as i:
frobbed = False
for line in i:
if frobbed:
o.write(line)
else:
if re.search(r'const.*char.*versionString\[\].*=', line):
o.write(' const char versionString[] = "%s";' % version)
else:
o.write(line)
os.rename(o.name, fname)
(progname, version) = sys.argv
if version is None:
print >> sys.stderr, 'usage: %s VERSION' % progname
sys.exit(1)
frob_debian_changelog(version)
frob_rpm_spec(version)
## I don't yet know what-all cares about the versionString inside the
## mongo code, so I'm not actually calling this yet.
# frob_stdafx_cpp(version)
Jump to Line
Something went wrong with that request. Please try again.