1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import glob
builds = ['ubuntu-12.04-32', 'ubuntu-12.10-32', 'ubuntu-12.04-64', 'ubuntu-12.10-64', 'source', 'windows-32', 'windows-64']
def build(environment, variant, version):
if environment == 'windows':
command('./waf configure --target-windows')
command('./waf clean')
command('./waf')
shutil.copyfile('build/windows/installer.%s.nsi' % variant, 'build/windows/installer2.%s.nsi' % variant)
command('sed -i "s~%%resources%%~%s/windows~g" build/windows/installer2.%s.nsi' % (os.getcwd(), variant))
command('sed -i "s~%%deps%%~$WINDOWS_PREFIX~g" build/windows/installer2.%s.nsi' % variant)
command('sed -i "s~%%binaries%%~%s/build~g" build/windows/installer2.%s.nsi' % (os.getcwd(), variant))
command('sed -i "s~%%bits%%~32~g" build/windows/installer2.%s.nsi' % variant)
command('makensis build/windows/installer2.%s.nsi' % variant)
return glob.glob('build/windows/*%s*.exe' % variant)[0]
elif environment == 'ubuntu':
v = variant.split('-')
bits = v[1]
if bits == '32':
cpu = 'i386'
else:
cpu = 'amd64'
shutil.copyfile(os.path.join('builds', 'control-%s' % variant), os.path.join('debian', 'control'))
command('./waf dist')
f = open(os.path.join('debian', 'files'), 'w')
print >>f,'dvdomatic_%s-1_%s.deb video extra' % (version, cpu)
shutil.rmtree('build/deb', ignore_errors=True)
os.makedirs('build/deb')
os.chdir('build/deb')
shutil.move('../../dvdomatic-%s.tar.bz2' % version, 'dvdomatic_%s.orig.tar.bz2' % version)
command('tar xjf dvdomatic_%s.orig.tar.bz2' % version)
os.chdir('dvdomatic-%s' % version)
command('dch -b -v %s-1 "New upstream release."' % version)
command('dpkg-source -b .')
command('dpkg-buildpackage')
return os.path.abspath(glob.glob('../*.deb')[0])
def make_pot():
command('./waf pot')
return [os.path.abspath('build/src/lib/libdvdomatic.pot'),
os.path.abspath('build/src/wx/libdvdomatic-wx.pot'),
os.path.abspath('build/src/tools/dvdomatic.pot')]
def make_manual():
os.chdir('doc/manual')
command('make')
return [os.path.abspath('pdf'), os.path.abspath('html')]
|