Optional packages for the build-time testsuite runs?

Michael E Brown Michael_E_Brown at dell.com
Mon Nov 19 16:57:08 UTC 2007


On Mon, Nov 19, 2007 at 03:42:04PM +0100, Ralf Corsepius wrote:
> 
> 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. 

Two ideas:

1) Use the 'more_buildreqs' mock config:

config_opts['more_buildreqs']['srpm_name-version-release'] =
'dependency list'

2) Use a RPM macro defined in mock to enable this:

config_opts['macros']['%_exhaustive_testsuite'] = "1"

--
Michael




More information about the fedora-devel-list mailing list