Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 101435
Status: open
Priority: 0/
Queue: DBIx-Class

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: (no value)
Fixed in: (no value)



Subject: some things in runtime-requires that belong in test-requires
I see in metadata: "runtime" : { "requires" : { ... "Test::Deep" : "0.101", "Test::Exception" : "0.31", "Test::More" : "0.94", "Test::Warn" : "0.21", } } These should be test prereqs, not runtime.
On 2015-01-09 15:16:11, ETHER wrote: Show quoted text
> I see in metadata: > > "runtime" : { > "requires" : { > ... > "Test::Deep" : "0.101", > "Test::Exception" : "0.31", > "Test::More" : "0.94", > "Test::Warn" : "0.21", > } > } > These should be test prereqs, not runtime.
To clarify, I'm seeing this in MYMETA, not META.
I think my in-house build tool is f00king things up, because MYMETA.json actually just has those things in build-requires, not runtime-requires. (I'm not sure why it is folding those together when it doesn't do that for other dists, but that's obviously not your problem.) I think moving these prereqs from build-requires to test-requires will help, though.
Subject: Re: [rt.cpan.org #101435] some things in runtime-requires that belong in test-requires
Date: Sat, 10 Jan 2015 01:10:45 +0100
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] cpan.org>
On 01/10/2015 12:55 AM, Karen Etheridge via RT wrote: Show quoted text
> I think moving these prereqs from build-requires to test-requires will help, though.
The core of the issue is that Module::Install never did test_requires: https://metacpan.org/source/BINGOS/Module-Install-1.14/lib/Module/Install/Metadata.pm#L143 This will self-resolve when I move off M::I (which will be when I get tuits to replicate the pieces I miss in EUMM-ish stuff locally). As the test vs build_requires difference is currently largely academic, I don't consider it worthwhile to spend time on this yak. Moreover I also do not consider it worthwhile addressing this in M::I itself - the fallout may be substantial for something that (yet again) looks like academic benefit. On the other hand I may be wrong in this assessment: let me know if I am missing something that makes the build/test difference matter.
On 2015-01-09 17:57:43, RIBASUSHI wrote: Show quoted text
> Moreover I also do not consider it worthwhile addressing this in M::I > itself - the fallout may be substantial for something that (yet again) > looks like academic benefit. > > On the other hand I may be wrong in this assessment: let me know if I > am > missing something that makes the build/test difference matter.
I'm seeing those Test::* prereqs show up in runtime requires in the json metadata that is output from carton, which is an annoyance in my $work where I am attempting to remove unneeded prereqs from being installed, but this is carton's fault, not that of this dist. I haven't yet investigated to see how this is happening, as build prereqs are not always being promoted to runtime in every situation.
Marking stalled. Will be resolved during the distbuild overhaul some time this summer.
Subject: Makefile.PL puts test prereqs into build-requires
'perl Makefile.PL' puts all test prereqs into meta->{prereqs}{build}, rather than meta->{prereqs}{test}, which results in unnecessary dependencies when installing without tests (e.g. via 'carton install'). I also noticed that META.json is not present in the shipped repository, but this is a separate issue, since 'perl Makefile.PL' does create a MYMETA.json given a recent enough toolchain.
On Wed Apr 04 00:14:59 2018, ETHER wrote: Show quoted text
> 'perl Makefile.PL' puts all test prereqs into meta->{prereqs}{build}, > rather than meta->{prereqs}{test}, which results in unnecessary > dependencies when installing without tests (e.g. via 'carton > install'). > > I also noticed that META.json is not present in the shipped > repository, but this is a separate issue, since 'perl Makefile.PL' > does create a MYMETA.json given a recent enough toolchain.
This is a duplicate of https://rt.cpan.org/Ticket/Display.html?id=101435. Change of the packaging system is unlikely to take place until some time next year (2019), due to more pressing issues in the works. Merging with original.
I'll be pleased to do the same conversion from M::I to EUMM + Distar, that I've done for DCSL and SQLT. However, only if there's some prospect of it getting merged and actually used ;-)
Subject: Re: [rt.cpan.org #101435] some things in runtime-requires that belong in test-requires
Date: Sun, 6 Jan 2019 18:44:36 +0100
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] leporine.io>
On 01/06/2019 06:14 PM, Ed J via RT wrote: Show quoted text
> Queue: DBIx-Class > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=101435 > > > I'll be pleased to do the same conversion from M::I to EUMM + Distar, that I've done for DCSL and SQLT. However, only if there's some prospect of it getting merged and actually used ;-) >
Distar is categorically out of the question. The only path away from what is there right now is pure EUMM ( like e.g. https://metacpan.org/source/RIBASUSHI/namespace-clean-0.27/Makefile.PL ) with the added complication of having all of this functioning 1:1 ( it isn't hard - it already is EUMM-based ) https://metacpan.org/source/RIBASUSHI/DBIx-Class-0.082841/maint/Makefile.PL.inc A changeset will be considered ( and fixed up if necessary ) provided it adheres to the nothing-but-EUMM requirement.