diff -Nru jeepyb-0+20170923/CONTRIBUTING.md jeepyb-0+20190513/CONTRIBUTING.md --- jeepyb-0+20170923/CONTRIBUTING.md 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/CONTRIBUTING.md 2019-05-12 23:35:46.000000000 +0000 @@ -1,14 +1,14 @@ If you would like to contribute to the development of OpenStack, you must follow the steps in this page: - [http://docs.openstack.org/infra/manual/developers.html](http://docs.openstack.org/infra/manual/developers.html) + [https://docs.openstack.org/infra/manual/developers.html](https://docs.openstack.org/infra/manual/developers.html) If you already have a good understanding of how the system works and your OpenStack accounts are set up, you can skip to the development workflow section of this documentation to learn how changes to OpenStack should be submitted for review via the Gerrit tool: - [http://docs.openstack.org/infra/manual/developers.html#development-workflow](http://docs.openstack.org/infra/manual/developers.html#development-workflow) + [https://docs.openstack.org/infra/manual/developers.html#development-workflow](https://docs.openstack.org/infra/manual/developers.html#development-workflow) Pull requests submitted through GitHub will be ignored. diff -Nru jeepyb-0+20170923/debian/changelog jeepyb-0+20190513/debian/changelog --- jeepyb-0+20170923/debian/changelog 2018-01-05 12:52:42.000000000 +0000 +++ jeepyb-0+20190513/debian/changelog 2019-07-20 17:42:28.000000000 +0000 @@ -1,3 +1,17 @@ +jeepyb (0+20190513-1) unstable; urgency=medium + + [ Ondřej Nový ] + * Convert git repository from git-dpm to gbp layout + + [ Thomas Goirand ] + * Fix Homepage field. + * Now using debhelper-compat = 11, rather than d/compat. + * New snapshot release. + * Switch the application to Python 3, which is why I'm NMU-ing this. + * Add hints to PBR so it uses the correct version. + + -- Thomas Goirand Sat, 20 Jul 2019 19:42:28 +0200 + jeepyb (0+20170923-1) unstable; urgency=medium * New snapshot release diff -Nru jeepyb-0+20170923/debian/compat jeepyb-0+20190513/debian/compat --- jeepyb-0+20170923/debian/compat 2018-01-05 12:52:42.000000000 +0000 +++ jeepyb-0+20190513/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -10 diff -Nru jeepyb-0+20170923/debian/control jeepyb-0+20190513/debian/control --- jeepyb-0+20170923/debian/control 2018-01-05 12:52:42.000000000 +0000 +++ jeepyb-0+20190513/debian/control 2019-07-20 17:42:28.000000000 +0000 @@ -5,31 +5,31 @@ Uploaders: Filip Pytloun , Build-Depends: - debhelper (>=11), + debhelper-compat (= 11), dh-python, - python-all, - python-pbr (>= 0.8.2), - python-setuptools, + python3-all, + python3-pbr, + python3-setuptools, Build-Depends-Indep: - python-gerritlib (>=0.3.0), - python-github, - python-paramiko (>=1.13.0), - python-pymysql, - python-pyrss2gen, - python-six (>=1.9.0), - python-swiftclient (>=2.2.0), -Standards-Version: 4.1.3 + python3-gerritlib, + python3-github, + python3-paramiko, + python3-pymysql, + python3-pyrss2gen, + python3-six, + python3-swiftclient, +Standards-Version: 4.4.0 Testsuite: autopkgtest-pkg-python -Homepage: http://git.openstack.org/cgit/openstack-infra/jeepyb -Vcs-Svn: svn://anonscm.debian.org/python-apps/packages/jeepyb/trunk/ -Vcs-Browser: https://anonscm.debian.org/viewvc/python-apps/packages/jeepyb/trunk/ +Homepage: https://opendev.org/opendev/jeepyb/ +Vcs-Git: https://salsa.debian.org/python-team/applications/jeepyb.git +Vcs-Browser: https://salsa.debian.org/python-team/applications/jeepyb Package: jeepyb Architecture: all Multi-Arch: foreign Depends: ${misc:Depends}, - ${python:Depends}, + ${python3:Depends}, Description: tools for managing gerrit projects and external sources jeepyb is a collection of tools which make managing a gerrit easier. . diff -Nru jeepyb-0+20170923/debian/gbp.conf jeepyb-0+20190513/debian/gbp.conf --- jeepyb-0+20170923/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ jeepyb-0+20190513/debian/gbp.conf 2019-07-20 17:42:28.000000000 +0000 @@ -0,0 +1,2 @@ +[DEFAULT] +debian-branch=debian/master diff -Nru jeepyb-0+20170923/debian/.git-dpm jeepyb-0+20190513/debian/.git-dpm --- jeepyb-0+20170923/debian/.git-dpm 2018-01-05 12:52:42.000000000 +0000 +++ jeepyb-0+20190513/debian/.git-dpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -# see git-dpm(1) from git-dpm package -8391d930fd039813da8fcadd93f74ca6ab1409a5 -8391d930fd039813da8fcadd93f74ca6ab1409a5 -8391d930fd039813da8fcadd93f74ca6ab1409a5 -8391d930fd039813da8fcadd93f74ca6ab1409a5 -jeepyb_0+20170923.orig.tar -b412dc0cd22994b6a194c00bf9fbbd3f645eb5bf -163840 diff -Nru jeepyb-0+20170923/debian/rules jeepyb-0+20190513/debian/rules --- jeepyb-0+20170923/debian/rules 2018-01-05 12:52:42.000000000 +0000 +++ jeepyb-0+20190513/debian/rules 2019-07-20 17:42:28.000000000 +0000 @@ -1,6 +1,17 @@ #!/usr/bin/make -f include /usr/share/dpkg/pkg-info.mk +DEBVERS ?= $(shell dpkg-parsechangelog -SVersion) +VERSION ?= $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//') +DEBFLAVOR ?= $(shell dpkg-parsechangelog -SDistribution) +DEBPKGNAME ?= $(shell dpkg-parsechangelog -SSource) +UPSTREAM_GIT ?= https://github.com/openstack/$(DEBPKGNAME).git +GIT_TAG ?= $(shell echo '$(VERSION)' | sed -e 's/~/_/') +MANIFEST_EXCLUDE_STANDARD ?= $(DEBPKGNAME) +DEBIAN_BRANCH ?= $(shell cat debian/gbp.conf | grep debian-branch | cut -d'=' -f2 | awk '{print $1}') + +export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog -SVersion | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' -e 's/+dfsg1//' | head -n 1) + # Parse version from debian changelog (or pbr will try to use Git commit) export PBR_VERSION=$(DEB_VERSION_UPSTREAM) export PYBUILD_NAME=jeepyb @@ -9,7 +20,7 @@ VER_PARSED=$(shell echo 20170923|awk -F '' '{printf $$1$$2$$3$$4 "-" $$5$$6 "-" $$7$$8}') %: - dh $@ --with python2 --buildsystem=pybuild + dh $@ --with python3 --buildsystem=pybuild get-orig-source: git clone https://github.com/openstack-infra/jeepyb.git $(PYBUILD_NAME)-$(DEB_VERSION_UPSTREAM) diff -Nru jeepyb-0+20170923/.gitignore jeepyb-0+20190513/.gitignore --- jeepyb-0+20170923/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ jeepyb-0+20190513/.gitignore 2019-05-12 23:35:46.000000000 +0000 @@ -0,0 +1,9 @@ +.tox +build/* +*.pyc +jeepyb/versioninfo +AUTHORS +ChangeLog +dist/* +*.egg* +.idea diff -Nru jeepyb-0+20170923/.gitreview jeepyb-0+20190513/.gitreview --- jeepyb-0+20170923/.gitreview 1970-01-01 00:00:00.000000000 +0000 +++ jeepyb-0+20190513/.gitreview 2019-05-12 23:35:46.000000000 +0000 @@ -0,0 +1,4 @@ +[gerrit] +host=review.opendev.org +port=29418 +project=opendev/jeepyb.git diff -Nru jeepyb-0+20170923/jeepyb/cmd/close_pull_requests.py jeepyb-0+20190513/jeepyb/cmd/close_pull_requests.py --- jeepyb-0+20170923/jeepyb/cmd/close_pull_requests.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/close_pull_requests.py 2019-05-12 23:35:46.000000000 +0000 @@ -54,10 +54,10 @@ If you have never contributed to OpenStack before make sure you have read the getting started documentation: -http://docs.openstack.org/infra/manual/developers.html#getting-started +https://docs.openstack.org/infra/manual/developers.html#getting-started Otherwise please visit -http://docs.openstack.org/infra/manual/developers.html#development-workflow +https://docs.openstack.org/infra/manual/developers.html#development-workflow and follow the instructions there to upload your change to Gerrit. """ diff -Nru jeepyb-0+20170923/jeepyb/cmd/create_cgitrepos.py jeepyb-0+20190513/jeepyb/cmd/create_cgitrepos.py --- jeepyb-0+20170923/jeepyb/cmd/create_cgitrepos.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/create_cgitrepos.py 2019-05-12 23:35:46.000000000 +0000 @@ -29,6 +29,7 @@ PROJECTS_YAML = os.environ.get('PROJECTS_YAML', '/home/cgit/projects.yaml') CGIT_REPOS = os.environ.get('CGIT_REPOS', '/etc/cgitrepos') REPO_PATH = os.environ.get('REPO_PATH', '/var/lib/git') +ALIAS_PATH = os.environ.get('REPO_PATH', '/var/lib/git-alias') SCRATCH_SUBPATH = os.environ.get('SCRATCH_SUBPATH') SCRATCH_OWNER = os.environ.get('SCRATCH_OWNER', 'scratch') SCRATCH_GROUP = os.environ.get('SCRATCH_GROUP', 'scratch') @@ -40,7 +41,7 @@ def clean_string(string): """Scrub out characters that with break cgit. - cgit can't handle newlines in many of it's fields, so strip them + cgit can't handle newlines in many of its fields, so strip them out. """ @@ -51,6 +52,8 @@ registry = u.ProjectsRegistry(PROJECTS_YAML) gitorgs = {} names = set() + # site -> [(path, project, description)] + alias_sites = {} for entry in registry.configs_list: project = entry['project'] if '/' in project: @@ -64,6 +67,11 @@ assert project not in names names.add(project) gitorgs.setdefault(org, []).append((name, description)) + if 'cgit-alias' in entry: + alias_site = entry['cgit-alias']['site'] + alias_path = entry['cgit-alias']['path'] + alias_sites.setdefault(alias_site, []).append( + (alias_path, project, description)) if SCRATCH_SUBPATH: assert SCRATCH_SUBPATH not in gitorgs scratch_path = os.path.join(REPO_PATH, SCRATCH_SUBPATH) @@ -100,6 +108,29 @@ subprocess.call(['git', 'init', '--bare', project_repo]) subprocess.call(['chown', '-R', '%s:%s' % (CGIT_USER, CGIT_GROUP), project_repo]) + for alias_site, aliases in alias_sites.items(): + # Create all the symlinks for this alias site first + for (alias_path, project, description) in aliases: + alias_site_root = os.path.join(ALIAS_PATH, alias_site) + if not os.path.exists(alias_site_root): + os.makedirs(alias_site_root) + alias_link_path = os.path.join(alias_site_root, alias_path) + alias_link_path += '.git' + alias_repo_path = os.path.join(REPO_PATH, project) + alias_repo_path += '.git' + if not os.path.exists(alias_link_path): + os.symlink(alias_repo_path, alias_link_path) + # Then create the cgit repo config + cgit_path = CGIT_REPOS + '_' + alias_site + with open(cgit_path, 'w') as cgit_file: + cgit_file.write('# Autogenerated by create_cgitrepos.py\n') + for (alias_path, project, description) in aliases: + project_repo = "%s.git" % os.path.join(REPO_PATH, project) + cgit_file.write('\n') + cgit_file.write('repo.url=%s\n' % (alias_path,)) + cgit_file.write('repo.path=%s/\n' % (project_repo,)) + cgit_file.write( + 'repo.desc=%s\n' % (clean_string(description))) if __name__ == "__main__": diff -Nru jeepyb-0+20170923/jeepyb/cmd/create_hound_config.py jeepyb-0+20190513/jeepyb/cmd/create_hound_config.py --- jeepyb-0+20170923/jeepyb/cmd/create_hound_config.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/create_hound_config.py 2019-05-12 23:35:46.000000000 +0000 @@ -23,9 +23,9 @@ PROJECTS_YAML = os.environ.get('PROJECTS_YAML', '/home/hound/projects.yaml') -GIT_SERVER = os.environ.get('GIT_BASE', 'git.openstack.org') +GIT_SERVER = os.environ.get('GIT_BASE', 'opendev.org') DATA_PATH = os.environ.get('DATA_PATH', 'data') -GIT_PROTOCOL = os.environ.get('GIT_PROTOCOL', 'git://') +GIT_PROTOCOL = os.environ.get('GIT_PROTOCOL', 'https://') def main(): @@ -37,20 +37,20 @@ # active anymore. if project.startswith(('openstack-attic', 'stackforge')): continue - basename = os.path.basename(project) # ignore deb- projects that are forks of other projects intended for # internal debian packaging needs only and are generally not of # interest to upstream developers - if basename.startswith('deb-'): + if os.path.basename(project).startswith('deb-'): continue - repos[basename] = { + repos[project] = { 'url': "%(proto)s%(gitbase)s/%(project)s" % dict( proto=GIT_PROTOCOL, gitbase=GIT_SERVER, project=project), 'url-pattern': { - 'base-url': "http://%(gitbase)s/cgit/%(project)s" - "/tree/{path}{anchor}" % dict(gitbase=GIT_SERVER, - project=project), - 'anchor': '#n{line}', + 'base-url': "https://%(gitbase)s/%(project)s" + "/src/branch/master/{path}{anchor}" % dict( + gitbase=GIT_SERVER, + project=project), + 'anchor': '#L{line}', } } diff -Nru jeepyb-0+20170923/jeepyb/cmd/manage_projects.py jeepyb-0+20190513/jeepyb/cmd/manage_projects.py --- jeepyb-0+20170923/jeepyb/cmd/manage_projects.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/manage_projects.py 2019-05-12 23:35:46.000000000 +0000 @@ -59,6 +59,7 @@ import os import re import shutil +import sys import time import gerritlib.gerrit @@ -92,6 +93,14 @@ pass +class ProcessACLException(Exception): + pass + + +class PushToGerritException(Exception): + pass + + class CreateGroupException(Exception): pass @@ -127,7 +136,7 @@ else: status, output = u.git_command_output( repo_path, "ls-files --with-tree=remotes/gerrit-meta/config " - "project.config", env) + "project.config", env) if output.strip() != "project.config" or status != 0: log.debug("Failed to find project.config for project: %s" % project) @@ -358,6 +367,7 @@ except Exception: log.exception( "Error pushing %s to Gerrit." % project) + raise PushToGerritException() def process_acls(acl_config, project, ACL_DIR, section, @@ -375,6 +385,7 @@ except Exception: log.exception( "Exception processing ACLS for %s." % project) + raise ProcessACLException() finally: u.git_command(repo_path, 'reset --hard') u.git_command(repo_path, 'checkout master') @@ -395,7 +406,6 @@ def create_local_mirror(local_git_dir, project_git, gerrit_system_user, gerrit_system_group): - git_mirror_path = os.path.join(local_git_dir, project_git) if not os.path.exists(git_mirror_path): (ret, output) = u.run_command_status( @@ -462,6 +472,8 @@ project_list = gerrit.listProjects() ssh_env = u.make_ssh_wrapper(GERRIT_USER, GERRIT_KEY) try: + # Collect processed errors,if any + process_errors = [] for section in registry.configs_list: project = section['project'] if args.projects and project not in args.projects: @@ -569,8 +581,9 @@ project_cache[project]['created-in-github'] = created except Exception: - log.exception( - "Problems creating %s, moving on." % project) + msg = "Problems creating %s, moving on." % project + log.exception(msg) + process_errors.append(msg) continue finally: # Clean up after ourselves - this repo has no use @@ -582,6 +595,11 @@ cache_out.write(json.dumps( project_cache, sort_keys=True, indent=2)) os.unlink(ssh_env['GIT_SSH']) + if len(process_errors) > 0: + log.error("%d problems has been caught during run:\n %s" % ( + len(process_errors), process_errors)) + sys.exit(1) + if __name__ == "__main__": main() diff -Nru jeepyb-0+20170923/jeepyb/cmd/update_blueprint.py jeepyb-0+20190513/jeepyb/cmd/update_blueprint.py --- jeepyb-0+20170923/jeepyb/cmd/update_blueprint.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/update_blueprint.py 2019-05-12 23:35:46.000000000 +0000 @@ -89,8 +89,8 @@ wb = '' changed = False if topic: - topiclink = '%s/#q,topic:%s,n,z' % (link[:link.find('/', 8)], - topic) + topiclink = '%s/#/q/topic:%s' % (link[:link.find('/', 8)], + topic) if topiclink not in wb: wb += "\n\n\nGerrit topic: %(link)s" % dict(link=topiclink) changed = True diff -Nru jeepyb-0+20170923/jeepyb/cmd/welcome_message.py jeepyb-0+20190513/jeepyb/cmd/welcome_message.py --- jeepyb-0+20170923/jeepyb/cmd/welcome_message.py 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/jeepyb/cmd/welcome_message.py 2019-05-12 23:35:46.000000000 +0000 @@ -71,29 +71,29 @@ default_text = """Thank you for your first contribution to OpenStack. - Your patch will now be tested automatically by OpenStack testing frameworks - and once the automatic tests pass, it will be reviewed by other friendly - developers. They will give you feedback and may require you to refine it. - - People seldom get their patch approved on the first try, so don't be - concerned if requested to make corrections. Feel free to modify your patch - and resubmit a new change-set. - - Patches usually take 3 to 7 days to be reviewed so be patient and be - available on IRC to ask and answer questions about your work. Also it - takes generally at least a couple of weeks for cores to get around to - reviewing code. The more you participate in the community the more - rewarding it is for you. You may also notice that the more you get to know - people and get to be known, the faster your patches will be reviewed and - eventually approved. Get to know others and become known by doing code - reviews: anybody can do it, and it's a great way to learn the code base. - - Thanks again for supporting OpenStack, we look forward to working with you. - - IRC: https://wiki.openstack.org/wiki/IRC - Workflow: http://docs.openstack.org/infra/manual/developers.html - Commit Messages: https://wiki.openstack.org/wiki/GitCommitMessages - """ +Your patch will now be tested automatically by OpenStack testing frameworks +and once the automatic tests pass, it will be reviewed by other friendly +developers. They will give you feedback and may require you to refine it. + +People seldom get their patch approved on the first try, so don't be +concerned if requested to make corrections. Feel free to modify your patch +and resubmit a new change-set. + +Patches usually take 3 to 7 days to be reviewed so be patient and be +available on IRC to ask and answer questions about your work. Also it +takes generally at least a couple of weeks for cores to get around to +reviewing code. The more you participate in the community the more +rewarding it is for you. You may also notice that the more you get to know +people and get to be known, the faster your patches will be reviewed and +eventually approved. Get to know others and become known by doing code +reviews: anybody can do it, and it's a great way to learn the code base. + +Thanks again for supporting OpenStack, we look forward to working with you. + +IRC: https://wiki.openstack.org/wiki/IRC +Workflow: https://docs.openstack.org/infra/manual/developers.html +Commit Messages: https://wiki.openstack.org/wiki/GitCommitMessages +""" if message_file: try: diff -Nru jeepyb-0+20170923/.mailmap jeepyb-0+20190513/.mailmap --- jeepyb-0+20170923/.mailmap 1970-01-01 00:00:00.000000000 +0000 +++ jeepyb-0+20190513/.mailmap 2019-05-12 23:35:46.000000000 +0000 @@ -0,0 +1,4 @@ +# Format is: +# +# + diff -Nru jeepyb-0+20170923/setup.cfg jeepyb-0+20190513/setup.cfg --- jeepyb-0+20170923/setup.cfg 2018-01-05 14:41:50.000000000 +0000 +++ jeepyb-0+20190513/setup.cfg 2019-05-12 23:35:46.000000000 +0000 @@ -5,7 +5,7 @@ README.rst author = OpenStack Infrastructure Team author-email = openstack-infra@lists.openstack.org -home-page = http://docs.openstack.org/infra/system-config/ +home-page = https://docs.openstack.org/infra/system-config/ classifier = Intended Audience :: Information Technology Intended Audience :: System Administrators