| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 # | 2 # | 
| 3 # Copyright (c) 2015, the Dartino project authors.  Please see the AUTHORS file | 3 # Copyright (c) 2015, the Dartino project authors.  Please see the AUTHORS file | 
| 4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a | 
| 5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. | 
| 6 # | 6 # | 
| 7 | 7 | 
| 8 # Script to build a tarball of the Dartino source. | 8 # Script to build a tarball of the Dartino source. | 
| 9 # | 9 # | 
| 10 # The tarball includes all the source needed to build Dartino. This | 10 # The tarball includes all the source needed to build Dartino. This | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 26 import optparse | 26 import optparse | 
| 27 import sys | 27 import sys | 
| 28 import tarfile | 28 import tarfile | 
| 29 from os import listdir | 29 from os import listdir | 
| 30 from os.path import join, split, abspath | 30 from os.path import join, split, abspath | 
| 31 | 31 | 
| 32 import utils | 32 import utils | 
| 33 | 33 | 
| 34 | 34 | 
| 35 HOST_OS = utils.GuessOS() | 35 HOST_OS = utils.GuessOS() | 
| 36 FLETCH_DIR = abspath(join(__file__, '..', '..')) | 36 DARTINO_DIR = abspath(join(__file__, '..', '..')) | 
| 37 # The repository directory where dartino, dart and third_party are located. | 37 # The repository directory where dartino, dart and third_party are located. | 
| 38 REPO_DIR = abspath(join(__file__, '..', '..', '..')) | 38 REPO_DIR = abspath(join(__file__, '..', '..', '..')) | 
| 39 # Flags. | 39 # Flags. | 
| 40 verbose = False | 40 verbose = False | 
| 41 | 41 | 
| 42 # Name of the dartino directory when unpacking the tarball. | 42 # Name of the dartino directory when unpacking the tarball. | 
| 43 versiondir = '' | 43 versiondir = '' | 
| 44 | 44 | 
| 45 # Ignore Git/SVN files, checked-in binaries, backup files, etc. | 45 # Ignore Git/SVN files, checked-in binaries, backup files, etc. | 
| 46 # | 46 # | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 80   original_name = tar_info.name[len(REPO_DIR):] | 80   original_name = tar_info.name[len(REPO_DIR):] | 
| 81   _, tail = split(original_name) | 81   _, tail = split(original_name) | 
| 82   if tail in ignoredDirs: | 82   if tail in ignoredDirs: | 
| 83     return None | 83     return None | 
| 84   for path in ignoredPaths: | 84   for path in ignoredPaths: | 
| 85     if original_name.startswith(path): | 85     if original_name.startswith(path): | 
| 86       return None | 86       return None | 
| 87   for ending in ignoredEndings: | 87   for ending in ignoredEndings: | 
| 88     if original_name.endswith(ending): | 88     if original_name.endswith(ending): | 
| 89       return None | 89       return None | 
| 90   # Add the fletch directory name with version. Place the debian | 90   # Add the dartino directory name with version. Place the debian | 
| 91   # directory one level over the rest which are placed in the | 91   # directory one level over the rest which are placed in the | 
| 92   # directory 'fletch'. This enables building the Debian packages | 92   # directory 'dartino'. This enables building the Debian packages | 
| 93   # out-of-the-box. | 93   # out-of-the-box. | 
| 94   tar_info.name = join(versiondir, original_name) | 94   tar_info.name = join(versiondir, original_name) | 
| 95   if verbose: | 95   if verbose: | 
| 96     print 'Adding %s as %s' % (original_name, tar_info.name) | 96     print 'Adding %s as %s' % (original_name, tar_info.name) | 
| 97   return tar_info | 97   return tar_info | 
| 98 | 98 | 
| 99 def GenerateCopyright(filename): | 99 def GenerateCopyright(filename): | 
| 100   with open(join(FLETCH_DIR, 'LICENSE.md')) as lf: | 100   with open(join(DARTINO_DIR, 'LICENSE.md')) as lf: | 
| 101     license_lines = lf.readlines() | 101     license_lines = lf.readlines() | 
| 102 | 102 | 
| 103   with open(filename, 'w') as f: | 103   with open(filename, 'w') as f: | 
| 104     f.write('Name: dartino\n') | 104     f.write('Name: dartino\n') | 
| 105     f.write('Maintainer: Dartino Team <misc@dartino.org>\n') | 105     f.write('Maintainer: Dartino Team <misc@dartino.org>\n') | 
| 106     f.write('Source: https://github.com/dartino/sdk/\n') | 106     f.write('Source: https://github.com/dartino/sdk/\n') | 
| 107     f.write('License:\n') | 107     f.write('License:\n') | 
| 108     for line in license_lines: | 108     for line in license_lines: | 
| 109       f.write(' %s' % line)  # Line already contains trailing \n. | 109       f.write(' %s' % line)  # Line already contains trailing \n. | 
| 110 | 110 | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 123 | 123 | 
| 124 | 124 | 
| 125 def CreateTarball(tarfilename): | 125 def CreateTarball(tarfilename): | 
| 126   global ignoredPaths  # Used for adding the output directory. | 126   global ignoredPaths  # Used for adding the output directory. | 
| 127   # Generate the name of the tarfile | 127   # Generate the name of the tarfile | 
| 128   version = utils.GetVersion() | 128   version = utils.GetVersion() | 
| 129   global versiondir | 129   global versiondir | 
| 130   versiondir = 'dartino-%s' % version | 130   versiondir = 'dartino-%s' % version | 
| 131   debian_dir = 'tools/linux_dist_support/debian' | 131   debian_dir = 'tools/linux_dist_support/debian' | 
| 132   # Don't include the build directory in the tarball (ignored paths | 132   # Don't include the build directory in the tarball (ignored paths | 
| 133   # are relative to FLETCH_DIR). | 133   # are relative to DARTINO_DIR). | 
| 134   builddir = utils.GetBuildDir(HOST_OS) | 134   builddir = utils.GetBuildDir(HOST_OS) | 
| 135   ignoredPaths.append(builddir) | 135   ignoredPaths.append(builddir) | 
| 136 | 136 | 
| 137   print 'Creating tarball: %s' % tarfilename | 137   print 'Creating tarball: %s' % tarfilename | 
| 138   with tarfile.open(tarfilename, mode='w:gz') as tar: | 138   with tarfile.open(tarfilename, mode='w:gz') as tar: | 
| 139     for f in listdir(FLETCH_DIR): | 139     for f in listdir(DARTINO_DIR): | 
| 140       tar.add(join(FLETCH_DIR, f), filter=Filter) | 140       tar.add(join(DARTINO_DIR, f), filter=Filter) | 
| 141     for f in listdir(join(FLETCH_DIR, debian_dir)): | 141     for f in listdir(join(DARTINO_DIR, debian_dir)): | 
| 142       tar.add(join(FLETCH_DIR, debian_dir, f), | 142       tar.add(join(DARTINO_DIR, debian_dir, f), | 
| 143               arcname='%s/debian/%s' % (versiondir, f)) | 143               arcname='%s/debian/%s' % (versiondir, f)) | 
| 144     tar.add(join(FLETCH_DIR, 'platforms/raspberry-pi2/data/dartino-agent'), | 144     tar.add(join(DARTINO_DIR, 'platforms/raspberry-pi2/data/dartino-agent'), | 
| 145             arcname='%s/debian/dartino-agent.init' % versiondir) | 145             arcname='%s/debian/dartino-agent.init' % versiondir) | 
| 146     tar.add(join(FLETCH_DIR, 'platforms/raspberry-pi2/data/dartino-agent.env'), | 146     tar.add(join(DARTINO_DIR, 'platforms/raspberry-pi2/data/dartino-agent.env'), | 
| 147             arcname='%s/debian/dartino-agent.default' % versiondir) | 147             arcname='%s/debian/dartino-agent.default' % versiondir) | 
| 148 | 148 | 
| 149     with utils.TempDir() as temp_dir: | 149     with utils.TempDir() as temp_dir: | 
| 150       # Generate and add debian/copyright | 150       # Generate and add debian/copyright | 
| 151       copyright_file = join(temp_dir, 'copyright') | 151       copyright_file = join(temp_dir, 'copyright') | 
| 152       GenerateCopyright(copyright_file) | 152       GenerateCopyright(copyright_file) | 
| 153       tar.add(copyright_file, arcname='%s/debian/copyright' % versiondir) | 153       tar.add(copyright_file, arcname='%s/debian/copyright' % versiondir) | 
| 154 | 154 | 
| 155       # Generate and add debian/changelog | 155       # Generate and add debian/changelog | 
| 156       change_log = join(temp_dir, 'changelog') | 156       change_log = join(temp_dir, 'changelog') | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 170 | 170 | 
| 171   # Parse the options. | 171   # Parse the options. | 
| 172   parser = BuildOptions() | 172   parser = BuildOptions() | 
| 173   (options, args) = parser.parse_args() | 173   (options, args) = parser.parse_args() | 
| 174   if options.verbose: | 174   if options.verbose: | 
| 175     global verbose | 175     global verbose | 
| 176     verbose = True | 176     verbose = True | 
| 177 | 177 | 
| 178   tar_filename = options.tar_filename | 178   tar_filename = options.tar_filename | 
| 179   if not tar_filename: | 179   if not tar_filename: | 
| 180     tar_filename = join(FLETCH_DIR, | 180     tar_filename = join(DARTINO_DIR, | 
| 181                         utils.GetBuildDir(HOST_OS), | 181                         utils.GetBuildDir(HOST_OS), | 
| 182                         'dartino-%s.tar.gz' % utils.GetVersion()) | 182                         'dartino-%s.tar.gz' % utils.GetVersion()) | 
| 183 | 183 | 
| 184   CreateTarball(tar_filename) | 184   CreateTarball(tar_filename) | 
| 185 | 185 | 
| 186 if __name__ == '__main__': | 186 if __name__ == '__main__': | 
| 187   sys.exit(Main()) | 187   sys.exit(Main()) | 
| OLD | NEW | 
|---|