From: Martin Pitt Date: Thu, 12 Apr 2012 16:45:17 +0000 (+0200) Subject: remove syncpackage, in ubuntu-dev-tools now X-Git-Url: https://piware.de/gitweb/?a=commitdiff_plain;h=d529dcfadb0ad88c2694c6ac4f5872e4bc0f5e40;p=bin.git remove syncpackage, in ubuntu-dev-tools now --- diff --git a/syncpackage b/syncpackage deleted file mode 100755 index 8275f61..0000000 --- a/syncpackage +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/python - -import os, os.path, sys, urllib, subprocess, shutil - -def retrieve_file(url): - '''Download file (by URL) to the current directory. - - If the file is already present, this function does nothing.''' - - fname = os.path.basename(url) - if not os.path.exists(fname): - print 'downloading', url - urllib.urlretrieve(url, fname) - -def cur_version(sourcepkg, release): - madison = subprocess.Popen(['apt-cache', 'madison', sourcepkg], stdout=subprocess.PIPE) - out = madison.communicate()[0] - assert (madison.returncode == 0) - - for l in out.splitlines(): - (pkg, version, aptsrc) = l.split('|') - if aptsrc.endswith('Sources') and aptsrc.find(release) > 0: - return version.strip() - - raise Exception('apt-cache madison does not contain %s/%s' % (sourcepkg, release)) - -def dsc_getfiles(dsc): - '''Return list of files in a .dsc file (excluding the .dsc file itself).''' - - f = open(dsc) - files = [] - - # skip until 'Files:' - for l in f: - if l.strip() == 'Files:': - break - - for l in f: - if l.strip() == '': - break - if not l.startswith(' '): - break - fname = l.split()[2] - if not fname.endswith('.dsc'): - files.append(fname) - - f.close() - return files - -# -# entry point -# - -if len(sys.argv) != 3: - print 'Usage: syncpackage <.dsc URL or path> ' - sys.exit (1) - -(dscurl, release) = sys.argv[1:] -dscname = os.path.basename(dscurl) -basepath = os.path.dirname(dscurl) -(srcpkg, new_ver) = dscname.split('_') -new_ver = new_ver[:-4] # strip off '.dsc' - -cur_ver = cur_version(srcpkg, release) - -retrieve_file(dscurl) -files = dsc_getfiles(dscname) - -# do we need the orig.tar.gz? -need_orig = True -if cur_ver.find('-') > 0 and new_ver.find('-') > 0 and \ - cur_ver.split('-')[0] == new_ver.split('-')[0]: - need_orig = False - #files = [f for f in files if not f.endswith('orig.tar.gz')] - -print 'Source %s: current version %s, new version %s' % (srcpkg, cur_ver, new_ver) -print 'needs orig.tar.gz', need_orig -print 'Files:', files -for f in files: - retrieve_file(os.path.join(basepath, f)) - -uidx = cur_ver.find('ubuntu') -if uidx > 0: - cur_ver = cur_ver[:uidx] - print 'WARNING! Overwriting modified Ubuntu version, setting current version to', cur_ver - -uidx = cur_ver.find('build') -if uidx > 0: - cur_ver = cur_ver[:uidx] - -orig_arg = '' -if need_orig: - orig_arg = '-sa' - -# extract package, build Source -assert subprocess.call(['dpkg-source', '-x', dscname]) == 0 -os.chdir(srcpkg + '-' + new_ver.rsplit('-', 1)[0]) -assert subprocess.call("dpkg-genchanges -q -S %s -v%s -e\"$(getent passwd $(id -u)|cut -f5 -d:|cut -f1 -d,) <$DEBEMAIL>\" | \ - sed 's/^Distribution:.*$/Distribution: %s/; 1 i\Origin: debian/unstable' > ../%s_%s_source.changes" % - (orig_arg, cur_ver, release, srcpkg, new_ver), shell=True) == 0 -os.chdir('..') -shutil.rmtree(srcpkg + '-' + new_ver.split('-')[0], True) -assert subprocess.call("debsign %s_%s_source.changes" % (srcpkg, new_ver), shell=True) == 0