blob: 4c6cb9bd12008be6ec7f0ebb489ba3901be27da8 [file] [log] [blame] [edit]
#!/usr/bin/env python3
#
# Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
import optparse
import os
import shutil
import subprocess
import sys
from os.path import join, split, abspath, dirname
sys.path.append(join(dirname(__file__), '..'))
import utils
DART_DIR = abspath(join(dirname(__file__), '..', '..'))
def BuildOptions():
result = optparse.OptionParser()
result.add_option("--version", default=None)
result.add_option("--arch", default=None)
result.add_option("--lib_dir", default=None)
return result
def GenerateCopyright(filename):
with open(join(DART_DIR, 'LICENSE')) as lf:
license_lines = lf.readlines()
with open(filename, 'w') as f:
f.write('Name: dart\n')
f.write('Maintainer: Dart Team <misc@dartlang.org>\n')
f.write('Source: https://dart.googlesource.com/sdk\n')
f.write('License:\n')
for line in license_lines:
f.write(' %s' % line) # Line already contains trailing \n.
def GenerateChangeLog(filename, version):
with open(filename, 'w') as f:
f.write('dart (%s-1) UNRELEASED; urgency=low\n' % version)
f.write('\n')
f.write(' * Generated file.\n')
f.write('\n')
f.write(' -- Dart Team <misc@dartlang.org>\n')
def Main():
parser = BuildOptions()
(options, args) = parser.parse_args()
version = options.version
versiondir = 'dart-%s' % version
shutil.copytree(join(DART_DIR, 'tools', 'debian_package', 'debian'),
join(versiondir, 'debian'),
dirs_exist_ok=True)
GenerateCopyright(join(versiondir, 'debian', 'copyright'))
GenerateChangeLog(join(versiondir, 'debian', 'changelog'), version)
cmd = ['dpkg-buildpackage', '-B', '-a', options.arch, '-us', '-uc']
env = os.environ.copy()
env["LIB_DIR"] = options.lib_dir
process = subprocess.check_call(cmd, cwd=versiondir, env=env)
if __name__ == '__main__':
sys.exit(Main())