On 08/25/2018 07:11 PM, Andrew Savchenko wrote: > On Sat, 25 Aug 2018 14:24:02 -0400 Mike Gilbert wrote: >> On Sat, Aug 25, 2018 at 1:41 AM Andrew Savchenko <birc...@gentoo.org> wrote: >>> >>> On Fri, 24 Aug 2018 14:24:06 -0400 Mike Gilbert wrote: >>>> --- >>>> general-concepts/dependencies/text.xml | 38 ++++++++++++++++++++++++++ >>>> 1 file changed, 38 insertions(+) >>>> >>>> diff --git a/general-concepts/dependencies/text.xml >>>> b/general-concepts/dependencies/text.xml >>>> index 2f10380..64be9dc 100644 >>>> --- a/general-concepts/dependencies/text.xml >>>> +++ b/general-concepts/dependencies/text.xml >>>> @@ -578,6 +578,44 @@ valid. >>>> </body> >>>> </section> >>>> >>>> +<section> >>>> +<title>Test Dependencies</title> >>>> +<body> >>>> + >>>> +<p> >>>> +Packages often have optional dependencies that are needed only when >>>> running >>>> +tests. These should be specified in DEPEND behind a USE flag. Often, the >>>> +'test' USE flag is used for this purpose. >>>> +</p> >>>> + >>>> +<p> >>>> +Since testing will likely fail when test dependencies are not installed, >>>> the >>>> +test phase should be disabled in this case. This may be accomplished via >>>> USE >>>> +conditionals in the RESTRICT variable. >>>> +</p> >>>> + >>>> +<p> >>>> +If other optional features must be enabled/disabled when testing, >>>> REQUIRED_USE >>>> +may be set to express this. >>>> +</p> >>>> + >>>> +<codesample lang="ebuild"> >>>> +# Define some USE flags >>>> +IUSE="debug test" >>>> + >>>> +# Disable test phase when test USE flag is disabled >>>> +RESTRICT="!test? ( test )" >>> >>> I do not understand why we need this useless code. If test USE flag >>> is disabled, tests must be disabled as well. It is PM's job and >>> there is no need to put this obvious stuff into each ebuild with >>> tests and extra deps. I see no reason to support running src_test() >>> with USE="-test". >> >> PMS does not specify that behavior (skipping src_test with USE=-test). >> It is better to define the requrement explicitly rather than relying >> on a Portage-specific behavior. > > Then PMS should be fixed. Putting useless code in thousands > of ebuilds due to bureaucratic reasons is ridiculous. Having strict > conformance to the PMS is good, but common sense should still be > considered.
Since PMS doesn't specify the behavior of FEATURES, I suppose we could make FEATURES=test imply RESTRICT="!test? ( test )". Would there be any drawbacks to that? -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature