Perl 6 - the future is here, just unevenly distributed

IRC log for #metacpan, 2015-01-14

| Channels | #metacpan index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:46 vroom joined #metacpan
02:13 * rwstauner wonders what happened to dipsy
02:23 vroom joined #metacpan
02:33 klapperl joined #metacpan
02:53 rwstauner is blogs.perl.org hideously broken?
02:54 rwstauner first i can't login, then i can't reset my pw, then i do reset my pw and login, and i can't comment, then i sign out, now i can't sign in again
02:56 rwstauner or does it just not like me?
02:58 rwstauner nm, not just me: https://github.com/blogs-perl-org/blogs.perl.org/issues/291
03:02 vroom joined #metacpan
03:16 haarg i'm able to comment with my login
03:17 rwstauner oh sure, rub it in
03:25 oalders i ran into the same thing.  it's a real mess.  i wish they would make it obvious that logins are kind of broken
03:39 vroom joined #metacpan
04:57 vroom joined #metacpan
05:18 theory joined #metacpan
05:18 theory Okay, where is Pod-Simple? http://api.metacpan.org/v0/release/Pod-Simple
05:18 theory https://metacpan.org/release/Pod-Simple
05:27 haarg https://metacpan.org/source/DWHEELER/Pod-Simple-3.29 good question
05:28 haarg http://api.metacpan.org/source/DWHEELER/Pod-Simple-3.29 for comparison
05:29 theory No lib directory??
05:29 theory haarg: FWIW, I posted an issue: https://github.com/CPAN-API/cpan-api/issues/377
05:30 haarg https://metacpan.org/source/DWHEELER/Pod-Simple-3.29/lib there's also this which is fun
06:51 vroom joined #metacpan
08:44 andreeap joined #metacpan
09:02 neilb joined #metacpan
09:31 neilb joined #metacpan
09:37 oiami joined #metacpan
09:50 sue joined #metacpan
10:10 heytitle joined #metacpan
10:31 andreeap I did a pull request on a new module instead of import_tarball in Release.pm and it fails some tests https://github.com/CPAN-API/cpan-api/pull/378  (t/fakecpan.t it was failing before doing any changes on my local vm) but the other is a test_relase,which makes sense, but I don't understand where it comes from exactly
11:40 alnewkirk joined #metacpan
12:42 vroom joined #metacpan
13:49 vroom joined #metacpan
14:05 vroom left #metacpan
14:34 dolmen joined #metacpan
14:34 perlancar joined #metacpan
14:35 perlancar hi guys, i'm developing App::lcpan which is indexes distribution metadata (META.{json.yml} but also Makefile.PL and Build.PL if the former are absent)
14:36 perlancar i'm wondering if there are parts of metacpan which i can reuse, so i can remove the code which extracts metadata
14:36 perlancar (btw, referred to here from #toolchain)
14:51 ranguard perlancar: yes would be the answer - I even think there was a ticket to create a Metacpan::Meta or something, but you'll have to wait for
14:51 ranguard oalders: ^^
14:51 ranguard rwstauner: ^^ ?
14:55 haarg CPAN::DistnameInfo Module::Metadata Parse::PMFile
14:56 oalders Icpan is like the reverse of iCPAN
15:00 rwstauner there's also Dist::Metadata, the purpose of which is largely to create a Meta file when there isn't one
15:01 rwstauner I've also seen Dist::Data which uses a bunch of those, but i'm not sure what it adds (never looked)
15:01 rwstauner Dist::Metadata is basically a wrapper around using Module::Metadata on a whole dist
15:04 dolmen oalders, seems your font make you mistake 'I' (uppercase "i") with 'l' (lowercase "L")
15:05 rwstauner don't be so quick to blame the font... it might just be his eyes
15:05 oalders dolmen: yeah, they basically look the same to me
15:06 oalders what i wouldn't give to have younger eyes...
15:06 oalders i still think we need to break out a bunch of the logic in cpan-api and put it on CPAN
15:06 rwstauner perlancar: there's also the Pinto suite of modules, though i'm not sure exactly what they all do either (other than build a local cpan/darkpan)
15:07 rwstauner indeed
15:08 oalders perlancar: you can always poke around here for fun https://github.com/CPAN-API/cpan-api/blob/master/lib/MetaCPAN/Script/Release.pm
15:09 perlancar thanks for the pointers, bah so many links/modules to check :p
15:09 rwstauner yeah
15:09 perlancar i think what i need is the code that extracts dist metadata from Makefile.PL or Build.PL
15:09 ranguard if only there was one true module to rule them all :)
15:09 rwstauner darn that Tim Towtdi
15:10 perlancar when META.* is not available
15:10 perlancar does metacpan does that?
15:10 rwstauner no
15:10 perlancar because when a release file has META.*, it's just the matter of decoding json/yaml and getting the bits
15:10 rwstauner and actually i'm not sure that any of the other ones do either
15:11 perlancar is it worth doing, btw?
15:11 rwstauner cpanminus has some code for parsing deps out of the Makefile
15:11 rwstauner which you might also be able to get out of Dist::Requires
15:11 perlancar because last time i check, there's only around 70% of releases on my minicpan with META.*
15:11 rwstauner what other info are you looking for out of there?
15:11 perlancar rwstauner, ic
15:11 perlancar basically dist name, abstract, and deps/prereqs
15:12 perlancar so i can query deps/reverse deps locally
15:12 perlancar instead of going to metacpan.org :)
15:12 rwstauner ok.  look at Dist::Requires
15:12 rwstauner i believe that was built from the cpanminus code
15:12 perlancar will do
15:15 perlancar ok Dist::Requires looks like what i want/need, thanks!
15:16 ribasushi perlancar: you can only trust META.* IFF it contains dynamic_config: 0
15:16 ribasushi perlancar: for everything else (dynamic_config: 1 or unspecified dynamic_config) the MYMETA may contain more stuff than the static META
15:16 perlancar ic, so when it doesn't, what should i do?
15:17 ribasushi perlancar: there is no way to know unless you run the configurator
15:17 perlancar are we talking about META.* or MYMETA.* here? i'm a bit confused
15:18 ribasushi the "MY" in MYMETA means "meta pertaining to this install we are doing right now"
15:18 ribasushi basically the mechanism is as follows:
15:18 ribasushi read META => if it contains dynamic_config: 0 - you are set
15:18 ribasushi otherwise - check if it contains configure_requires (the *only* thing in META.* you can trust) - if there are any - install them
15:18 ribasushi run Makefile.PL / Build.PL
15:19 ribasushi read the resulting MYMETA.* - install the final deps
15:19 ribasushi make / make test / make install
15:19 perlancar (btw, please do note that my goal is just recording deps information to sqlite database to query locally)
15:20 ribasushi perlancar: right - it depends how much accuracy you require
15:20 perlancar what does metacpan do when META contains dynamic config?
15:20 ribasushi as long as you understand that META is not (and can not) be 100% correct - you are fine
15:20 ribasushi perlancar: sec, let me show you a real example
15:21 perlancar ic, i think i'm setting on 'good enough', 'most of the time' :)
15:21 ribasushi perlancar: https://metacpan.org/pod/B::Hooks::EndOfScope
15:21 ribasushi look at dependencies on the right
15:21 ribasushi it says "these 3 for sure" "and possibly others"
15:21 ribasushi perlancar: otoh this https://metacpan.org/pod/distribution/DBIx-Class/lib/DBIx/Class.pod
15:21 ribasushi perlancar: says "these for sure"
15:21 ribasushi "and that's it"
15:22 perlancar i see, so that's what the "possibly others" wording is all about
15:22 Ptolemarch joined #metacpan
15:22 ribasushi precisely - metacpan can't know
15:22 ribasushi perlancar: also (tangentially) - this is what you need to know about the types of prereqs: https://metacpan.org/pod/release/DAGOLDEN/CPAN-Meta-2.143240/lib/CPAN/Meta/Spec.pm#Phases
15:23 perlancar btw, is this reason metacpan doesn't do Makefile.PL/Build.PL either?
15:23 ribasushi (just the two tables)
15:23 ribasushi every cpan client respects this (otherwise nothing works)
15:23 perlancar if metacpan runs 'perl Makefile.PL' for a release and the resulting MYMETA.* also contains dynamic_config: 0, wouldn't that be sufficient?
15:24 ribasushi perlancar: MYMETA is by definition "trustworthy" - it doesn't specify dynamic_config at all
15:24 ribasushi MYMETA == the final prereqs as seen on this machine
15:24 ribasushi perlancar: the reason metacpan doesn't run them is... a good question
15:24 perlancar ic, so that wouldn't be useful for metacpan?
15:24 ribasushi oalders: ^^ (last line)
15:25 perlancar maybe App::lcpan shouldn't do Makefile.PL/Build.PL too then
15:25 perlancar i'd like for the results to be similar to metacpan
15:25 ribasushi perlancar: it depends what App::lcpan is trying to achieve ( what is its purpose? )
15:26 perlancar it's like metacpan offline (but only for listing modules, authors, dists, and deps/reverse deps; for now)
15:26 perlancar basically querying deps and rdeps is the reason i created it
15:26 ribasushi perlancar: then implement the concept of "probably others" and move on
15:27 ribasushi perlancar: an unwritten agreement is that if META.* specifies something - it is for sure required - a MYMETA *might* add extra stuff
15:27 ribasushi some distributions break this promise, but very very few
15:27 perlancar btw could you give an example of dynamic config?
15:28 perlancar and why would one do that dynamic thing
15:28 ribasushi perlancar: I just did: https://metacpan.org/pod/B::Hooks::EndOfScope
15:28 ribasushi perlancar: read its Makefile
15:28 ribasushi perlancar: https://metacpan.org/source/ETHER/B-Hooks-EndOfScope-0.13/Makefile.PL#L21
15:29 oalders perlancar: useful, yes, but we'd need to sandbox everything to do it
15:29 perlancar ic
15:29 oalders since we'd be running untrusted code
15:29 oalders cpancover already does this
15:29 oalders there was some discussion of using cpancover to get some of this information
15:29 oalders but no firm conclusing and, more importantly, no volunteers
15:29 oalders *conclusion
15:30 ribasushi perlancar <--- well volunteered :D
15:30 oalders :)
15:30 perlancar :)
15:36 neilb joined #metacpan
15:39 neilb_ joined #metacpan
16:02 bjakubski joined #metacpan
16:30 theory joined #metacpan
16:46 dboehmer joined #metacpan
16:46 dboehmer Hi
16:46 dboehmer should it be possible to connect multiple identities to metaCPAN, like github and PAUSE?
16:47 dboehmer this is what I had expected but it doesn't work for me
16:47 rwstauner yes
16:48 rwstauner if you login with any of the accounts, then you should be able to connect your pause account as well
16:48 rwstauner if you're getting one or the other, try this: https://metacpan.org/about/faq#doyouhavemultipleaccounts
16:49 neilb oalders: you wanna create a repo and give me permission? Then I can add the method I need right now, create a TODO.md for the other methods I want, push it to github and repo then assign it to someone on te PR challenge (don’t tell anyone)
16:49 dboehmer rwstauner: I'm a bit confused because I am not quite sure what a metaCPAN account actually is. i see no user ID. i am not quite sure if I have two of them
16:50 rwstauner ok... do you know what 3rd party accounts you've used to login to metacpan with in the past?
16:51 dboehmer rwstauner: to the my PAUSE connect at all I already connected and disconnected several times. As far as I understood it work's like this: connecting github disconnects PAUSE. connecting PAUSE only works when disconnecting github by hand before
16:51 oalders neilb: sure. you can probably assign it to me since i'm getting only radio silence on my challenge
16:51 oalders neilb: metacpan-helper ?
16:52 dboehmer rwstauner: i am 100% sure i have only 1 github account I might have used. I once created a PAUSE account for my prior employer that might be connected to github somehow. I don't know whether I used metacpan back in ~2011
16:52 neilb That works for me, but sawyer and mickey preferred MetaCPAN::Client::Utils. But it’s an agent, so UtilityHelper would be a better name. You decide and let me know :-)
16:53 oalders UtilityHelper hurts my ears
16:53 neilb Yeah :-)
16:53 rwstauner dboehmer: try this: go to account/identities and disconnect everything, then go to account again and "log out" if that link is still there
16:54 rwstauner then log in with github, then connect pause
16:54 rwstauner see if that helps
16:54 dboehmer rwstauner: ok, sounds promising
16:55 rwstauner i did that the other day :)
16:55 oalders neilb: check your email, guv
16:56 vroom joined #metacpan
16:58 Ptolemarch joined #metacpan
16:58 dboehmer rwstauner: github is reconnected already. now the menu lists "verify account" which it didn't do before
16:58 dboehmer rwstauner: may i click the pause link on my smartphone? i don't have access to this mail account on the desktop
16:59 dboehmer rwstauner: i went all safe and forwarded the e-mail to myself. it works! now i have both github and pause connected
16:59 rwstauner oh good
16:59 dboehmer let's see whether favorites work out now
16:59 rwstauner :)
16:59 dboehmer great, one can even view my favorites. great!
17:00 dboehmer rwstauner: thank you for your assistance
17:00 rwstauner np
17:01 dboehmer can you summerize what a metacpan account actually is? i think it's not an independent profile. it just keeps information about known users from github or pause. is that right? then what does it if all connections are gone?
17:02 ribasushi it *is* an independent profile
17:02 neilb oalders: got it, thanks!
17:02 ribasushi it just doesn't have independent auth
17:03 dboehmer ribasushi: is it possible I still have old accounts flying around after reconnecting both github and pause?
17:03 ribasushi I am not 100% sure, but the connectors are unique ids, hence that shouldn't be the case
17:03 ribasushi someone should correct me ^^
17:03 dboehmer what an interesting infrastructure
17:04 ribasushi dboehmer: it's more common than you think
17:05 dboehmer ribasushi: I also got the feeling it's only a barrier in my mind. hopefully I'll get the whole thing the other day
17:29 ether ribasushi: ugh, let's not use B-Hooks-EndofScope as an example of anything.. as you say, that Makefile.PL is liquid horror :)
17:30 * ether will be significantly cleaning it up RealSoonNow (accelerated by the fact that some poor schmuck was assigned this dist in the PR challenge)
17:30 ribasushi ether: the makefile isn't, the dzil setup is
17:31 ribasushi (the dzil setup that produces the makefile)
17:32 ether FWIW, I think running the Makefile.PL to get index data is a horrible horrible idea
17:32 ether there is a reason why META.* are static data files and not executable code
17:32 theory joined #metacpan
17:33 ribasushi ether: the question was about dependencies...
17:36 ribasushi ether: when you're done with the *entire* backlog let me know if you disagree with anything I said ;)
18:17 haarg i don't like the idea of running Makefile.PL to get prereqs
18:18 haarg dynamic_config in MYMETA is always 0
18:18 haarg because at that point the dependencies are accurate
18:19 ribasushi iirc M::B didn't do that, I may be wrong
18:29 mst haarg: I thought dynamic_config also means "you can copy files from lib/, no make phase required"
18:30 haarg nope
18:31 ether all it means is that the prereqs can be taken as final
18:31 ribasushi mst: where did that come from - perhaps a doc can be updated...?
18:31 haarg i discussed a static install option with leont at lyon
18:31 mst huh
18:32 mst I could've sworn the original dynamic_config = 0 meant "no need to run the configure script at all"
18:32 haarg i think it would be a good thing to have going forward.  basically a "install as if it was using Module::Build::Tiny"
18:32 mst which implies that the make/test/install phases would have to be done by the client
18:32 mst the spec says "This field explicitly does not indicate whether installation may be safely performed without using a Makefile or Build file" so clearly I'm on crack
18:33 mst but, yeah, dynamic_install 0 would be awesome
18:33 ether I suspect we might be able to read it that way (no configure step required at all) *if* there was meta-provides information available and we could see that all .pm files that were provided came from corresponding files in the dist...
18:33 ether hmm, no, there still could be a PL_FILES entry in Mkaefile.PL
18:34 ether +1 to dynamic_install => 0
18:34 * ether puts on Berlin list
18:35 ether do dists using Module::Build::Tiny automatically imply dynamic_install => 0?  e.g. MBT doesn't have a PL_FILES equivalent
18:51 mrhorner joined #metacpan
18:59 Ptolemarch joined #metacpan
19:19 Ptolemarch joined #metacpan
22:23 Ptolemarch joined #metacpan
23:40 vroom joined #metacpan

| Channels | #metacpan index | Today | | Search | Google Search | Plain-Text | summary