rebasehelper 0.29.2

Creator: bradpython12

Last updated:

0 purchases

TODO
Add to Cart

Description:

rebasehelper 0.29.2

Welcome to rebase-helper

There are several steps that need to be done when rebasing a package. The goal of rebase-helper is to automate most of these steps.
How to get it running?
rebase-helper is packaged in Fedora, so you can just install it with dnf.
If you wish to use the latest codebase, consult installation instructions.
How to use it?
After installation, execute rebase-helper from a directory containing SPEC file, sources and patches (usually cloned dist-git repository):
$ ls
foo-3.1.9.tar.xz foo.spec sources

Without any arguments or configuration rebase-helper will attempt to determine the latest upstream version automatically.
If that fails, or if you wish to rebase to some different version, you can specify it explicitly as an argument:
$ rebase-helper 3.1.10

or you can pass source tarball filename instead:
$ rebase-helper foo-3.1.10.tar.xz

For complete CLI reference see usage.
Alternatively, you can run rebase-helper in a container:
$ docker run -it -e PACKAGE=foo quay.io/rebasehelper/rebase-helper:latest
See container reference for more information.
What do I get from it?
rebase-helper always creates rebase-helper-results directory containing the following items:



Path
Description




report.txt
summary report with all important information


changes.patch
diff against original files, directly applicable to dist-git repo


logs/
log files of various verbosity levels


rebased-sources/
git repository with all modified files


checkers/
reports from individual checkers that were run


old-build/
logs and results of old (original) version build


new-build/
logs and results of new (rebased) version build



How does it work?
The following steps describe a rebase process:


Preparation

rebase-helper-workspace and rebase-helper-results directories are created
original SPEC file is copied to rebase-helper-results/rebased-sources directory and its Version tag is modified



Getting sources

old and new source tarballs are downloaded and extracted to rebase-helper-workspace directory
old sources are downloaded from lookaside cache if possible



Downstream patches

new git repository is initialized and the old sources are extracted and commited
each downstream patch is applied and changes introduced by it are commited
new sources are extracted and added as a remote repository
git-rebase is used to rebase the commits on top of new sources
original patches are modified/deleted accordingly
resulting files are stored in rebase-helper-results/rebased-sources
diff against original files is saved to rebase-helper-results/changes.patch



Build

old and new source RPMs are created and built with selected build tool
old SRPM and RPMs can also be downloaded from Koji to speed up the rebase



Comparison

multiple checker tools are run against both sets of packages and their output is stored in rebase-helper-results/checkers directory



Cleanup

rebase-helper-workspace directory is removed



Videos
A talk about rebase-helper at DevConf.CZ 2020 given by František Nečas:

Another presentation, this time from DevConf.CZ 2016, by Petr Hráček and Tomáš Hozza:

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.