#!/usr/bin/python3
##
##
## If you can figure out the debian versions and ubuntu versions
## then this is easy. You can provide them in whatever order and it
## should sort it out
## It assumes you've done the xgit and have done up to 'git init' at
## https://github.com/basak/ubuntu-git-tools/blob/master/README.importer
##
## $ ../go-import.py checksecurity 2.0.15 2.0.15ubuntu1 2.0.16 2.0.16+nmu1
## http://paste.ubuntu.com/15337646/
##
##
import apt_pkg
import functools
import sys
apt_pkg.init_system()
pkg = sys.argv[1]
versions = sys.argv[2:]
def is_debian(version):
return 'ubuntu' not in version
debian_versions = [v for v in versions if is_debian(v)]
ubuntu_versions = [v for v in versions if not is_debian(v)]
debian_versions = sorted(debian_versions,
key=functools.cmp_to_key(apt_pkg.version_compare))
ubuntu_versions = sorted(ubuntu_versions,
key=functools.cmp_to_key(apt_pkg.version_compare))
if len(debian_versions) + len(ubuntu_versions) != len(versions):
print("bad ver somewhere, sorry")
print("ubuntu: %s\ndebian: %s\n" % (ubuntu_versions, debian_versions))
sys.exit(1)
print("debian: %s" % ' '.join(debian_versions))
print("ubuntu: %s" % ' '.join(ubuntu_versions))
print("---")
print("git remote add lpusdp lpusdp:%s" % pkg)
joined = []
for v in debian_versions:
joined.append(v)
for u in [u for u in ubuntu_versions if u.startswith(v + "ubuntu")]:
joined.append(u)
for ver in joined:
if is_debian(ver):
print("pull-debian-source --download-only %s %s" % (pkg, ver))
else:
print("pull-lp-source %s %s" % (pkg, ver))
for ver in debian_versions:
print("git-dsc-commit %s_%s.dsc" % (pkg, ver))
print("git branch -m debian/sid")
print("git checkout %s" % debian_versions[0])
for ver in ubuntu_versions:
print("git-dsc-commit %s_%s.dsc" % (pkg, ver))
print("git branch ubuntu/devel")
print('( cd git/refs/tags && mkdir import && for f in *; do [ "$f" = "import" ] || mv "$f" import; done )')
print("git push lpusdp '*'")