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

executable file 110 lines (84 sloc) 2.665 kb
#!/usr/bin/env python
"""
Dirty script for building package for PPA
by WangLu
2011.01.13
modified for pdf2htmlEX
2012.08.28
"""
import os
import sys
import re
import time
print 'Generating version...'
try:
rev = open('.git/refs/heads/devv').read()[:5]
except:
print 'Cannot get revision number'
sys.exit(-1)
today_timestr = time.strftime('%Y%m%d%H%M')
package='pdf2htmlex'
projectname='pdf2htmlEX'
try:
version = re.findall(r'set\(PDF2HTMLEX_VERSION\s*"([^"]*)"\)', open('CMakeLists.txt').read())[0]
except:
print 'Cannot get package name and version number'
sys.exit(-1)
deb_version = version+'-1~git'+today_timestr+'r'+rev
full_deb_version = deb_version+'-0ubuntu1'
#check if we need to update debian/changelog
if re.findall(r'\(([^)]+)\)', open('debian/changelog').readline())[0] == full_deb_version:
print
print 'No need to update debian/changelog, skipping'
else:
print
print 'Writing debian/changelog'
if os.system('dch -v "%s"' % (full_deb_version,)) != 0:
print 'Failed when updating debian/changelog'
sys.exit(-1)
print
print 'Building...'
# handling files
if os.system('(rm CMakeCache.txt || true) && cmake . && make dist') != 0:
print 'Failed in creating tarball'
sys.exit(-1)
orig_tar_filename = package+'-'+version+'.tar.bz2'
if os.system('test -e %s && cp %s ../build-area' % (orig_tar_filename, orig_tar_filename)) != 0:
print 'Cannot copy tarball file to build area'
sys.exit(-1)
deb_orig_tar_filename = package+'_'+deb_version+'.orig.tar.bz2'
try:
os.chdir('../build-area')
except:
print 'Cannot find ../build-area'
sys.exit(-1)
# remove old dir
os.system('rm -rf %s' % (package+'-'+version,))
if os.system('mv %s %s && tar -xvf %s' % (orig_tar_filename, deb_orig_tar_filename, deb_orig_tar_filename)) != 0:
print 'Cannot extract tarball'
sys.exit(-1)
try:
os.chdir(package+'-'+version)
except:
print 'Cannot enter project dir'
sys.exit(-1)
os.system('cp -r ../../%s/debian .' % (projectname,))
# building
if os.system('debuild -S -sa') != 0:
print 'Failed in debuild'
sys.exit(-1)
print
sys.stdout.write('Everything seems to be good so far, upload?(y/n)')
sys.stdout.flush()
ans = raw_input().lower()
while ans not in ['y', 'n']:
sys.stdout.write('I don\'t understand, enter \'y\' or \'n\':')
ans = raw_input().lower()
if ans == 'n':
print 'Skipped.'
sys.exit(0)
if os.system('dput ppa:coolwanglu/%s ../%s' % (package, package+'_'+full_deb_version+'_source.changes')) != 0:
print 'Failed in uploading by dput'
sys.exit(-1)
print 'Build area not cleaned.'
print 'All done. Cool!'
Jump to Line
Something went wrong with that request. Please try again.