Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2017-05-16

| Channels | #perl6-toolchain index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:31 lizmat_ joined #perl6-toolchain
00:56 ugexe nine ranguard: modules uploaded to cpan are installable by zef using the --cpan flag (or just setting enabled : 1 in the config for cpan)
00:59 ugexe https://github.com/ugexe/Perl6-ecosystems/blob/master/cpan.json is the index regenerated every 30 or so minutes.
01:00 ugexe using that cpan rsync command nine posted
01:13 ugexe [Coke]: I'm betting most of that time is in 1) doing an auto-update of the ecosystem list and 2) parsing json for 800+ or whatever distributions
01:14 ugexe I'm too tired to figure out which one it is exactly, but if its the auto-update that is easy enough to fix
01:15 ugexe relevant code is https://github.com/ugexe/zef/blob/master/lib/Zef/Repository/Ecosystems.pm6#L30 (and also #L18)
01:16 ugexe however - remember that not all sources of modules will give you an entire list. Consider `zef --metacpan --/p6c --/cpan --/cached install Foo::Bar`
01:16 ugexe metacpan would be the only source of modules, and those must be queried for (instead of parsing out of a big list)
01:19 ugexe so such a feature would just need to make sure its fine when a recommendation manager doesn't give it what it wants
01:21 ugexe ranguard: may not want to shut it off just yet. its still helpful to have a bunch of modules available through cpan for my testing (without you there is... 3?)
01:23 ugexe but again... thanks to your work zef was able to be ready for all this cpan stuff as soon as authors could use it normally
01:49 ilbot3 joined #perl6-toolchain
01:49 Topic for #perl6-toolchain is now Fire is step THREE! | https://github.com/perl6/toolchain-bikeshed | Channel logs: http://irclog.perlgeek.de/perl6-toolchain/today | useful prior art: https://metacpan.org/pod/CPAN::Meta::Spec
05:42 domidumont joined #perl6-toolchain
05:51 domidumont joined #perl6-toolchain
07:43 domidumont joined #perl6-toolchain
07:46 domidumont1 joined #perl6-toolchain
08:05 ranguard ugexe: nine: it's easy to leave running, just don't want authors relying on it instead of doing it correctly themselves... balancing act :)
08:06 ranguard could zef also default to using cpan and have flags for other sources?
13:27 ugexe ranguard: yep, and it can default to enabling everything as well so that dependencies from modules fetched from cpan can be fulfilled by the p6 ecosystem if they aren't on cpan
13:29 ugexe i want to get the zef reporter branch merged in before i upload zef to cpan, and I plan on making cpan the default when I do that
13:29 ugexe so probably this weekend
13:41 ranguard ugexe++
13:43 nine Excellent :)
13:44 ranguard FYI backpan.metacpan.org exists (actually same as cpan.metacpan.org but with a name that tells you it's a backpan)
13:45 ranguard all served via Fastly CDN (which is the same as www.cpan.org but that's not a backpan AFAIK)
13:45 nine Aaaaaaaaand that ^^^ is where we should get the cpan.json file hosted
13:46 ranguard nine: ideally PAUSE would generate is and add is as one of it's index files - so everyone gets it - but I don't know the details of how any of that works
13:47 ugexe true, we are still screwed if github goes down (unless the user already has a copy of the index)
13:47 ranguard I guess P6 won't have a concept of permissions (as anyone can upload what ever they like) ?
13:48 * ranguard still doesn't like the AUTH thing, but then that's just me
13:48 ugexe ranguard: thats probably something for next year. cpan *could* permission things by look at the `"auth" : "github:ugexe"` field. So for instance: cpan could refuse to index anything that isn't `cpan:VERIFIABLE-ID`
13:48 nine Ooooh, that may have been the reason for auth being somehow tied to the content storage.
13:49 ugexe but as a dumb storage it could still "store" it
13:50 ugexe alternatively, and especially so with the mojo pause work I think I heard about, it could use oauth with known sources (e.g. github) to verify identities
13:51 ugexe tl;dr - 1) accept everything 2) only index modules with auths you can verify
13:53 ugexe at the very least: if someone uploads something with `"auth" : "cpan:$whatever"` it should be rejected unless it really is that author uploading it
13:53 nine At some point (and that's probably sooner rather than later) we're gonna need authentication for uploads. With the manually maintained ecosystem list, we've had that. With everybody being able to upload to CPAN, wo don't have it anymore.
13:54 ugexe you have to be logged in to pause to upload i thought
13:54 nine To upload to your own directory, yes. But in that directory you can upload whatever (meta data) you want
13:54 nine Well and what Andreas won't delete soon after :)
13:55 ugexe right, but that should be ok
13:56 ugexe indexing is the "recommendation manager" part of this
13:56 ugexe as content storage it doesn't matter what they upload
13:56 nine True. Our index can still refuse to index an :auth<cpan:whatever> that doesn't match the directory
13:57 ugexe yeah. and if cpan ever generates such an index it could then act as the deciding authority there
13:57 nine OAuth in PAUSE would be tricky. The webinterface only allows uploading into an INCOMING directory. The pause daemon is what extracts the META info from the tar ball and moves both into the author's directory.
14:01 ranguard ugexe: I could clone https://github.com/ugexe/Perl6-ecosystems/ and then host it on p6eco.metacpan.org if you liked
14:01 ugexe ranguard: thats a good start for sure
14:01 ranguard though you should move the repo to a GH org and give more people access to it - and include the code to build it :)
14:02 ugexe this is some of the shittiest code i've ever written though lol
14:02 ranguard ugexe: I don't care :) - if you won't publish it, then no one should use cpan.json :)
14:03 ranguard JFDI++
14:04 ugexe https://github.com/ugexe/Perl6-App--ecogen (it does exists though) still need to push the latest changes I made from tps however
14:04 ranguard good good :)
14:05 ranguard I'll get some time Sat PM to do this
14:05 ranguard doh, perl6 - was going to suggest I run it, but I currently only support p6 with carton :)
14:05 ranguard umm, p5 with carton even
14:08 ugexe what do you mean?
14:09 ranguard I have puppet config for running plack based websites and code using Carton's cpanfile.snapshot
14:10 ranguard e.g. https://github.com/metacpan/metacpan-grep-front-end/blob/master/cpanfile.snapshot - which is then installed for just the project
14:10 ranguard but I don't have anything for p6 so not going to offer to do that... just yet :)
14:11 ranguard ugexe: https://metacpan.org/pod/Carton being the carton I'm talking about (sorry never know which p6 people also know p5 tools)
14:17 ugexe oh i'm familiar with the p5 tools (and carton). i just didn't know how that tied into a cpan index file... I suppose it uses a cpanfile.snapshot for the index?
14:22 * ranguard is obviously being confusing soz... I'll rephrase... I have puppet code that knows how to install stuff with Carton
14:23 ranguard s/stuff/dependencies/ - ON the metacpan servers
14:23 ranguard this is for hosting projects we run
14:23 ranguard and I don't have any puppet code to do anything with p6
14:27 * nine has puppet code for installing perl6 (which is kinda easy thanks to openSUSE RPMs) and Perl 6 code run by puppet (setting up all our production VMs)
14:30 ranguard nine: woo - well some time a PR to https://github.com/metacpan/metacpan-puppet might be in order then - though we are on Debian currently ;)
14:30 ranguard but we'll get the basics running first!
14:38 perlpilot joined #perl6-toolchain
15:00 ugexe ranguard: fwiw App::ecogen has no dependencies
15:01 ugexe other than having git and wget installed
16:50 ugexe also my really bad code for App::ecogen I can take out once nine's pause pr is accepted
16:50 ugexe (guessing the archive file name)
16:51 ugexe pause says only .tar.gz or .zip is supported but Text::CSV was uploaded as .tgz so I had to do some ugly stuff
17:23 samcv joined #perl6-toolchain
17:46 ranguard ahh
18:29 japhb joined #perl6-toolchain
18:49 domidumont joined #perl6-toolchain
19:33 domidumont joined #perl6-toolchain

| Channels | #perl6-toolchain index | Today | | Search | Google Search | Plain-Text | summary