Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2016-10-07

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

All times shown according to UTC.

Time Nick Message
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:36 domidumont joined #perl6-toolchain
05:41 domidumont joined #perl6-toolchain
06:13 domidumont joined #perl6-toolchain
06:19 domidumont joined #perl6-toolchain
12:06 tbrowder hi, anyone awake
12:07 nine yep
12:08 [Coke] nope
12:09 tbrowder I just put my new module into the modules list and notice all (at least the last on the list) have the url to the master branch. Shouldn't the url be to a specific commit?
12:09 [Coke] modules ecosystem doesn't really deal with that well yet.
12:09 [Coke] IIRC
12:09 [Coke] I think most things are pointing to maste,r aye.
12:10 nine That's sooo much in need of attention
12:10 tbrowder can i help?
12:12 tbrowder maybe just experiment with the url?
12:16 tbrowder bye
12:16 tbrowder left #perl6-toolchain
12:25 tbrowder joined #perl6-toolchain
14:16 ugexe git clone every repo, grep for changes to meta.json "version" field incrementing, create duplicate meta but replacing source-url with whatever points at that commit
14:22 hoelzro joined #perl6-toolchain
14:22 ugexe joined #perl6-toolchain
14:57 FROGGS joined #perl6-toolchain
15:15 tbrowder .tell ugexe sounds good, i think that code is in the perl6/ecosystem repo?
16:36 domidumont joined #perl6-toolchain
16:40 domidumont joined #perl6-toolchain
16:44 tbrowder no, modules...
16:59 ugexe you have to clone them yourself
16:59 ugexe and determien which commits point to which versions yourself
18:57 Cheery_ joined #perl6-toolchain
18:57 tony-o joined #perl6-toolchain
18:57 b2gills joined #perl6-toolchain
19:00 ribasushi joined #perl6-toolchain
19:08 Cheery joined #perl6-toolchain
19:08 hoelzro joined #perl6-toolchain
19:08 llfourn joined #perl6-toolchain
19:19 TimToady joined #perl6-toolchain
19:19 ugexe joined #perl6-toolchain
19:19 lizmat joined #perl6-toolchain
19:30 tbrowder joined #perl6-toolchain
19:33 stevieb joined #perl6-toolchain
19:34 stmuk_ joined #perl6-toolchain
19:47 nine joined #perl6-toolchain
19:47 mst joined #perl6-toolchain
19:47 DrForr joined #perl6-toolchain
19:47 sivoais joined #perl6-toolchain
19:48 mst joined #perl6-toolchain
19:48 pnu_ joined #perl6-toolchain
20:07 sivoais joined #perl6-toolchain
20:08 ranguard_ joined #perl6-toolchain
20:08 jdv79_ joined #perl6-toolchain
20:09 camelia joined #perl6-toolchain
20:10 tbrowder what about adding an attribute in the META file pointing to the commit for a release? make it a requirement for entries in the ecosystem?
20:11 tbrowder then the build tools should be able to do the right thing
20:14 moritz or we could, like, make actual releases
20:14 moritz create tarballs and the likes
20:14 moritz github isn't a CDN, and we should strive not to abuse it as one
20:17 tbrowder roger that! sounds like a good idea. and make some new conventions on providing appropriate references in the META file?
20:18 sivoais joined #perl6-toolchain
20:18 tbrowder then use downloads instead of clones in the build tools?
20:18 moritz aye
20:19 moritz I see two possible approaches
20:19 moritz the first is to add each release to the ecosystem
20:19 moritz the second is to provide another level of indirection
20:20 moritz that is, the ecosystem has an URL to a file that lists all releases, including version name and URL
20:20 moritz not a single META file for the whole distribution
20:20 ugexe you can already use downloads instead of clones if your source-url points at one
20:21 JimmyZ_ joined #perl6-toolchain
20:21 moritz_ joined #perl6-toolchain
20:22 tbrowder that sounds  good to me. ecosys would, say, have latest release for everything but could pull a specific version if requested...
20:22 [Coke] joined #perl6-toolchain
20:22 sjn joined #perl6-toolchain
20:23 tbrowder but isn't that for travis at the moment?
20:24 tbrowder if so, that would confuse development versions wouldn't it?
20:24 ugexe `zef --/p6c --/cached --cpan install "CSV::Parser:ver<1.*>"` downloads a .tar.gz from cpan if it exists
20:26 moritz_ tbrowder: I don't see the confusion. Care to elaborate?
20:28 tbrowder well, from the user perspective i expect the latest release from zef/panda by default; but from a dev working on a follow-on release i expect travis to use my master branch by default
20:29 moritz_ tbrowder: travis is under your control as a developer, so nothing stops you from using travis on your repo
20:31 tbrowder but that's what my confusion is: without som other conventions or some user-scripting, how do the two systems differentiate between an official release and a development branch?
20:32 tbrowder don't they both use the meta file?
20:33 moritz_ tbrowder: for an official release, you as the author create a tarball, upload it to a hosting service of your choice, and add the version and URL to the meta file that's know to the ecosystem
20:33 moritz_ tbrowder: this might be the meta file in your github repo, or a static file you put somewhere on the internet
20:34 tbrowder okay, but that doesn't work yet does it?
20:34 moritz_ it doesn't, right
20:35 moritz_ that's what I thought your comment about extending the META file was about
20:35 ugexe how does that not work?
20:36 ugexe travis doesnt care what url you point your META at
20:36 moritz_ ugexe: how can I tell the ecosystem about multiple released versions right now?
20:38 pnu_ joined #perl6-toolchain
20:38 nine joined #perl6-toolchain
20:38 ribasushi joined #perl6-toolchain
20:39 tbrowder at the moment it seems that the module list just points to the master branch and its existing meta info; unless i use a dev branch,  then how are the two commits resolved?
20:39 DrForr joined #perl6-toolchain
20:39 stevieb joined #perl6-toolchain
20:39 TimToady joined #perl6-toolchain
20:39 llfourn joined #perl6-toolchain
20:39 b2gills joined #perl6-toolchain
20:39 lizmat joined #perl6-toolchain
20:39 tony-o joined #perl6-toolchain
20:39 camelia joined #perl6-toolchain
20:39 mst joined #perl6-toolchain
20:39 stmuk_ joined #perl6-toolchain
20:42 tbrowder moritz: that's right. i know we have lots of ways to work development but am currently constrained to stay off the master branch if i don't want to interfere with a release (if i understand all)
20:44 ugexe moritz_: link to specific meta.info file for each version you wish to release, with the source-url pointing at the proper location for that version
20:44 ugexe for instance: https://github.com/sergot/http-useragent/blob/8cd46219c1d8bbc170a63b2cebea9369963c18e6/META.info
20:44 ugexe however the latest version is 1.1.22
20:44 ugexe https://github.com/sergot/http-useragent/blob/f457e478bf6fc398876c3a7c2b81d1c5116057c5/META.info
20:45 moritz_ ugexe: so multile entries in the ecosystem?
20:45 ugexe i just mean its possible now, not that its a good solution
20:47 sivoais joined #perl6-toolchain
20:50 moritz ugexe: yes, understood
20:50 moritz IMHO it's a reasonable first step
20:50 moritz like, if you have a new version of a p5 module, you also upload it to a central resource
20:51 moritz which is analog to adding a new line to the ecosystem file
20:53 tbrowder ugexe: please explain, with the current module list format, how can that be done?
20:57 tbrowder unless the build tools are modified; in that case, couldn't we just point to a tarball as moritz suggested?
20:58 ugexe above there are 2 links representing different versions of http::useragent. the source-url for each of these can point anywhere, including github .tar.gz releases
21:02 ugexe what i think you're asking for is something to just automatically guess the resource uri from a specific commit, and thats going to be different for different git providers as well as some people may want it to automatically link to git releases themselves
21:06 moritz no, I'm not asking for that
21:06 ugexe no you
21:06 ugexe not you
21:08 ugexe if you want to do this now you would 1) bump the version in your meta 2) push to github 3) cut a release 4) update the meta with the github release .tar.gz url 5) add your http://github.com/user/repo/blob/afjalfkj32oijoijasdf/META6.json to the ecosystem list
21:09 tbrowder ugex: nor am i. i agreed with moritz, just think that docs and rules will need to specify the desired links and maybe other conventions--not too onerous.
21:10 tbrowder ugexe: to be clear, if i do just as you say the tools do not need to change, i can do that now?
21:11 ugexe tbrowder: correct. panda wont but zef will, because panda can only clone git repos (not fetch over http or extract archives)
21:12 tbrowder um, sorry i type without reading yr words...
21:13 tbrowder ugexe: okay, next question: whose zef, the user or the module server?
21:14 ugexe the user
21:17 tbrowder ugexe: that's probably a giant part of my misunderstanding: when i locally do a zef/panda update, what is happening? do both read the module list and update local data?
21:18 ugexe they both just download a single JSON file that contains the META info from all urls in the ecosystem
21:18 tbrowder given the recent survey isn't it time to retire panda? otherwise use of the tar ball references would confuse users during some interim period
21:20 tbrowder or at least modify panda to say it doesn't recognize the format and tell the user to change to zef.
21:20 tbrowder a
21:22 tbrowder all right, i'm going to try the new method on my module!
21:22 ugexe https://gist.github.com/ugexe/1b3b83e5759df3e87fa904b2b22013de This is an example of what the ecosystem would generate if you follow the steps above (it wont generate the _ecosystem-list-entry-url field tho, thats just what you would enter into th eecosystem list)
21:25 ugexe a CLI tool could be made to do all those steps fairly easily i would imagine
21:25 tbrowder ugexe: that's helpful--thank!
21:25 tbrowder s/thank/thanks/

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