Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: tools/create_tarball.py

Issue 157383002: Address additional comments to tarball creation script (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/create_tarball.py
diff --git a/tools/create_tarball.py b/tools/create_tarball.py
index 97e1bcb72b1cbafd11bfe506a6d923d844fc4cb2..71ed4a8861a6893fce2895d527032702fcba203d 100755
--- a/tools/create_tarball.py
+++ b/tools/create_tarball.py
@@ -13,8 +13,8 @@
# directory. This makes it easy to build Debian packages from the
# tarball.
#
-# For building a Debian package renaming the tarball to follow the
-# Debian is needed.
+# For building a Debian package one need to the tarball to follow the
+# Debian naming rules upstream tar files.
#
# $ mv dart-XXX.tar.gz dart_XXX.orig.tar.gz
# $ tar xf dart_XXX.orig.tar.gz
@@ -25,13 +25,13 @@ import datetime
import optparse
import sys
import tarfile
-import tempfile
import utils
-from os import listdir, makedirs, remove, rmdir
-from os.path import basename, dirname, join, realpath, exists, isdir, split
+from os import listdir, makedirs
+from os.path import join, exists, split, dirname, abspath
HOST_OS = utils.GuessOS()
+DART_DIR = abspath(join(__file__, '..', '..'))
# TODO (16582): Remove this when the LICENSE file becomes part of
# all checkouts.
@@ -96,7 +96,7 @@ verbose = False
versiondir = ''
# Ignore Git/SVN files, checked-in binaries, backup files, etc..
-ignoredPaths = ['out', 'tools/testing/bin'
+ignoredPaths = ['tools/testing/bin'
'third_party/7zip', 'third_party/android_tools',
'third_party/clang', 'third_party/d8',
'third_party/firefox_jsshell']
@@ -111,21 +111,24 @@ def BuildOptions():
return result
def Filter(tar_info):
- _, tail = split(tar_info.name)
+ # Get the name of the file relative to the dart directory. Note the
+ # name from the TarInfo does not include a leading slash.
+ assert tar_info.name.startswith(DART_DIR[1:])
+ original_name = tar_info.name[len(DART_DIR):]
+ _, tail = split(original_name)
if tail in ignoredDirs:
return None
for path in ignoredPaths:
- if tar_info.name.startswith(path):
+ if original_name.startswith(path):
return None
for ending in ignoredEndings:
- if tar_info.name.endswith(ending):
+ if original_name.endswith(ending):
return None
- # Add the dart directory name with version.
- original_name = tar_info.name
- # Place the debian directory one level over the rest which are
- # placed in the directory 'dart'. This enables building the Debian
- # packages out-of-the-box.
- tar_info.name = join(versiondir, 'dart', tar_info.name)
+ # Add the dart directory name with version. Place the debian
+ # directory one level over the rest which are placed in the
+ # directory 'dart'. This enables building the Debian packages
+ # out-of-the-box.
+ tar_info.name = join(versiondir, 'dart', original_name)
if verbose:
print 'Adding %s as %s' % (original_name, tar_info.name)
return tar_info
@@ -133,57 +136,56 @@ def Filter(tar_info):
def GenerateCopyright(filename):
license_lines = license
try:
- # Currently the LICENSE file is part of a svn-root checkout.
- lf = open('../LICENSE', 'r')
- license_lines = lf.read().splitlines()
- print license_lines
- lf.close()
+ # TODO (16582): The LICENSE file is currently not in a normal the
+ # dart checkout.
+ with open(join(DART_DIR, 'LICENSE')) as lf:
+ license_lines = lf.read().splitlines()
except:
pass
- f = open(filename, 'w')
- f.write('Name: dart\n')
- f.write('Maintainer: Dart Team <misc@dartlang.org>\n')
- f.write('Source: https://code.google.com/p/dart/\n')
- f.write('License:\n')
- for line in license_lines:
- f.write(' %s\n' % line)
- f.close()
+ with open(filename, 'w') as f:
+ f.write('Name: dart\n')
+ f.write('Maintainer: Dart Team <misc@dartlang.org>\n')
+ f.write('Source: https://code.google.com/p/dart/\n')
+ f.write('License:\n')
+ for line in license_lines:
+ f.write(' %s\n' % line)
def GenerateChangeLog(filename, version):
- f = open(filename, 'w')
- 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> %s\n' %
- datetime.datetime.utcnow().strftime('%a, %d %b %Y %X +0000'))
- f.close()
+ 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> %s\n' %
+ datetime.datetime.utcnow().strftime('%a, %d %b %Y %X +0000'))
def GenerateSvnRevision(filename, svn_revision):
- f = open(filename, 'w')
- f.write(svn_revision)
- f.close()
+ with open(filename, 'w') as f:
+ f.write(svn_revision)
def CreateTarball():
+ global ignoredPaths # Used for adding the output directory.
# Generate the name of the tarfile
version = utils.GetVersion()
global versiondir
versiondir = 'dart-%s' % version
tarname = '%s.tar.gz' % versiondir
debian_dir = 'tools/linux_dist_support/debian'
- # Create the tar file in the out directory.
- tardir = utils.GetBuildDir(HOST_OS, HOST_OS)
+ # Create the tar file in the build directory.
+ tardir = join(DART_DIR, utils.GetBuildDir(HOST_OS, HOST_OS))
+ # Don't include the build directory in the tarball.
+ ignoredPaths.append(tardir)
if not exists(tardir):
makedirs(tardir)
tarfilename = join(tardir, tarname)
- print 'Creating tarball: %s' % (tarfilename)
+ print 'Creating tarball: %s' % tarfilename
with tarfile.open(tarfilename, mode='w:gz') as tar:
- for f in listdir('.'):
- tar.add(f, filter=Filter)
- for f in listdir(debian_dir):
- tar.add(join(debian_dir, f),
+ for f in listdir(DART_DIR):
+ tar.add(join(DART_DIR, f), filter=Filter)
+ for f in listdir(join(DART_DIR, debian_dir)):
+ tar.add(join(DART_DIR, debian_dir, f),
arcname='%s/debian/%s' % (versiondir, f))
with utils.TempDir() as temp_dir:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698