self.directory = directory
self.version = None
self.specifier = specifier
+ self.git_commit = None
if self.specifier is None:
self.specifier = 'master'
command('git clone %s %s/%s.git %s/src/%s' % (flags, config.get('git_prefix'), self.name, target.work_dir_cdist(), self.name))
os.chdir('%s/src/%s' % (target.work_dir_cdist(), self.name))
command('git checkout %s %s %s' % (flags, self.specifier, redirect))
+ self.git_commit = command_and_read('git rev-parse --short=7 HEAD').readline().strip()
command('git submodule init --quiet')
command('git submodule update --quiet')
os.chdir(self.directory)
command('dch -b -v %s-1 "New upstream release."' % version)
+def devel_to_git(project, filename):
+ if project.git_commit is not None:
+ filename = filename.replace('devel', '-%s' % project.git_commit)
+ return filename
+
#
# Command-line parser
#
except:
pass
for p in packages:
- copyfile(p, '%s/%s' % (out, os.path.basename(p)))
+ copyfile(p, '%s/%s' % (out, os.path.basename(devel_to_git(project, p))))
else:
for p in packages:
- copyfile(p, '%s/%s' % (args.output, os.path.basename(p)))
+ copyfile(p, '%s/%s' % (args.output, os.path.basename(devel_to_git(project, p))))
if not args.keep:
target.cleanup()