Open
Description
[15:42:46] <@mst> what does Parse::PMFile achieve that Module::Metadata doesn't?
[15:42:54] <@mst> other than "supports the broken hack that common::sense uses"
[15:43:39] <@oalders> :)
[15:43:56] <@rwstauner> that's it
[15:44:08] <@oalders> i'm pretty sure that's exactly why we use Parse::PMFile
[15:44:18] <@rwstauner> and that's all we use it for... if /\.pm\.PL/
[15:45:28] <@rwstauner> there's other data metacpan extracts that D::M doesn't, but we could certainly add stuff to it
[15:46:05] <@oalders> https://github.com/CPAN-API/metacpan-web/issues/625
[15:46:06] <dipsy> [ no common::sense on metacpan ? · Issue #625 · CPAN-API/metacpan-web · GitHub ]
[15:47:51] <@mst> right. personally, I prefer the approach of "ignore it, it's broken"
[15:49:04] <@rwstauner> we did that for a long time
[15:49:11] <@oalders> that was fine before cpanm started using the api
[15:50:33] <@mst> yeah, so at that point you file a bug against common/sense.pm telling it to use 'provides' or something else that actually works properly
[15:50:51] <@mst> intentionally breaking metacpan to work around a stupid dist doesn't seem like a feature to me
[15:51:25] <@mst> so, you now owe me a patch to Module::Metadata to allow it to *optionally* allow that
[15:51:30] <@mst> and then you can remove Parse::PMFile
[15:51:39] <@oalders> can you actually file a bug against common::sense? :)
[15:51:51] <@mst> given you already broke metacpan, there's no point trying to keep Module::Metadata intact anymore
[15:51:59] <@mst> since now it's just confusing, because things don't consistently fail
[15:52:45] <@oalders> would be something worth discussing at the qa hackathon
[15:52:58] <ether> schmorp would ignore the ticket anyway, and just make the submitter cry, so I wouldn't bother
[15:53:18] <ether> oalders: you're coming to Lyon right?
[15:53:35] <@oalders> ether: i am. just have to make my travel arrangements
[15:53:46] <ether> cool! I need to buy tickets this week as well
[15:53:48] <@mst> ether: the whole point of not making Module::Metadata accept the hack was to put social/technical pressure on him to not ignore it
[15:54:04] <@mst> since apparently the metacpan team have decided to side with schmorp, it's basically academic now
[15:54:27] <ether> I'm not convinced they have knowingly done so
[15:54:36] <@oalders> well, i wouldn't put it quite that way and i'd be willing to revert that patch
[15:54:52] <@oalders> but it fixed a real problem at the time
[15:55:03] <@mst> no, it worked around a problem in common::sense
[15:55:22] <@mst> if everybody works around the problems schmorp causes, what incentive is there for him to fix anything?
[15:56:05] <@oalders> it's a valid point. so, if there's a united effort to get this fixed, we can bring MetaCPAN in line with that
[15:56:41] <@oalders> why does common::sense even behave this way?
[15:57:02] <@mst> because he generates the file per-perl-version as amicro-optimisation to avoid loading strict.pm and warnings.pm
[15:57:14] <@mst> and so the dist code only exists in __DATA__ of the .PL script
[15:57:59] <@mst> this is why Cpanel::JSON::XS doesn't use common::sense
[15:58:20] <@mst> hence why my JSON::MaybeXS uses that instead of JSON::XS
[15:58:26] <ether> ++
[15:58:26] <dipsy> Thanks!
[15:58:43] <alnewkirk> to whom it may concern ... I really dig the metacpan enhancements
[15:58:43] <@rwstauner> :-)
[15:58:54] <@oalders> alnewkirk: thanks!
[15:59:03] <ether> I have a dist that ships a module in a different filename than what it eventually gets installed as, but it's a nasty hack (and I set 'provides' data properly to indicate this)
[15:59:05] <@rwstauner> sadly, that leaves AnyEvent, which is also something i wish less dists depended on
[15:59:16] <@mst> AnyEvent doesn't depend on common::sense
[15:59:19] <@mst> it inlines its own version
[15:59:22] <@rwstauner> it doesn't?
[15:59:23] <@rwstauner> oh
[15:59:27] <alnewkirk> oalders: thank you
[15:59:34] <@mst> hence why I was confident we didn't need to allow for common::sense
[15:59:44] <@mst> hence why last time we discussed this we agreed to not break metacpan
[15:59:45] <@rwstauner> hmm
[15:59:56] <@mst> apparently later somebody broke it anyway without talking to anybody
[16:00:05] <@mst> which is why I might be being sliughtly cranky here
[16:00:13] <@mst> because I spent about an hour discussing this and the impact last time
[16:00:30] <@oalders> alnewkirk: big team effort :) @mo spent a lot of time on it
[16:01:25] <@oalders> it would help if we documented stuff we all agree on
[16:01:34] <@oalders> it's essentially mostly IRC logs
[16:01:35] <alnewkirk> ... in opensource you rarely get a thanks let alone acknowledgement so I figured I'd buck the system and thanks for all the hard works guys
[16:02:02] <@oalders> yeah, it's mostly "please fix this broken thing"
[16:02:16] <@mst> notice that nobody except miyagawa spoke in favour of the nasty hack
[16:02:30] <@mst> and he isn't competent to have an opinion on toolchain code
[16:02:50] <@oalders> well, tokuhirom was asking for a workaround as well
[16:02:52] <@mst> cpanm only works at all because I spent days guiding him through unfucking it, and carton only works at all because doy did the same thing
[16:03:03] <@mst> right, to which the response is "file a bug"
[16:03:26] <@mst> also, I was planning to work on a patch to fix PAUSE
[16:03:50] <ether> it would be great to get PAUSE finally sorted
[16:03:57] <ether> there's that big patch from rjbs last year that hasn't gone in yet
[16:04:00] <@mst> a hardcoded exception for common::sense would be reasonable
[16:04:07] <@mst> much more reasonable than the ugly shit you've done instead
[16:04:18] <@mst> now you're encouraging people to make more similarly broken dists
[16:05:04] <@oalders> ok, so we can agree that it's ugly. what's the best thing to do moving forward?
[16:05:36] <@mst> back out the fix, add a hard-coded exception for common-sense, add a warning on the page that it's only indexed via a hard-coded hack to encourage people to complain about it
[16:05:55] <@mst> which is what I said was the fall back plan last time we discussed this
[16:06:36] <@mst> ether: right, but sorting PAUSE requires the ability to show that the change is correct
[16:07:00] <@mst> which requires other things to consistently do it the right way