{ "info": { "author": "Petr Hracek", "author_email": "phracek@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: System :: Operating System", "Topic :: System :: Software Distribution", "Topic :: Utilities" ], "description": "# Welcome to rebase-helper\n\n[![Travis CI build status](https://travis-ci.org/rebase-helper/rebase-helper.svg?branch=master)](https://travis-ci.org/rebase-helper/rebase-helper) [![Documentation build status](https://readthedocs.org/projects/rebase-helper/badge/?version=latest)](https://readthedocs.org/projects/rebase-helper) [![GitLab CI build status](https://gitlab.com/rebase-helper/rebase-helper/badges/master/build.svg)](https://gitlab.com/rebase-helper/rebase-helper/commits/master) [![PyPI version](https://img.shields.io/pypi/v/rebasehelper.svg)](https://pypi.org/project/rebasehelper) [![Project status](https://img.shields.io/pypi/status/rebasehelper.svg)](https://pypi.org/project/rebasehelper) [![Code Quality](https://api.codacy.com/project/badge/Grade/af059c941cd94f7aa557c3ae7ce75bb8)](https://www.codacy.com/app/rebase-helper/rebase-helper)\n\nThere are several steps that need to be done when rebasing a package. The goal of **rebase-helper** is to automate most of these steps.\n\n## How to get it running?\n\n**rebase-helper** is packaged in Fedora, so you can just install it with **dnf**.\n\nIf you wish to use the latest codebase, consult [installation instructions](https://rebase-helper.readthedocs.io/en/latest/user_guide/installation.html).\n\n## How to use it?\n\nAfter installation, execute **rebase-helper** from a directory containing SPEC file, sources and patches (usually cloned dist-git repository).\n\nWithout any arguments or configuration **rebase-helper** will attempt to determine the latest upstream version automatically.\nIf that fails, or if you wish to rebase to some different version, you can specify it explicitly as an argument:\n\n`$ rebase-helper 3.1.10`\n\nor you can pass source tarball filename instead:\n\n`$ rebase-helper foo-4.2.tar.gz`\n\nFor complete CLI reference see [usage](https://rebase-helper.readthedocs.io/en/latest/user_guide/usage.html).\n\nAlternatively, you can run **rebase-helper** in a container:\n\n`$ docker run -it -e PACKAGE=foo rebasehelper/rebase-helper:latest`\n\nSee [docker reference](https://rebase-helper.readthedocs.io/en/latest/user_guide/rebasing_in_container.html) for more information.\n\n## What do I get from it?\n\n**rebase-helper** always creates *rebase-helper-results* directory containing the following items:\n\n| Path | Description |\n|:--------------------- |:----------------------------------------------------------------- |\n| *report.txt* | summary report with all important information |\n| *changes.patch* | diff against original files, directly applicable to dist-git repo |\n| *logs/* | log files of various verbosity levels |\n| *rebased-sources/* | git repository with all modified files |\n| *checkers/* | reports from individual checkers that were run |\n| *old-build/* | logs and results of old (original) version build |\n| *new-build/* | logs and results of new (rebased) version build |\n\n## How does it work?\n\nThe following steps describe a rebase process:\n\n- **Preparation**\n\n - *rebase-helper-workspace* and *rebase-helper-results* directories are created\n - original SPEC file is copied to *rebase-helper-results/rebased-sources* directory and its Version tag is modified\n\n\n- **Getting sources**\n\n - old and new source tarballs are downloaded and extracted to *rebase-helper-workspace* directory\n - old sources are downloaded from lookaside cache if possible\n\n\n- **Downstream patches**\n\n - new git repository is initialized and the old sources are extracted and commited\n - each downstream patch is applied and changes introduced by it are commited\n - new sources are extracted and added as a remote repository\n - `git-rebase` is used to rebase the commits on top of new sources\n - original patches are modified/deleted accordingly\n - resulting files are stored in *rebase-helper-results/rebased-sources*\n - diff against original files is saved to *rebase-helper-results/changes.patch*\n\n\n- **Build**\n\n - old and new source RPMs are created and built with selected build tool\n - old SRPM and RPMs can also be downloaded from Koji to speed up the rebase\n\n\n- **Comparison**\n\n - multiple checker tools are run against both sets of packages and their output is stored in *rebase-helper-results/checkers* directory\n\n\n- **Cleanup**\n\n - *rebase-helper-workspace* directory is removed\n\n## Video presentation\n\nAt DevConf.cz 2016, Tom\u00e1\u0161 Hozza, Petr Hr\u00e1\u010dek presented on rebase-helper.\n\n[![rebase-helper presentation at DevConf.cz 2016](https://img.youtube.com/vi/Y-5Qiwaujd8/0.jpg)](https://www.youtube.com/watch?v=Y-5Qiwaujd8)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rebase-helper/rebase-helper", "keywords": "rebase,packages,rpm", "license": "GPLv2+", "maintainer": "", "maintainer_email": "", "name": "rebasehelper", "package_url": "https://pypi.org/project/rebasehelper/", "platform": "", "project_url": "https://pypi.org/project/rebasehelper/", "project_urls": { "Bug Tracker": "https://github.com/rebase-helper/rebase-helper/issues", "Documentation": "https://rebase-helper.readthedocs.io", "Homepage": "https://github.com/rebase-helper/rebase-helper", "Source Code": "https://github.com/rebase-helper/rebase-helper" }, "release_url": "https://pypi.org/project/rebasehelper/0.19.0/", "requires_dist": [ "ansicolors", "copr", "pyquery", "python-pam", "requests", "GitPython", "rpm-py-installer", "requests-gssapi" ], "requires_python": "", "summary": "This tool helps you rebase your package to the latest version", "version": "0.19.0" }, "last_serial": 5894944, "releases": { "0.16.0": [ { "comment_text": "", "digests": { "md5": "ed25eeea0c459e4b515375c550eb7b26", "sha256": "fcb83b88722491837fc1d5aa4de1dfea75127a85021eb37cbeba7d5ed6fde930" }, "downloads": -1, "filename": "rebasehelper-0.16.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed25eeea0c459e4b515375c550eb7b26", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 611455, "upload_time": "2019-02-27T17:55:46", "url": "https://files.pythonhosted.org/packages/88/36/f89294b9db57285bac7cc9d3006822682ddfbdfbbde1f43188f79b8e16ea/rebasehelper-0.16.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "528bf434c836052377309fcc7f39b227", "sha256": "5550f3f56159f41f68e11672ef53d89f92655dc4c4d12e23eb2f2947d94432de" }, "downloads": -1, "filename": "rebasehelper-0.16.0.tar.gz", "has_sig": false, "md5_digest": "528bf434c836052377309fcc7f39b227", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1870098, "upload_time": "2019-02-27T17:55:50", "url": "https://files.pythonhosted.org/packages/87/ad/1a323f37df50c47dbd889f364bfd0c5e4d787cf2f4b6521e5b83e379624a/rebasehelper-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "a0ebebd3b1aa4e17660aef1cabb9f926", "sha256": "b6e6518a8a2ca87bc0dcf963ce48df53f93abdadd22fe3cf3e2897b537be4203" }, "downloads": -1, "filename": "rebasehelper-0.16.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0ebebd3b1aa4e17660aef1cabb9f926", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 611476, "upload_time": "2019-02-28T21:16:32", "url": "https://files.pythonhosted.org/packages/44/75/ffc7d031e4ed10de23a9c390e9442e802a4f87df16b3d98e9606008b7ba7/rebasehelper-0.16.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1a11b3beb4f96a043373368e458786b", "sha256": "76f1bb03d49b4f34ae17869146bd523b0ffb8caf873778e005cc07335d433941" }, "downloads": -1, "filename": "rebasehelper-0.16.1.tar.gz", "has_sig": false, "md5_digest": "f1a11b3beb4f96a043373368e458786b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1871048, "upload_time": "2019-02-28T21:16:41", "url": "https://files.pythonhosted.org/packages/1c/6a/1dc7396d657af9ad6302bccbd847226b22cd56907da5a891d541219df186/rebasehelper-0.16.1.tar.gz" } ], "0.16.2": [ { "comment_text": "", "digests": { "md5": "871cec578aaec11d9321397f3ff3ff5e", "sha256": "9e4e50d655d09283961a01022ad5a0e7d12d6fcc36fae400e797741f916271ef" }, "downloads": -1, "filename": "rebasehelper-0.16.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "871cec578aaec11d9321397f3ff3ff5e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 619497, "upload_time": "2019-03-07T14:00:54", "url": "https://files.pythonhosted.org/packages/23/51/0889bcae9c4c4deb83231766b38e0c4c9f0e2aa7f502b6e584911eae4c45/rebasehelper-0.16.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "beefb947bc55872dac276dc52c2ba0f8", "sha256": "a74cf4deea3c49bc08c4e61c4f12c0d30d548d942ff317572377193033331a68" }, "downloads": -1, "filename": "rebasehelper-0.16.2.tar.gz", "has_sig": false, "md5_digest": "beefb947bc55872dac276dc52c2ba0f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1871825, "upload_time": "2019-03-07T14:00:57", "url": "https://files.pythonhosted.org/packages/24/04/1b93e959496b37aad5c9fce4526c25376a908a0b80bb6ce5903389749b1f/rebasehelper-0.16.2.tar.gz" } ], "0.16.3": [ { "comment_text": "", "digests": { "md5": "10701afcc2d37a3b9ec9bd289d16c88b", "sha256": "60e5474e253e07ec579850576534ada318ca93398e594beaca746fbcbf061e37" }, "downloads": -1, "filename": "rebasehelper-0.16.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10701afcc2d37a3b9ec9bd289d16c88b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 621056, "upload_time": "2019-05-03T14:28:24", "url": "https://files.pythonhosted.org/packages/f3/5e/b25252bbbf59d34e6eecba528a5cd83a6c396dcbeb01185f20c78fe8cc76/rebasehelper-0.16.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "486c35c853f86e1073fba1ec8e962494", "sha256": "9817443352cbf3d2fd56017da7096e64cb223fa9101abfd7c97dc1f6c838d400" }, "downloads": -1, "filename": "rebasehelper-0.16.3.tar.gz", "has_sig": false, "md5_digest": "486c35c853f86e1073fba1ec8e962494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1872927, "upload_time": "2019-05-03T14:28:27", "url": "https://files.pythonhosted.org/packages/2e/7b/e0da58cbbe04285e607d28557b9dd2cb15045c8b611cfeb94b487a46d4f3/rebasehelper-0.16.3.tar.gz" } ], "0.17.1": [ { "comment_text": "", "digests": { "md5": "ab04a4ab9acbc861a3e462caa2610ffc", "sha256": "f3be4a8eaa84bdc0e9c27e090f9bf267854def1acaf3e85bf62fa177da524837" }, "downloads": -1, "filename": "rebasehelper-0.17.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab04a4ab9acbc861a3e462caa2610ffc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 640179, "upload_time": "2019-08-01T11:20:47", "url": "https://files.pythonhosted.org/packages/65/f1/b189d92d57dcbb205acb66056a645ec2d8e6f9584012986a036abeba2896/rebasehelper-0.17.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b9fcdd970bd029da780dbf8f55fa03e", "sha256": "d34ee3aed99ee809508e4faf6b58c0a1409cdacb8ae7e2d8f6e7214d2db3eb27" }, "downloads": -1, "filename": "rebasehelper-0.17.1.tar.gz", "has_sig": false, "md5_digest": "9b9fcdd970bd029da780dbf8f55fa03e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1878479, "upload_time": "2019-08-01T11:20:56", "url": "https://files.pythonhosted.org/packages/fa/65/10d89068cc8e41aa4a54c41cd4c1139a64aae6abb40a7051fd7867fbe22e/rebasehelper-0.17.1.tar.gz" } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "d9ca13934b87671417070608c7762dbc", "sha256": "08e41533695104a149563650afc02212ce5f249445dfac98f8693414f979b8d1" }, "downloads": -1, "filename": "rebasehelper-0.18.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9ca13934b87671417070608c7762dbc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 635004, "upload_time": "2019-08-21T14:29:13", "url": "https://files.pythonhosted.org/packages/50/60/a5fa1f7d4319abecbeb202d8745cfb5651308a363f35c537fc86ef937904/rebasehelper-0.18.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40971a7ce6de7addcfc148b4f9d90f53", "sha256": "6f20b2e3946b0d0b9d01aa31f4e26025227f43fa9f88cefe87e632b5e1ef7237" }, "downloads": -1, "filename": "rebasehelper-0.18.0.tar.gz", "has_sig": false, "md5_digest": "40971a7ce6de7addcfc148b4f9d90f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1885214, "upload_time": "2019-08-21T14:29:16", "url": "https://files.pythonhosted.org/packages/20/92/4c18b09521843eee285300778802a14d79a2135584e6299c474bd5310b06/rebasehelper-0.18.0.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "3a9f92cb401546daec4838414293ce77", "sha256": "9169ba5bb50016d57bdc77c10e00a293ee0944ef1f23c626510a3504ecb86893" }, "downloads": -1, "filename": "rebasehelper-0.19.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a9f92cb401546daec4838414293ce77", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 635613, "upload_time": "2019-09-27T08:51:33", "url": "https://files.pythonhosted.org/packages/c7/3c/24023aed9356527bbd63b8bc1023235ddcdc7752cfe59a911391172ebc1d/rebasehelper-0.19.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "481a4f7b74272a1eba88e19bcdabb5ae", "sha256": "5e69af64cce96fc2425787e0e85ae2524d2efc41abe3cf7a69a6355fb762dd7e" }, "downloads": -1, "filename": "rebasehelper-0.19.0.tar.gz", "has_sig": false, "md5_digest": "481a4f7b74272a1eba88e19bcdabb5ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1886484, "upload_time": "2019-09-27T08:51:36", "url": "https://files.pythonhosted.org/packages/70/da/ede2155cf35198c29ac9460527113524802baa09dd3ec0239775b9963476/rebasehelper-0.19.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3a9f92cb401546daec4838414293ce77", "sha256": "9169ba5bb50016d57bdc77c10e00a293ee0944ef1f23c626510a3504ecb86893" }, "downloads": -1, "filename": "rebasehelper-0.19.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a9f92cb401546daec4838414293ce77", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 635613, "upload_time": "2019-09-27T08:51:33", "url": "https://files.pythonhosted.org/packages/c7/3c/24023aed9356527bbd63b8bc1023235ddcdc7752cfe59a911391172ebc1d/rebasehelper-0.19.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "481a4f7b74272a1eba88e19bcdabb5ae", "sha256": "5e69af64cce96fc2425787e0e85ae2524d2efc41abe3cf7a69a6355fb762dd7e" }, "downloads": -1, "filename": "rebasehelper-0.19.0.tar.gz", "has_sig": false, "md5_digest": "481a4f7b74272a1eba88e19bcdabb5ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1886484, "upload_time": "2019-09-27T08:51:36", "url": "https://files.pythonhosted.org/packages/70/da/ede2155cf35198c29ac9460527113524802baa09dd3ec0239775b9963476/rebasehelper-0.19.0.tar.gz" } ] }