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