Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2016-09-28

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

All times shown according to UTC.

Time Nick Message
00:45 ribasushi joined #perl6-toolchain
01:48 ilbot3 joined #perl6-toolchain
01:48 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:49 domidumont joined #perl6-toolchain
05:52 domidumont joined #perl6-toolchain
07:57 ranguard ugexe: yea, I've got exceptions for that in my code
07:58 ranguard FYI https://github.com/perl6modules/perl6-module-uploader/blob/master/upload_tracker.json lists the sha of the git repo at the time I made the version - don't think you'd actually want to use it for anything, but thought I'd mention it
08:03 ranguard I guess the question is should your tooling around CPAN care what's in META.list or just what's on CPAN
08:06 ranguard and if it's just what is on CPAN am I creating the .tar.gz files in the way that's needed
08:54 tadzik joined #perl6-toolchain
09:03 stmuk_ ugexe: I don't think that "Foo" example even works on http://modules.perl6.org/ anyway -- it's only displaying your version and not froggs as well
10:04 tadzik joined #perl6-toolchain
10:30 llfourn joined #perl6-toolchain
13:03 domidumont joined #perl6-toolchain
14:15 ugexe stmuk_: it doesnt work on modules.perl6.org because it too is broken
14:17 ugexe for instance: `perl6 -Ilib bin/zef -v install "Foo:auth<github:ugexe>"` fetches that exact version of Foo
14:18 ugexe ranguard: perl6 module tooling is meant to care about multiple content storages
14:19 ugexe that means My::Module:auth<github:ugexe>, when transfered to CPAN, still represents the exact same module. You're using a checksum but we use the full name as the unique identifier (name, version, auth, api)
14:20 ugexe so i should be able to request My::Module:auth<github:ugexe> from CPAN
14:21 ugexe the question is then how do you apply this behavior with CPAN's current expectation that the uploading AUTHOR is the auth (which is not true in the case of github:ugexe)
14:23 ugexe :auth<github:ugexe> doesn't mean download it from github or to make sure user `ugexe` on `github` has such a repo
14:24 ugexe an easier format to think of is :auth<my@email.com> - its just an identifier of where an author claims a distribution originated so when looking at distributions you can tell which ones are the same
14:55 ugexe stmuk_: do you have access to the modules.perl6.org database? could you check if those distributions exist in the database itself? Maybe they just get skipped during page rendering
14:58 ranguard ugexe: how do you tell what unique identifier (name, version, auth, api) actually matches to on GH?
14:59 ranguard I mean without relying on the author to tag each of their releases?
15:00 ranguard e.g. Today I have META.info with version 1.0 - Tomorrow I commit an update to the code but don't change the version
15:00 ranguard someone downloading today is going to get different code to the person who downloads tomorrow, even if they think the version number is the same
15:00 ranguard eek, just seen the time, go to run!
15:01 ugexe ranguard: right. currently we do nothing - if an author is doing that type of stuff people will quit using their code which has been enough deterrent for the time being
15:03 ugexe rakudo itself does the same thing - a modules id (for ::Installation) is sha1("My::Module:ver<xxx>:auth<xxx>:api<>")
15:04 ugexe so `My::Module:ver<xxx>:auth<xxx>:api<>` is *intended* to represent something immutable (but in practice is easily broken as you point out - thats was version "*" is for really)
15:05 nine ranguard: the solution will be to not just pull master from github for installation. That was nice as a very first hack but is absolutely not useful longterm.
15:35 stmuk_ I imagine the actual CPAN publishing process is likely to be "push" rather than "pull"
15:36 stmuk_ ugexe: I don't its zoffix's baby
15:48 stmuk_ actually http://modules.perl6.org/update.log
15:59 stmuk_ so mostly ppl develop on github/gitlab whatever and occasionally publish a release onto CPAN
16:35 ugexe the current github stuff isn't necessarily meant to stick around. but its nice to have alongside CPAN initially because it forces us to keep theoretical future darkpan style content storages in mind
17:08 ranguard nine / stmuk_ / ugexe - yea, i really don't want to be doing these ipload long term
17:09 ranguard would be great to get p6 people to upload to CPAN themselves
17:09 ranguard s/ipload/uploads/
17:10 ranguard but I get the tooling probably needs to be built to make that easy and useful first
17:12 stmuk_ yes I think this is a good first step
17:16 FROGGS joined #perl6-toolchain
17:20 nine ranguard: do you just upload via PAUSE?
17:34 domidumont joined #perl6-toolchain
18:20 ranguard nine: yep
18:22 ranguard the 'magic' is https://github.com/perl6modules/perl6-module-uploader/blob/master/publish_to_cpan.pl#L42
18:22 ranguard when uploading use the 'subdir' of 'Perl6'
18:23 ranguard but other than that it's the same as any other upload to PAUSE
18:25 ranguard the PAUSE web UI lets you do it as well: https://www.evernote.com/shard/s54/sh/f43b1eee-df9c-4efb-9311-fbdf7d57e92d/7d603bd13425a96bd45d1cd4695605aa
18:25 ranguard though wow that could be cleaner! - I'll try find out where the HTML is and fix that sometime
19:32 patrickz joined #perl6-toolchain

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