For libnm, we use opaque types. gtk-doc has/had an issue parsing
this code, and generates suboptimal documentation.
There is a merge request against gtk-doc to address that [1].
However, there is also a `make check` test, which tries to determine
whether gtk-doc is suitable [2].
When building for beaker, we don't need this check. Also, because likely
beaker is not up to the task.
[1] https://gitlab.gnome.org/GNOME/gtk-doc/merge_requests/2
[2] https://github.com/NetworkManager/NetworkManager/pull/196
git doesn't like to fetch into a local branch which is currently
checked out.
$ git fetch origin --prune
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
We need to first checkout a plain commit (detached HEAD).
Fixes: 2f67ac9eaf
Without it, `git checkout -B nmbuild nm-1-10` will fail, because
there is no local branch refs/heads/nm-1-10. Previously, it worked
because there was (one) refs/remotes/origin/nm-1-10, so if we didn't
specify "-B" option, git would create a remote-tracking local branch.
Fix it, by fetching the remote branches as local branches.
Fixes: 2f67ac9eaf
When somebody creates a pull request against NetworkManager's github
repository, the github repository itself usually doesn't have a branch
that references the pull request.
Hence, the commit will not be fetched by default and checking out
the commit will fail.
Also add and fetch the refs for the pull request.
When not specifying --with/--without debug, the default depends on the
version number. Hence, we should always explicitly enable or disable
the debug flag.
Also, add support for --with sanitizer.
Installs valgrind and provides a template for vgdb enabled valgrind-wrapped
service. The test harness is expected to pick this up, finish the setup and
eventually make use of it.
Since 87dc14476b we can enable
more assertions when building the RPM package. Allow passing
that option to "build-from-source.sh" by setting environment
"WITH_DEBUG=yes".
Building NetworkManager during kickstart has the serious disadvantage
that we don't yet run the installed system. E.g. if the kernel has
issues there, it fails `make check` of the build process, although
the later run kernel is fine.
Also, a failure during kickstart does not allow to access the machine
later to inspect the failure reason (e.g. the testing logfiles).
Instead, move the building to a separate script and run it as a beaker
task.
The new one doesn't support returning or extending. It can still be used with
--reservesys=new.
Revert "contrib/bkr: update specifying reservesys"
This reverts commit 96f49913c4.
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.