21:00:02 <ignatenkobrain> #startmeeting Rust SIG (2017-03-08)
21:00:02 <zodbot> Meeting started Wed Mar  8 21:00:02 2017 UTC.  The chair is ignatenkobrain. Information about MeetBot at http://wiki.debian.org/MeetBot.
21:00:02 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
21:00:02 <zodbot> The meeting name has been set to 'rust_sig_(2017-03-08)'
21:00:07 <ignatenkobrain> #meetingname rust-sig
21:00:07 <zodbot> The meeting name has been set to 'rust-sig'
21:00:11 <ignatenkobrain> #chair ignatenkobrain jistone
21:00:11 <zodbot> Current chairs: ignatenkobrain jistone
21:00:14 <ignatenkobrain> #topic Agenda
21:00:20 <ignatenkobrain> #link https://docs.pagure.org/fedora-rust.sig/meetings/2017-03-08.html
21:00:23 <ignatenkobrain> #info (1) Roll Call
21:00:26 <ignatenkobrain> #info (2) Packaging Guidelines
21:00:28 <ignatenkobrain> #info (3) Open Floor
21:00:31 <ignatenkobrain> #topic Roll Call
21:00:33 <ignatenkobrain> .hello ignatenkobrain
21:00:34 <zodbot> ignatenkobrain: ignatenkobrain 'Igor Gnatenko' <ignatenko@redhat.com>
21:00:35 <jistone> .hello
21:00:37 <zodbot> jistone: (hello <an alias, 1 argument>) -- Alias for "hellomynameis $1".
21:00:40 <jistone> .hello jistone
21:00:41 <zodbot> jistone: jistone 'Josh Stone' <jistone@redhat.com>
21:00:51 <ignatenkobrain> not so much stuff to discuss today
21:00:54 <Pharaoh_Atem> .hello ngompa
21:00:58 <zodbot> Pharaoh_Atem: ngompa 'Neal Gompa' <ngompa13@gmail.com>
21:01:16 <ignatenkobrain> so should be quick ;)
21:01:21 <ignatenkobrain> #topic Packaging Guidelines
21:01:28 <ignatenkobrain> #link https://pagure.io/fedora-rust/sig/pull-request/9
21:02:43 <ignatenkobrain> comments are welcomed
21:05:24 <jistone> (for the meeting logs -- comments are happening on the issue)
21:06:59 <Pharaoh_Atem> ignatenkobrain: threw in a bunch of comments about this
21:07:10 <ignatenkobrain> so seems like naming is main issue
21:07:14 <Pharaoh_Atem> yeah
21:08:19 <Pharaoh_Atem> having rust-* for all source packages ensures we don't have accidental collisions with non-Rust things
21:08:31 <jistone> perhaps the use of rich deps needs to be discussed too
21:08:50 <Pharaoh_Atem> technically, this is a rule for golang, Python, rubygems, and other similar things
21:09:03 <Pharaoh_Atem> however, we *could* allow on a case-by-case basis to not require it being rust-*
21:09:11 <jistone> rich deps are cool, but limiting where we can deploy this
21:09:13 <Pharaoh_Atem> so maybe it should be "strongly preferred"
21:09:46 <Pharaoh_Atem> and the generators should do it always, and if the packager wants to change it... well, they'll have to justify in the package review
21:11:07 <jistone> I'm fine with preferring rust-%{crate}
21:11:53 <ignatenkobrain> so then rust-ripgrep and Provides: ripgrep ?
21:12:03 <jistone> for the srpm that is, then rust-%{crate}-devel and/or %{crate} as appropriate
21:12:06 <Pharaoh_Atem> yep
21:12:15 <Pharaoh_Atem> ignatenkobrain: what jistone said
21:12:30 <jistone> don't have to have a rust-ripgrep.arch.rpm at all
21:12:33 <ignatenkobrain> note that you can't have main package name as %{crate}
21:12:53 <ignatenkobrain> because primary package name should be same as srpm name
21:13:03 <jistone> %package -n %{crate} as a subrpm
21:13:15 <Pharaoh_Atem> if the primary package has no %files section, it doesn't get produced
21:13:27 <Pharaoh_Atem> that's the trick for decoupling
21:13:38 <ignatenkobrain> yeah, we can do that
21:14:39 <ignatenkobrain> #agreed all packages should be prefixed with "rust-", even binary ones
21:15:00 <ignatenkobrain> #undo
21:15:00 <zodbot> Removing item from minutes: AGREED by ignatenkobrain at 21:14:39 : all packages should be prefixed with "rust-", even binary ones
21:15:13 <Pharaoh_Atem> all source packages should be prefixed with "rust-"
21:15:29 <ignatenkobrain> #agreed all source packages should be prefixed with "rust-", even which produce packages with binaries (applications)
21:15:32 <ignatenkobrain> yeah, poor wording
21:15:36 <Pharaoh_Atem> much better
21:15:52 <Pharaoh_Atem> as for rich deps, I'm strongly for leaving them in, but if we want to "bend" it for EPEL or earlier Fedora (assuming Fedora doesn't get rich dep support backported), we *could*
21:16:19 <Pharaoh_Atem> the generator could have a "legacy" mode to resolve them to their actual crate packages with the rich dep version commented out
21:16:41 <ignatenkobrain> for now I would stick to rich deps, but in couple of weeks we will see how it goes with rele g
21:16:43 <ignatenkobrain> releng*
21:16:52 <Pharaoh_Atem> I'm fine with that
21:17:11 <jistone> and that's f27 at the earliest
21:17:18 <jistone> right?
21:17:20 <Pharaoh_Atem> and Mageia 7
21:17:34 <ignatenkobrain> yup
21:18:13 <jistone> so the alternate thing I offered to ignatenkobrain was to encode semver in the Provides
21:18:15 <jistone> Provides: crate(num-0.1) = 0.1.37
21:18:24 <jistone> Requires: crate(num-0.1) > 0.1.20
21:18:51 <ignatenkobrain> yeah, this is the backup
21:18:53 <Pharaoh_Atem> if we want to do that, I would rather that be a *very* short term thing
21:18:57 <jistone> this doesn't allow bigger ranges, >0.1,<0.4
21:19:24 <jistone> Pharaoh_Atem, this would be for a "legacy" mode as you mentioned
21:19:24 <Pharaoh_Atem> it assumes the range is within the same semver block
21:19:31 <Pharaoh_Atem> right
21:19:31 <jistone> yes
21:20:02 <jistone> *very* short term --> until epel7 goes away
21:20:03 <jistone> :P
21:20:12 <ignatenkobrain> jistone: that's not even "short"
21:20:22 <ignatenkobrain> it's basically more than 10years
21:20:24 <ignatenkobrain> :D
21:20:24 <Pharaoh_Atem> that's just making our lives miserable :(
21:20:30 <jistone> (that's the joke)
21:20:46 <Pharaoh_Atem> well, Mageia 6 expires 3 months after Mageia 7 releases
21:20:56 <Pharaoh_Atem> hopefully it won't take a year to get there :/
21:21:45 <Pharaoh_Atem> jistone: I wonder if it might just be cleaner to not do alternate provides and just do package spec generation time resolution
21:22:05 <Pharaoh_Atem> so it'd look like this:
21:22:09 <ignatenkobrain> Pharaoh_Atem: then you will need to rebuild it every time
21:22:23 <Pharaoh_Atem> ignatenkobrain: that's not really going to matter for EPEL7
21:23:17 <Pharaoh_Atem> EL7 is sufficiently horrible anyway
21:23:37 <jistone> update policy for epel is hard
21:23:50 <ignatenkobrain> at this point I'm very interested what releng will say about richdeps
21:23:54 <ignatenkobrain> but this will take a bit of time
21:24:07 <ignatenkobrain> they've got use-cases for php, rust and ruby
21:24:13 <Pharaoh_Atem> well, dgilmore already told me the earliest he can review the pungi PR is next week
21:24:21 <jistone> link?
21:24:34 <ignatenkobrain> and actually there are more use-cases for SCLs and Modularity
21:24:42 <ignatenkobrain> Pharaoh_Atem: porting pungi is not enough
21:24:42 <Pharaoh_Atem> https://pagure.io/pungi/pull-request/526
21:24:47 <ignatenkobrain> apparently
21:24:58 <Pharaoh_Atem> no, we need koji ported too
21:25:06 <Pharaoh_Atem> and bodhi needs to move to using koji rather than mash
21:25:22 <ignatenkobrain> he said that much more stuff will need to be touched
21:25:24 <Pharaoh_Atem> I stopped my work on mash once koji signed repos was rebased and noted as complete
21:25:27 <mich181189> so... quite a lot then
21:25:41 <Pharaoh_Atem> well, the problem is that not many people are motivated to fix this besides ignatenkobrain and myself
21:25:41 <mich181189> :-P
21:26:07 <ignatenkobrain> Pharaoh_Atem: maxamillion is interested as well
21:26:39 <Pharaoh_Atem> if we can get together for a weekend or something, maybe we can just port Koji :P
21:27:08 <ignatenkobrain> let's decide about this stuff on next meeting
21:27:27 <Pharaoh_Atem> rpm merged the fix upstream today
21:27:42 <Pharaoh_Atem> libdnf and dnf-plugins-core still need their changes merged in
21:27:48 <Pharaoh_Atem> then the whole feature needs to be backported
21:27:53 <ignatenkobrain> it's not enough
21:27:59 <ignatenkobrain> "with" deps are not implemented yet
21:28:08 <ignatenkobrain> libdnf still hangs on me, should do more fixes there
21:28:14 <Pharaoh_Atem> hmm
21:28:16 <ignatenkobrain> dnf-plugins-core... need to fix tests
21:29:18 <ignatenkobrain> for RPM I've merged support for depgens which emit rich deps
21:30:13 <ignatenkobrain> okay, naming discussed. version stuff has been moved for next week... any major thngs to discuss about packaging?
21:30:55 <luke_nukem> Hi all. Bit late due to classes.
21:31:10 <ignatenkobrain> hi luke_nukem
21:31:50 <ignatenkobrain> #topic Open Floor
21:32:23 <ignatenkobrain> I didn't do much last week
21:32:29 <Pharaoh_Atem> luke_nukem: did you have any progress on rust + opensuse?
21:32:35 <ignatenkobrain> although keeping crates up2date
21:32:41 <ignatenkobrain> today updated rustfmt to 0.8.0
21:32:53 <ignatenkobrain> most of patches were merged in upstream
21:32:53 <jistone> I've got rustbuild going in dist-git jistone/beta for 1.16
21:33:06 <ignatenkobrain> jistone: have copr repo?
21:33:21 <jistone> https://copr.fedorainfracloud.org/coprs/jistone/rust-beta/
21:33:28 <jistone> perhaps I should do those in the sig group
21:33:38 <ignatenkobrain> yeah
21:33:38 <luke_nukem> Pharaoh_Atem: Haven't had much time as of yet. Just in 2nd week of University and getting dates/schedules sorted now. I'll be making time to get things rolling in SUSE this weekend.
21:33:42 <Pharaoh_Atem> ignatenkobrain: oh, did you speak with copr guys about double root mock?
21:33:55 <ignatenkobrain> oh right
21:34:06 <ignatenkobrain> they deployed latest mock for me
21:34:10 <ignatenkobrain> on dev instance
21:34:14 <ignatenkobrain> so we can try stuff there
21:34:23 <Pharaoh_Atem> where's dev copr?
21:34:26 <ignatenkobrain> that was my plan for today, but -ENOTIME
21:34:39 <Pharaoh_Atem> ain't that the truth :)
21:34:50 <luke_nukem> jistone: How is rustbuild for you so far? I didn't have any issues when I tried using it in packaging a few weeks ago.
21:35:12 <ignatenkobrain> copr-fe-dev.cloud.fedoraproject.org
21:35:36 <jistone> luke_nukem, not too bad, just makes the bootstrap srpm even more ridiculously huge
21:35:51 <Pharaoh_Atem> jistone: how big is it now?
21:36:15 <jistone> hmm, I think I said ~700MB or so
21:37:11 <jistone> it goes from ~40MB tarballed binaries per target to ~100MB
21:37:15 <Pharaoh_Atem> wow
21:37:25 <luke_nukem> jistone: How do you do bootstrap currently? I have the openSUSE one split out from the main rust package
21:37:31 <Pharaoh_Atem> it's reaching texlive sizes
21:37:55 <ignatenkobrain> Pharaoh_Atem: cm'on, spec file is how many MiBs?
21:37:56 <ignatenkobrain> ;)
21:37:57 <jistone> luke_nukem, all in one srpm, with a %bootstrap_arches control variable
21:38:18 <ignatenkobrain> 8.4M	texlive.spec
21:38:20 <Pharaoh_Atem> ignatenkobrain: okay, that one is a bit extreme
21:38:27 <ignatenkobrain> 16K	rust.spec
21:38:30 <ignatenkobrain> not even close :P
21:38:31 <jistone> luke_nukem, we never ship a bootstrapped binary build to users
21:38:35 <Pharaoh_Atem> I can't even open that spec file in most text editors
21:38:54 <jistone> luke_nukem, so I set %bootstrap_arches, do a build, then turn it off and rebuild
21:39:02 <Pharaoh_Atem> luke_nukem: I'm surprised that OBS doesn't have bootstrap control flag support
21:39:03 <luke_nukem> jistone: the bootstrap for openSUSE is only used in OBS ;)
21:39:20 <Pharaoh_Atem> and I'm guessing you disable publishing of the bootstrap package :)
21:39:27 <luke_nukem> Pharaoh_Atem: it does in the form of flags that use a %bcond
21:39:45 <luke_nukem> Pharaoh_Atem: yes disabled.
21:41:19 <jistone> oh, I also rebuilt rust in f25-llvm39 for the upcoming llvm rebase
21:41:33 <Pharaoh_Atem> well, now that Factory is on rpm 4.13, you can probably fork rpm, libsolv, and libzypp to add support for "with" richdep
21:42:23 <luke_nukem> Pharaoh_Atem: I'll have to get on that pretty soon I think. This weekend anyway.
21:42:54 <Pharaoh_Atem> let me know if you need any help :)
21:43:07 <Pharaoh_Atem> I think you might want to talk to adrianS and mls before you start this weekend though
21:43:40 <mich181189> jistone: are you rebootstrapping on each release or something?
21:43:43 <Pharaoh_Atem> (adrianS is Adrian Schroeter, who manages OBS, and mls is Michael Schroeder, who maintains perl-BSSolv, libsolv, rpm, etc.)
21:43:50 <jistone> mich181189, no, but I make sure we *can*
21:44:09 <mich181189> jistone: ah ok makes sense. Good thing to test I guess
21:44:11 <luke_nukem> Pharaoh_Atem: thanks, I'll get in touch with them soon.
21:44:14 <Pharaoh_Atem> luke_nukem: I suggest hanging out in #rpm-ecosystem and #opensuse-buildservice
21:44:42 <luke_nukem> Already in build-service. But I'll pop in to rpm-aecosystem too
21:44:53 <Pharaoh_Atem> emailing them specifically may help, too... adrian@suse.de and mls@suse.de
21:45:00 <Pharaoh_Atem> be sure to CC myself and ignatenkobrain to those emails
21:45:18 <luke_nukem> your emails are?
21:45:23 <Pharaoh_Atem> mine is ngompa13@gmail.com
21:45:44 <Pharaoh_Atem> I dunno which one ignatenkobrain would want you to use
21:45:58 <ignatenkobrain> my @fp.o
21:46:05 <ignatenkobrain> ignatenkobrain@fedoraproject.org
21:46:08 <ignatenkobrain> :P
21:46:24 <luke_nukem> Thanking you!
21:46:56 <luke_nukem> I was considering proposing this all as a Google Summer of Code project... But, not sure of the chances of success.
21:47:18 <Pharaoh_Atem> hey, you can
21:47:39 <Pharaoh_Atem> either under the Fedora org or the openSUSE organization (if openSUSE has one)
21:47:48 <Pharaoh_Atem> I think we're still taking GSoC proposals in Fedora
21:48:06 <Pharaoh_Atem> https://fedoraproject.org/wiki/GSOC_2017
21:48:34 <luke_nukem> I've nearly finished my Gnome proposal, maybe I could try submitting two in-case? I don't think I saw any restriction there..
21:50:10 <Pharaoh_Atem> SUSE looks a bit more restrictive on their gsoc stuff: http://101.opensuse.org/gsoc/
21:50:22 <Pharaoh_Atem> errm openSUSE
21:52:08 <Pharaoh_Atem> luke_nukem: if you want to propose a project to do under the Fedora banner, ignatenkobrain might be willing to mentor you
21:52:25 <Pharaoh_Atem> since he works on the DNF team, he intersects with a lot of different, relevant groups
21:53:01 <luke_nukem> Pharaoh_Atem: Yeah not so sure I want to try with openSUSE. I like working with the team I know of so far, but trying to do the rust stuff will be hard as there is really only me working on it for them - no mentors.
21:53:31 <Pharaoh_Atem> ignatenkobrain would be an excellent mentor :)
21:53:53 <luke_nukem> Pharaoh_Atem: Okay, might be worth a try then. I'll see if I can get a proposal done this weekend.
21:54:15 <Pharaoh_Atem> and you can probably squeeze in some libzypp/zypper love too :)
21:54:25 <luke_nukem> Lol!
21:54:44 <Pharaoh_Atem> well, at some point soonish, I'll get zypper into Fedora, so it'll be there and "relevant"-ish
21:54:53 <luke_nukem> So toss up between gnome-polari, and rusting the fedora.
21:55:08 <Pharaoh_Atem> well, corroding fedora sounds more fun, doesn't it? :)
21:56:30 <luke_nukem> it... does... But I've also got a great project lined up for Polari too - Tracker integration for power-searching of chat logs.
21:56:30 <mich181189> that might actually be the first time I've heard "rusting" said in a positive sense! (well, positive to those here anyway!)
21:56:42 <ignatenkobrain> mich181189: :D
21:57:22 <luke_nukem> mich181189: Hey, rat-rodders (hot-rodders) like rust too. It's decorative. ;)
21:58:00 <ignatenkobrain> note that we have only 3 more minutes =)
21:58:12 <luke_nukem> ignatenkobrain: Pharaoh_Atem: What's a quick run down of what still needs to be done for rust in fedora? As I understand it, it's mostly rpm issues?
21:58:32 <ignatenkobrain> luke_nukem: mostly organizational and releng things
21:59:00 <ignatenkobrain> probably I will be able to re-bootstrap cargo using only system deps at some point soon :D
21:59:18 <ignatenkobrain> there are only 4-5 deps are missing
21:59:18 <Pharaoh_Atem> some porting work for koji, adding new richdep support to rpm, libsolv, libdnf, dnf, etc.
21:59:27 <luke_nukem> ignatenkobrain: Actually, could you do a draft of the relevant things with links? I'll need to refresh myself for the work + GSoC proposal.
21:59:40 <ignatenkobrain> luke_nukem: will do
21:59:46 <luke_nukem> Thanks!
22:00:04 <ignatenkobrain> anything else?
22:00:09 <Pharaoh_Atem> I'm good
22:00:19 <luke_nukem> Good here too.
22:00:30 <ignatenkobrain> jistone: mich181189: ^
22:00:39 <jistone> good
22:00:44 <ignatenkobrain> cool!
22:00:44 <ignatenkobrain> #endmeeting