15:00:04 <langdon> #startmeeting modularity
15:00:04 <zodbot> Meeting started Tue Jul  2 15:00:04 2019 UTC.
15:00:04 <zodbot> This meeting is logged and archived in a public location.
15:00:04 <zodbot> The chair is langdon. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:00:04 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
15:00:04 <zodbot> The meeting name has been set to 'modularity'
15:00:14 <langdon> #meetingtopic Weekly Meeting of the Modularity Team
15:00:19 <langdon> #topic Roll Call
15:00:28 <langdon> #chair sgallagh langdon contyk
15:00:28 <zodbot> Current chairs: contyk langdon sgallagh
15:00:36 <langdon> .hello2
15:00:37 <zodbot> langdon: langdon 'Langdon White' <langdon@redhat.com>
15:01:26 <sgallagh> .hello2
15:01:27 <langdon> not sure we are going to get anyone today... seems like a popular week to be afk
15:01:27 <zodbot> sgallagh: sgallagh 'Stephen Gallagher' <sgallagh@redhat.com>
15:01:38 <langdon> asamalik, ignatenkobrain around for meeting?
15:01:41 <sgallagh> Wow, I feel loved :-P
15:01:54 <ignatenkobrain> yes
15:01:57 <langdon> you and i can just trade bad jokes
15:01:58 <ignatenkobrain> I am around
15:02:24 <langdon> ohhh.. i thought there were issues with the meeting tag.. but apparently not
15:02:38 <langdon> anyone have anything for an agenda?
15:03:26 <asamalik> .hello2
15:03:26 <zodbot> asamalik: asamalik 'Adam Samalik' <asamalik@redhat.com>
15:03:29 <ignatenkobrain> well, I was curious what are we going to do with changing defaults
15:03:30 <ignatenkobrain> and stream switching
15:03:42 <sgallagh> .fesco 2146
15:03:44 <zodbot> sgallagh: Issue #2146: Temporarily revert breaking module changes - fesco - Pagure.io - https://pagure.io/fesco/issue/2146
15:03:45 <ignatenkobrain> https://pagure.io/modularity/issue/108#comment-545920
15:04:13 <ignatenkobrain> we have agreed on this 7 months ago, but I can't see DNF bug, neither solution for a problem
15:04:39 <asamalik> I'm updating the docs, there's a PR, there will be more, but not sure that's worth a topic
15:04:41 <langdon> ok.. i think those are two things.. how about ignatenkobrain first?
15:04:46 <sgallagh> asamalik: Which?
15:04:48 <asamalik> also, I'm on PTO for two weeks starting next week
15:04:49 <asamalik> EOF
15:05:02 <langdon> asamalik: pfft
15:05:07 <asamalik> sgallagh: https://pagure.io/fedora-docs/modularity/pull-request/60
15:05:14 <asamalik> I've tagged everyone, but maybe I should ping?
15:05:18 <asamalik> we all love email!
15:05:19 <sgallagh> asamalik: Oh sorry. I misread your "not sure that's worth a topic" as a reply to one of our comments
15:05:27 <langdon> #topic review decision made in https://pagure.io/modularity/issue/108#comment-545920
15:05:30 <asamalik> sgallagh: ah!
15:05:30 <sgallagh> I saw that, just haven't gotten to it yet today
15:06:08 <langdon> i thought we did track the default stream on version upgrades if unspecified..
15:06:17 <langdon> first part of the comment
15:06:32 <sgallagh> langdon: No, that change hasn't happened in DNF yet
15:06:53 <ignatenkobrain> neither I could find any bugzilla for this in DNF
15:07:04 <asamalik> ignatenkobrain: there is
15:07:04 <sgallagh> I'm not sure if it's being properly tracked, either. ignatenkobrain is right that no BZ exists; I'm not sure if there's another tracker somewhere that includes it
15:07:17 <asamalik> ignatenkobrain: I've mentioned it in the recent thread on devel... let me find it
15:07:18 <sgallagh> asamalik: Oh?
15:08:36 <langdon> brb
15:08:57 <asamalik> ignatenkobrain: basically this answer: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/OGR7E6LMT4EILCBAXL4OPTMEYLM4VYW5/
15:09:03 <asamalik> lists all the tickets we have about that
15:10:47 <ignatenkobrain> I think in that bugzilla, it is not clear to DNF team what do we want from them
15:10:50 <asamalik> but yes, the BZ is just about the first step, not about the whole thing... so technically there isn't a BZ
15:10:52 <ignatenkobrain> #info https://bugzilla.redhat.com/show_bug.cgi?id=1664427
15:11:13 <sgallagh> .bug 1664427
15:11:14 <zodbot> sgallagh: 1664427 – [rfe] Remember the way a module stream has been enabled - https://bugzilla.redhat.com/1664427
15:11:28 <asamalik> ignatenkobrain: I remember talking with Daniel about that.. and that's what he wanted as a first step.. but it's months ago
15:12:06 <langdon> sorry.. interns
15:12:28 <ignatenkobrain> so how can we make sure that other people get actionable bugs in their queue?
15:13:47 <langdon> maybe modularity needs a tracker bug?
15:14:07 <langdon> or a ref to the dnf rfe to indicate "why" we want to remember how a module stream was enabled?
15:14:18 <asamalik> langdon: https://tree.taiga.io/project/modularity-wg/epic/27
15:14:25 <asamalik> langdon: https://tree.taiga.io/project/modularity-wg/us/102
15:14:44 <asamalik> but I must admit I wasn't driving it/pushing for it recently
15:15:00 * langdon can't even get it load :/
15:15:01 <sgallagh> I just updated that BZ and we'll see where that goes.
15:15:43 <langdon> i think we need to add this to (not saying his real name) petr's q to follow up on a bunch of these "open" tickets.. just a "bump" may be necessary
15:15:52 * asamalik is not sure how much we're using the Taiga board anymore
15:16:10 <sgallagh> ignatenkobrain: I think we agree it needs to be done, it just dropped down on the priority list vs. the big fires we've been putting out
15:16:37 <ignatenkobrain> sgallagh: I've pinged Daniel to look at that issue
15:16:41 <ignatenkobrain> so let's see what will happen on that
15:16:45 <sgallagh> ack
15:16:49 <ignatenkobrain> so I supposed we can move to sgallagh 's topic
15:16:55 <langdon> should we move to sgallagh's topic?
15:16:56 <ignatenkobrain> s/supposed/suppose/
15:17:07 <langdon> ha.. good timing :)
15:17:36 <langdon> #topic discuss https://pagure.io/fesco/issue/2146
15:18:28 <ignatenkobrain> sgallagh: do you have some specific proposal and/or question you would like to discuss?
15:19:24 <sgallagh> one moment. phone just rang
15:21:29 <sgallagh> Sorry about that.
15:21:34 <sgallagh> I'm back now
15:22:27 <sgallagh> We really do need to at least resolve the libgit2 situation
15:22:58 <sgallagh> I'd like get this group's opinion on the proposal suggested in the latter few comments.
15:23:49 <ignatenkobrain> as I said in FESCo ticket, I'm fine with libgit2_0.2x packages... but this should be temporary workaround until DNF implements proper stream switching
15:23:51 <sgallagh> Specifically: get the libgit2 C libraries dropped back out of modules and made into one or more compat packages and then optionally use module streams for the bindings if they differ based on which library backs them
15:24:11 <ignatenkobrain> and since it is temporary, I would like to know the rough ETA when the proper fix will happen
15:24:18 <sgallagh> ignatenkobrain: We really haven't agreed that the behavior you're asking for is "proper"
15:24:24 <sgallagh> Because it breaks a lot of assumptions
15:25:35 <sgallagh> I think it's worth exploring, but I'm *not* committing to it happening, let alone an ETA
15:25:54 <ignatenkobrain> well, if you are not allowed to change dependencies -- then modularity is just broken
15:26:21 <ignatenkobrain> and if default streams are allowed to be changed automatically, why dependencies won't be allowed? it is basically same case
15:26:54 <asamalik> I agree with sgallagh here, we should explore the problem first
15:27:04 <asamalik> which doesn't necessarily mean I'm disagreeing with ignatenkobrain
15:27:17 <sgallagh> Right, I feel exactly as asamalik
15:27:35 <langdon> ignatenkobrain: i don't think the q is can't change dependencies the q is when can  you change dependencues
15:27:42 <langdon> or dependencies even
15:27:45 <asamalik> we just need to keep in mind that "dnf update" won't get a Fedora system to a state that's broken or stuck
15:27:55 <sgallagh> I think from a user perspective it does intuitively feel like a better approach. But from a practical perspective, I still don't know if it can actaully work
15:28:08 <asamalik> by either breaking dependencies or blocking further updates by having conflicts
15:28:27 <ignatenkobrain> langdon: you can't change dependencies at specific time, because of how you do MSE
15:28:48 <langdon> sorry.. acronym expansion fail.. MSE?
15:28:57 <ignatenkobrain> Module Stream Expansion :)
15:29:04 <langdon> ohh.. ha.. right
15:29:06 <sgallagh> ignatenkobrain: My concern is mainly the case I described in that ticket: what happens when you have both `silver` and `bat` installed and one of them wants to upgrade the libgit2 dep and the other doesn't?
15:29:37 <ignatenkobrain> sgallagh: then you get a conflict. same as we have today in rawhide or anywhere else
15:29:46 <asamalik> also, we need to keep in mind that modularity is not a magic that fixes everything... it brings additional possibilities on top of plain RPMs, so it definitely shouldn't remove stuff that RPM could already do, but what it adds on top of that is also limiting
15:29:46 <langdon> well.. it isn't that right.. it is that they want to upgrade the bindings? cause you can compat package the libgit2's right?
15:29:48 <ignatenkobrain> like I have telegram-desktop which requires old version of qt
15:29:53 <ignatenkobrain> and I can't update qt becahse of that
15:30:10 <asamalik> *is also limited
15:30:21 <sgallagh> langdon: You're conflating two issues right there
15:30:59 <langdon> how so? couldn't "bat" (and telegram) compat package the new version of libgit2 and then be off on its merry way?
15:31:01 <sgallagh> ignatenkobrain: You're probably right and conflict-and-fail is the right approach.
15:31:04 <langdon> if that is the only problem
15:31:13 <asamalik> so yes, modularity adds *some* new ways to approach "multiple versions", but doesn't fix all "multiple versions" problems that exist...
15:31:21 <sgallagh> langdon: You're thinking of a specific case, I'm using it as a stand-in for a module dep in general
15:31:30 <langdon> it doesnt fix *any* about installing them on the system
15:31:42 <ignatenkobrain> sgallagh: but if both now depend on a different stream and I don't care about libgit2 stream, it should just upgrade/downgrade/switch stream
15:31:50 <langdon> modularity just makes multiple available.. rpm and dnf have to figure out how to get them on disk correctly
15:32:25 <sgallagh> langdon: As near as I can tell, you are having an entirely different conversation from the rest of us
15:33:28 <sgallagh> Sorry, that came out harsher than I intended.
15:33:59 <asamalik> ignatenkobrain: so to your QT problem... do we want to enable this with Modularity? or should we make it so that this won't happen? can we even? — I think we don't have definitive answers/agreements here, and that's probably part of the problem here :)
15:34:00 <langdon> i don
15:34:02 <langdon> oops
15:34:08 <sgallagh> There are technical limitations in the way DNF is doing things right now that prevents module stream changes. I don't know if that's insurmountable
15:34:36 <sgallagh> They have been operating up to this point under the assumption that dependencies within a stream are *fixed* and that changing those dependencies necessitates the use of a new stream.
15:34:58 <sgallagh> I don't have the low-level knowledge to know how deeply that assumption is ingrained.
15:35:30 <langdon> well.. from my understanding of the problem.. dnf could be doing stream switching all day and it still wouldn't resolve this particular issue.. as the issue is that the "components" need to be parallel installable and they aren't (even with compat packages)
15:35:33 <asamalik> ignatenkobrain: and you might be even right, but we need to first agree on this very basic level to move forward in any way, I think
15:36:11 <ignatenkobrain> asamalik: so let's agree 🙂 I think we can't prevent this qt problem... more specifically, telegram-desktop is coming from 3rd party repo..
15:36:24 <ignatenkobrain> so qt will have to not upgrade for some time
15:36:27 <langdon> so.. perhaps you are talking about allowing stream switching.. but that would not in any way actually resolve 2146
15:37:45 <asamalik> ignatenkobrain: maybe that's a different story? maybe we have two scenarios? one is fedora content where the answer might be different (policy), and the other is 3rd party content that we have to technically support without blowing up with errors, even though the behaviour/module architecture won't be as we want it to be
15:37:51 <langdon> and this is why i am confused... couldn't qt be compat packaged for telegram.. using modules to make the switching easier (assuming dnf did more dynamic stream switching)? (not sure you or anyone wants to compat package qt)
15:38:44 <ignatenkobrain> stream switching would solve this particular FESCo issue
15:39:10 <langdon> not 2146 per https://pagure.io/fesco/issue/2146#comment-580439
15:39:40 <langdon> well.. stream switching is one (small) part of the problem
15:39:48 <ignatenkobrain> langdon: there are multiple problems...
15:39:53 <ignatenkobrain> let me state all of them
15:40:01 <langdon> right.. i don't  think you need too
15:40:06 <langdon> thats exactly my point
15:40:10 <ignatenkobrain> 1) default streams can't conflict, tihs makes dnf crazy
15:40:41 <langdon> re: 1 .. and any human trying to use the system
15:40:52 <sgallagh> langdon: Not necessarily true.
15:41:08 <langdon> sgallagh: which part?
15:41:10 <ignatenkobrain> 2. if different modules depend on different streams of one module, you can't install that content at the same time. this is fine, but if you don't try to install both at the same time, it should just work
15:41:31 <asamalik> langdon: packages in the Fedora repos conflict with each other.. that's just given.. you can't do "dnf install *"
15:41:32 <sgallagh> I don't see a problem having a default stream of, say, Wordpress that installing it means I block myself off from Drupal.
15:41:37 <sgallagh> (hypothetically)
15:41:47 <langdon> sgallagh: "hidden" defaults.. sure.. they "could" be fine.. but as a developer I get really pissed if i can't figure out what libraries i have installed
15:41:53 <ignatenkobrain> 3. if dependencies change in module streams you have enabled to a new stream, DNF just complains because it does not switch streams automatically
15:42:01 <sgallagh> langdon: I can't parse that statement at all
15:43:40 <langdon> meh.. i think this is too many conversations at once.. much like that ticket.. all of this is like 5-10-20 problems 1/2 of which have been in rpm from the get go .. if not the concept of the distribution itself from the beginning .. trying to conflate them all in to one "answer" and blaming modularity for not having it is a bit frustrating
15:43:44 <sgallagh> 3. It's not just that it doesn't change streams automatically. IIRC, there's also an issue where DNF ends up having conflicts in the solvables. I don't know the details at all though, so don't press me on it.
15:44:45 <asamalik> so maybe the answer to this ticket is "we've identified three distinct problems that we need to explore / find solution for"
15:45:10 <ignatenkobrain> I think I described al lthat in ML
15:45:13 <asamalik> and have three discussions in three tickets
15:45:14 <sgallagh> I don't think 2. is a problem at install-time. I think it gets fuzzier at updates.
15:45:14 <langdon> at least.. and/or point to the fpc guidance for some of them
15:45:15 <ignatenkobrain> but I think I have never got any reply to my email :)
15:45:36 <sgallagh> In the traditional non-modular distro, the Stable Updates Policy simply forbids introducing breaking ABI in libraries.
15:45:39 <ignatenkobrain> langdon: FPC does not manage module guidelines....
15:45:47 <asamalik> ignatenkobrain: maybe there's just too many things at once, so it's hard to keep up in a single thread.. I thin the thread should identify problems, not to find solutions
15:46:02 <sgallagh> Modularity *suggests* that it could provide a workaround here, but then doesn't (today, at least)
15:46:12 <langdon> ignatenkobrain: right ... it manages rpm guidelines.. like compat packages.. modules inherit from those guidelines and change a few things
15:46:46 <langdon> the assumption should be rpm-rules-win-unless-explicitly-overriden
15:47:23 <ignatenkobrain> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/OXS7NTPX6KNTR2JCQOV3UGACSTNTJDMD/
15:48:30 <sgallagh> ignatenkobrain: I never saw that message; Just found it in my spam folder :-/
15:49:01 <langdon> so.. to bring this back to a meeeting.. do we have any actions here?
15:49:02 <sgallagh> Sorry about that
15:49:53 <sgallagh> langdon: I am trying to re-kick the conversation about default-stream upgrades which may indeed lead into dependency-updates as well
15:50:31 * asamalik opens his spam folder and is terrified about how many legit emails from lists from people I know end up there randomly... :/
15:50:46 * asamalik shakes fist at google
15:52:06 * asamalik notes we have less than 8 mins left
15:52:23 <langdon> hence why i asked for "items to record" :)
15:52:54 <ignatenkobrain> Since I need to go, just FTR: I'm fine to add those compat libgit2 packages. This will create maintenance burden.. .Since instead of just one module with 3 streams, I would have to maintain 12 different branches...
15:52:55 <ignatenkobrain> But sgallagh is right when we will do default streams upgrade, that will involve dependency changes too... And if we can't support dependency changes, we are busted..
15:53:40 <sgallagh> Yeah, we need to sit down with the DNF team and figure out how to make that work.
15:53:48 <langdon> asamalik: ^^ i think this is exactly the kind of "scenario"/"note" we want to add to the "not-faq" doc we were talking about
15:54:02 <langdon> even if we hope it changes over time..
15:54:20 <ignatenkobrain> sgallagh: are you up for scheduling such meeting? And I really hope it won't be yet another internal RH meeting
15:54:33 <asamalik> ignatenkobrain: can you do a single stream with all the packages including compat?
15:55:13 <ignatenkobrain> asamalik: I can, but what is the point? I can't put bindings there anyway then
15:55:13 <asamalik> ignatenkobrain: and have it default?
15:55:35 <asamalik> ignatenkobrain: I only meant for your packager workflow of not maintaining 12 branches.. no other reason
15:55:35 <ignatenkobrain> I choose modularity for libgit2 because I can put bindings in there
15:57:34 <langdon> ok.. should i close this down?
15:57:59 <ignatenkobrain> just one remark, fixing this won't help upgrading from F30 to F31 because libgit2:0.27 is enabled on most f30 systems
15:58:12 <ignatenkobrain> and non-modular apps depend on 0.28
15:58:31 <ignatenkobrain> that's something to consider long before beta
15:58:33 <ignatenkobrain> have to go, sorry
15:58:39 * sgallagh nods
15:59:00 <sgallagh> I'm on vacation for a week on Thursday, but I'll try to organize something with the DNF team after that, if no one else does it first
15:59:02 <langdon> sgallagh: #info? file ticket? already covered elsewhere?
15:59:36 <langdon> sgallagh: 4-11? or 4-15?
16:00:01 <sgallagh> 4-10, actually
16:00:14 <asamalik> I'm off 5-20
16:00:48 <langdon> gotcha..
16:00:58 <langdon> ohh wait..
16:01:03 <langdon> now i am confused
16:01:05 <langdon> :)
16:01:19 <langdon> but.. closing meeting
16:01:22 <langdon> in 5
16:01:35 <langdon> 4
16:01:47 <langdon> 3
16:01:56 <langdon> 2
16:02:00 <langdon> 1
16:02:04 <langdon> #endmeeting