Get rid of UploadFileSsh. This was hardly used because it
is cumbersome to use. Also, the default scheme was file://
if no scheme was given, which makes this especially non-useful.
Replace it by a new provider RPM, so that you can just specify
any rpms you want to install, like --rpm package1,package2.
Also, drop the no longer needed init() and prepare() steps.
Finally, rename UploadFile* classes to RpmScheme*.
Extend the job-template to allow building NM from source during
the test. By passing "--build-id master", the test will first
git-clone the repository of NetworkManager and build an RPM
of the selected commit.
This saves you to first build NetworkManager and then use
"--rpm brew://" or similar.
Prefer to use $DISTRO_TAG for choosing the image.
Add new variable $DISTROREQIRES which can be used to explicitly
set the XML to require a certain distoro, like
--var 'DISTROREQIRES=<distro_name op="=" value="$DISTRO_NAME"/>'
If omitted, it will try to detect the correct setting as following:
If you specify $DISTRO_TAG, it will result in:
<distro_family op="=" value="$DISTRO_FAMILY"/>
<distro_tag op="=" value="$DISTRO_TAG"/>
If you omit $DISTRO_TAG, but specify $DISTRO_NAME you get
instead:
<distro_name op="=" value="$DISTRO_NAME"/>
Finally, if you don't specify anything at all, it will try to
autodetect $DISTRO_TAG based on the $GIT_TARGETBRANCH. So, this
is what you actually want. Don't specify anything at all, it
should detect it correctly already.
Co-Authored-By: Thomas Haller <thaller@redhat.com>
If you don't want to install any RPMs, this will lead to an
error sustituing $RPM_LIST template.
Add a dummy provider that can be used:
./bkr.py submit -r none ...
You are still expected to explicitly pass the -r argument.
We don't want to interpret a missing argument as "none" by
default, because it's a rather uncommon usecase.
- get rid of the unused [$index] like $RPM_LIST[@].
- rename _get_default() to _get_var()
- let _get_var() handle the dynamic overwrites via DefaultReplacements.
That has the advantage, that variables that are based on each other
can resolve the defaults (recursivley).
- sort the debug messages about the substitutions
When backporting commits, we should do `git cherry-pick -x`,
so that the commit message contains:
(cherry picked from commit $SHA)
Similarly, when fixing an actual bug of a previous commit, we
mark the faulty commit with:
Fixes: $SHA
This script walks through a commit range of a stable branch,
and finds all $BACKPORTED_COMMITS (the sources from where we
cherry-picked).
Then it walks through a commit range of upstream/unstable branch,
and searches for $FIXES of the $BACKPORTED_COMMITS.
Then it prints all $FIXES, that are not yet backported. You probably
should backport those commits as well.