Optional packages for the build-time testsuite runs?
Ralf Corsepius
rc040203 at freenet.de
Mon Nov 19 14:42:04 UTC 2007
On Mon, 2007-11-19 at 14:24 +0100, Jan Kratochvil wrote:
> Hi all,
>
> GDB package has its own large testsuite which is being run automatically from
> .spec %check during the build to easily find any possible regressions.
>
> This testsuite automatically detects existence of some other packages
> (gcc-gfortran gcc-java gcc-objc gcc-gnat) to run its optional parts to test
> these specific langauges GDB support.
>
> These exotic languages/rpms (gcc-gfortran gcc-java gcc-objc gcc-gnat) may not
> be commonly installed on the target systems where one may just want to
> `rpmbuild --rebuild' the .src.rpm for various reasons (such as using newer GDB
> in an older Fedora system).
>
> Listing gcc-gfortran/gcc-java/gcc-objc/gcc-gnat into BuildRequires (now since
> gdb-6.7.1-4.fc9) just for the testsuite purposes brings:
> pro) It enables the testsuite to run in Koji/mock.
> con) It creates a burden for the users just rebuilding the rpm on their Fedora.
>
> Isn't there a way to do some?
> %if %{mock}
> BuildRequires: gcc-gfortran gcc-java gcc-objc gcc-gnat
> %endif
> Tried
> %if 0%{?dist:1}
> but %dist is defined even for simple --rebuild by the redhat-rpm-config rpm.
What I have done in similar situations [1] is applying rpm's
--with/--without in combination with koji scratch builds and local
builds.
I.e. I am using %{?_with_XXX} and friends inside of specs, such that you
can specify them on rpmbuild's command-line for manual local builds.
For chrooted "non-production/test-builds" (e.g. koji scratch-builts) I
edit the spec (adding %define _with_XXX <something> to the top of the
spec).
A better approach probably would be to have way to pass
rpmbuild-parameters to koji/mock for scratch builds.
Ralf
[1] In my case primarily testsuites which require network access (N/A in
mock) and/or packages which are not part of Fedora.
More information about the fedora-devel-list
mailing list