-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
>= 4.28_01 declares testing dependencies as runtime dependencies #207
Comments
That would undo the intent of the commit that is responsible for the change: cc18e3a#diff-5d3ba18294715d9415e9e732852bfec6 The premise behind this commit is flawed. The correct action is to revert this commit, and either ignore the invalid cpantesters reports, or to pursue the issue with the smoker and fix it there. However this sounds like it could be the same issue recently explored on the cpantesters.discuss mailing list. |
Part of the problem is that META.* does NOT declare the testing dependencies at https://metacpan.org/source/LEEJO/CGI-4.28/META.json But it aught to. I agree But the test dependency should also be visible in |
Of course it doesn't, because the directive to do so was removed in the commit that I linked. A new release with that commit reverted will solve the issue. |
4.28 happened before that commit. That commit breaks 4.28_01 But 4.28_01 lacks https://metacpan.org/source/LEEJO/CGI-4.28/Makefile.PL#L31 <- TEST_REQUIRES |
Look at the commit topology -- it's not linear.
Unfortunately there are no v4.28 or v4.28_01 tags so it's not immediately obvious at what commit the 4.28_01 commit was made, but it's possible to guess within a few commits. |
Commit dc3abc5 introduced META_ADD => {
build_requires => {},
configure_requires => {},
} And this logic is still there, breaking dependencies on some EUMM versions. Subsequently .... Problem replication:
|
Could you point me to the discussion on the mailing list? I'll probably revert the commit and ignore the failures. |
I believe she's referring to this: http://www.nntp.perl.org/group/perl.cpan.testers.discuss/2016/07/msg3850.html But given I can reproduce the problem with dependencies not being exported, you probably want to revert that code and nuke the "wipe config with META_ADD" logic. |
The thread I was thinking of is http://www.nntp.perl.org/group/perl.cpan.testers.discuss/2016/07/msg3850.html. What sort of errors have you been receiving? |
Here's an example: http://www.cpantesters.org/cpan/report/82e58cd4-e75d-11e5-bc4f-33d50d52efe3 |
git revert cc18e3a
perl -MExtUtils::MakeMaker\ 9999
# ExtUtils::MakeMaker version 9999 required--this is only version 7.1001.
# BEGIN failed--compilation aborted.
git clean -ndX; perl Makefile.PL; make distdir; cp CGI-4.31/META.json /tmp/META_01.json
gvim Makefile.PL
git diff diff --git a/Makefile.PL b/Makefile.PL
index 9d9184d..d9ce36c 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -60,10 +60,6 @@ WriteMakefile(
},
no_index => { directory => [qw/t/] },
},
- META_ADD => {
- build_requires => {},
- configure_requires => {}
- },
)
),
); git clean -ndX; perl Makefile.PL; make distdir; cp CGI-4.31/META.json /tmp/META_02.json
diff -Naur /tmp/META_01.json /tmp/META_02.json --- /tmp/META_01.json 2016-07-19 18:23:15.757242283 +1200
+++ /tmp/META_02.json 2016-07-19 18:23:41.166985210 +1200
@@ -22,10 +22,22 @@
},
"prereqs" : {
"build" : {
- "requires" : {}
+ "requires" : {
+ "Cwd" : "0",
+ "ExtUtils::MakeMaker" : "0",
+ "File::Find" : "0",
+ "IO::File" : "0",
+ "IO::Handle" : "0",
+ "POSIX" : "0",
+ "Test::Deep" : "0.11",
+ "Test::More" : "0.98",
+ "Test::Warn" : "0.3"
+ }
},
"configure" : {
- "requires" : {}
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
},
"runtime" : {
"requires" : { |
This reverts commit cc18e3a. This is a regression for end users who use CPAN Clients that support --no-testing, as it means they can no longer elide test dependencies. An example of a failing testers can be seen at: http://www.cpantesters.org/cpan/report/82e58cd4-e75d-11e5-bc4f-33d50d52efe3 The correct action is to either ignore the invalid cpantesters reports, or to pursue the issue with the smoker and fix it there.
Does the above resolve this issue entirely or is there more to do? |
I'll file a PR with other fixes because you can demonstrate yourself, build the dist, check the generated META.*, and you will find an absense of the test dependencies as-is. |
OK, thanks! |
OK, v4.32 will be on its way to CPAN shortly. Thanks both! |
https://metacpan.org/diff/file?target=LEEJO/CGI-4.28_01/&source=LEEJO/CGI-4.28/
Of particular note is the growth of
runtime.requires
in META.json and the removal of TEST_REQUIRES in Makefile.PLThis is a regression for end users who use CPAN Clients that support
--no-testing
, as it means they can no longer elide test dependencies.The preferred solution here is to tweak the authoring stage to inject the contents of the old
TEST_REQUIRES
hash into META.json astest.requires
( Which is presently not declared in your META.json: https://metacpan.org/source/LEEJO/CGI-4.31/META.json#L23-56 )The text was updated successfully, but these errors were encountered: