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