~popey/phablet-tools/fix-1360582

« back to all changes in this revision

Viewing changes to repo

  • Committer: Sergio Schvezov
  • Date: 2014-02-06 22:38:45 UTC
  • mto: This revision was merged to the branch mainline in revision 237.
  • Revision ID: sergio.schvezov@canonical.com-20140206223845-6vygnsup7nufg77m
Updating repo to 1.21

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
# limitations under the License.
21
21
 
22
22
# increment this whenever we make important changes to this script
23
 
VERSION = (1, 20)
 
23
VERSION = (1, 21)
24
24
 
25
25
# increment this if the MAINTAINER_KEYS block is modified
26
26
KEYRING_VERSION = (1, 2)
110
110
MIN_PYTHON_VERSION = (2, 6)     # minimum supported python version
111
111
 
112
112
 
 
113
import errno
113
114
import optparse
114
115
import os
115
116
import re
138
139
# Python version check
139
140
ver = sys.version_info
140
141
if ver[0] == 3:
141
 
  _print('error: Python 3 support is not fully implemented in repo yet.\n'
 
142
  _print('warning: Python 3 support is currently experimental. YMMV.\n'
142
143
         'Please use Python 2.6 - 2.7 instead.',
143
144
         file=sys.stderr)
144
 
  sys.exit(1)
145
145
if (ver[0], ver[1]) < MIN_PYTHON_VERSION:
146
146
  _print('error: Python version %s unsupported.\n'
147
147
         'Please use Python 2.6 - 2.7 instead.'
181
181
group.add_option('--depth', type='int', default=None,
182
182
                 dest='depth',
183
183
                 help='create a shallow clone with given depth; see git clone')
 
184
group.add_option('--archive',
 
185
                 dest='archive', action='store_true',
 
186
                 help='checkout an archive instead of a git repository for '
 
187
                      'each project. See git archive.')
184
188
group.add_option('-g', '--groups',
185
189
                 dest='groups', default='default',
186
190
                 help='restrict manifest projects to ones with specified '
240
244
    _print("fatal: invalid branch name '%s'" % branch, file=sys.stderr)
241
245
    raise CloneFailure()
242
246
 
243
 
  if not os.path.isdir(repodir):
244
 
    try:
245
 
      os.mkdir(repodir)
246
 
    except OSError as e:
 
247
  try:
 
248
    os.mkdir(repodir)
 
249
  except OSError as e:
 
250
    if e.errno != errno.EEXIST:
247
251
      _print('fatal: cannot make %s directory: %s'
248
252
             % (repodir, e.strerror), file=sys.stderr)
249
253
      # Don't raise CloneFailure; that would delete the
274
278
    raise
275
279
 
276
280
 
 
281
def ParseGitVersion(ver_str):
 
282
  if not ver_str.startswith('git version '):
 
283
    return None
 
284
 
 
285
  num_ver_str = ver_str[len('git version '):].strip().split('-')[0]
 
286
  to_tuple = []
 
287
  for num_str in num_ver_str.split('.')[:3]:
 
288
    if num_str.isdigit():
 
289
      to_tuple.append(int(num_str))
 
290
    else:
 
291
      to_tuple.append(0)
 
292
  return tuple(to_tuple)
 
293
 
 
294
 
277
295
def _CheckGitVersion():
278
296
  cmd = [GIT, '--version']
279
297
  try:
291
309
  proc.stdout.close()
292
310
  proc.wait()
293
311
 
294
 
  if not ver_str.startswith('git version '):
 
312
  ver_act = ParseGitVersion(ver_str)
 
313
  if ver_act is None:
295
314
    _print('error: "%s" unsupported' % ver_str, file=sys.stderr)
296
315
    raise CloneFailure()
297
316
 
298
 
  ver_str = ver_str[len('git version '):].strip()
299
 
  ver_act = tuple(map(int, ver_str.split('.')[0:3]))
300
317
  if ver_act < MIN_GIT_VERSION:
301
318
    need = '.'.join(map(str, MIN_GIT_VERSION))
302
319
    _print('fatal: git %s or later required' % need, file=sys.stderr)
322
339
 
323
340
 
324
341
def SetupGnuPG(quiet):
325
 
  if not os.path.isdir(home_dot_repo):
326
 
    try:
327
 
      os.mkdir(home_dot_repo)
328
 
    except OSError as e:
 
342
  try:
 
343
    os.mkdir(home_dot_repo)
 
344
  except OSError as e:
 
345
    if e.errno != errno.EEXIST:
329
346
      _print('fatal: cannot make %s directory: %s'
330
347
             % (home_dot_repo, e.strerror), file=sys.stderr)
331
348
      sys.exit(1)
332
349
 
333
 
  if not os.path.isdir(gpg_dir):
334
 
    try:
335
 
      os.mkdir(gpg_dir, stat.S_IRWXU)
336
 
    except OSError as e:
 
350
  try:
 
351
    os.mkdir(gpg_dir, stat.S_IRWXU)
 
352
  except OSError as e:
 
353
    if e.errno != errno.EEXIST:
337
354
      _print('fatal: cannot make %s directory: %s' % (gpg_dir, e.strerror),
338
355
             file=sys.stderr)
339
356
      sys.exit(1)