16:00:26 #startmeeting fpc 16:00:26 Meeting started Thu Sep 3 16:00:26 2015 UTC. The chair is geppetto. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:26 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:26 #meetingname fpc 16:00:26 The meeting name has been set to 'fpc' 16:00:26 #topic Roll Call 16:00:30 Howdy. 16:00:36 #chair tibbs 16:00:36 Current chairs: geppetto tibbs 16:00:39 #chair mbooth 16:00:39 Current chairs: geppetto mbooth tibbs 16:00:45 Sorry, I'm mostly useless this week. 16:00:52 tibbs: Isn't that true of all types of users :) 16:00:55 Morning 16:01:01 #chair orionp 16:01:01 Current chairs: geppetto mbooth orionp tibbs 16:02:27 Have been trying to work on a draft for the distinction between applications and libraries/modules and when they should be split, but it's not done. 16:03:00 * geppetto nods 16:04:06 limburgher racor Rathann SmootherFr0gZ: FPC ping 16:04:17 * racor is here 16:04:31 #chair racor 16:04:31 Current chairs: geppetto mbooth orionp racor tibbs 16:04:46 Ok, that's five … I'll give the others another minute or so 16:06:05 #topic Schedule 16:06:08 https://lists.fedoraproject.org/pipermail/packaging/2015-September/010958.html 16:06:17 #topic #562 Bundling exception for MongoDB 16:06:17 .fpc 562 16:06:17 https://fedorahosted.org/fpc/ticket/562 16:06:20 geppetto: #562 (Bundling exception for MongoDB) – fpc - https://fedorahosted.org/fpc/ticket/562 16:07:28 this is blah … I'm +1 for a temp. exception while upstream works out if they are going to just ship it as part of mongo, or if they'll unbundle it again 16:07:59 As tibbs would say "Software engineering, have you heard of it" :) 16:08:26 I kid of agree, but then I wonder why nobody has bothered to answer the question I asked in the ticket. 16:08:36 It seemed like upstream was pretty adamant about not unbundling it - we're special and not wanting to do work that benefits anyone else and all that 16:10:07 hi 16:10:11 That was the impression I got from upstream as well. 16:10:12 #chair Rathann 16:10:12 Current chairs: Rathann geppetto mbooth orionp racor tibbs 16:10:28 "Don't you have to solve this problem for other open source projects?" lol 16:10:28 Yeh, but then they might go all the way and stop shipping it outside mongoDB 16:10:29 Well, from reading the upstream discussion. They just don't care about the bundling thing at all. 16:10:43 We totally have the man-power to solve all the world's problems... 16:11:16 what makes me nervous about bundling is the fact mongodb currently is still F23FTBFS-ing 16:11:22 We only have to solve the problem for other open source projects which don't understand software engineering. 16:11:44 Do we know that the failure to build isn't related to the packager's attempts to unbundle? 16:12:02 I though that was what precipitated the request. But maybe not. 16:12:46 I would suggest that the ticket submitter answer my question and any others that folks here might pose, and then let us know when the thing is actually building. 16:12:55 tibbs|w: I know close to nothing about mongodb, but FTBFSs due to testsuite failures, let me have doubts on a code-basis quality. 16:12:57 Or is there any point in waiting for it to build? 16:13:06 Yeah, I think the testsuite is failing because the wiredtiger versions are different 16:13:20 Doubts about the quality of upstream code bases aren't exactly rare around here, bundling or not. 16:13:33 indeed 16:15:24 Can someone run a quick repoquery to see what else require WT in rawhide? 16:15:27 So what to do? I don't think we can get to +5 today. 16:15:28 Since nothing else seems to use wiredtiger in Fedora, can we just ship mongodb's version? 16:15:49 Yeh, pretty much what I was thinking orionp 16:16:06 That's what I suggested in the ticket as well. 16:16:24 At least, I have a vague memory of doing so. 16:17:15 " There's an alternate solution which involves simply packaging the upstream mongodb-3.0 branch of WT, but I'm not sure that this actually helps" 16:17:29 So, anyway, I'm not inclined to +1 this until the submitter responds to my comments in the ticket. 16:17:36 #action Need answer to tibbs question about permanence of this bundling. 16:18:12 and recommend packaging mondodb version of wiredtiger for now 16:18:15 #action Do we know of anything else that uses WT, as other wise it seems pretty simple to remote WT and make it a sub-package of mongoDB and just ship whatever they ship. 16:18:41 #action Please fix the FTBFS for mongoDB, as this also seems related. 16:18:47 upstream just doesn't understand: https://groups.google.com/d/msg/mongodb-dev/31FQSo4KVCI/szupz-c5IwAJ 16:18:55 I think I'd keep wiredtiger as a separate package. 16:20:17 I had the thought that doing that might actually hurt us security wise. 16:20:31 Because it's extra work to pull that code out and get it packaged separately. 16:20:48 But that would be up to the maintainer in any case. I don't know the internals of the packaging. 16:21:04 And since the maintainer hasn't commented on the feasibility of doing any of that.... 16:21:27 also, what are the changes between latest WT release and what's bundled in MongoDB? 16:21:28 yeh, it seems like anyone not mongoDB who wants to use WT needs to make the upstream not be a bunch of idiots first 16:21:47 It looks like the wiredtiger repo has a mongodb-3 branch - just package that 16:21:50 So just pretending it's part of the giant ball of mud within mongoDB seems like the path of least resistence 16:22:14 I wouldn't have a problem if this was just a situation where they needed to engineer things quickly and developing them in lock-step for a while made sense. 16:22:37 But it doesn't make much sense to do it for their stable releases. Especially for something like a database server. 16:22:59 it seems more like it's an "it's easier for us" type thing 16:23:39 don't need to test for ABI changes, or do real QA 16:24:14 Anyway, we've got actions … can move on. 16:24:29 #topic #564 Bundling exception for apacheds-jdbm 16:24:29 .fpc 564 16:24:29 https://fedorahosted.org/fpc/ticket/564 16:24:30 geppetto: #564 (Bundling exception for apacheds-jdbm) – fpc - https://fedorahosted.org/fpc/ticket/564 16:25:50 the last 3 questions seem like the answer is easy, but the description of upstream having changed too is weird 16:26:16 looks like only temporary until apacheDS switches to mavibot? 16:26:30 yeh 16:26:40 but they said "distant" there 16:27:01 So much Java bundling.... 16:27:20 indeed 16:27:29 meh the attached diff is done without -wbB options 16:27:36 so it's unreadable 16:30:26 #action Given you said the changes are good for everyone, and the forked version could be canonical. Can you speak to the Fedora maintainer about doing that? 16:31:04 Anyone want to say anything else? 16:31:26 Not me. 16:31:26 No, agree with that action. 16:31:27 There is no fedora maintainer of jdbm 16:31:33 It was retired 16:31:50 #undo 16:31:50 Removing item from minutes: ACTION by geppetto at 16:30:26 : Given you said the changes are good for everyone, and the forked version could be canonical. Can you speak to the Fedora maintainer about doing that? 16:31:54 Then won't these packages disappear anyway? 16:32:11 #action Given you said the changes are good for everyone, and the forked version could be canonical. Can you become the Fedora maintainer and use your version? 16:32:21 So even easier for apache-jdbm to become the canonical version of jdbm 16:32:29 yeh 16:32:29 Well, I guess they don't care if the library is bundled. 16:32:29 Just package rename 16:32:29 But indeed. 16:32:59 Ok, now for a "fun" one: 16:33:01 #topic #567 Packaging Python 3 applications and modules for EPEL 7+ 16:33:02 .fpc 567 16:33:02 https://fedorahosted.org/fpc/ticket/567 16:33:03 geppetto: #567 (Packaging Python 3 applications and modules for EPEL 7+) – fpc - https://fedorahosted.org/fpc/ticket/567 16:33:30 So, I think we can solve this with a cage match of tibbs vs. orionp ;) 16:34:03 I haven't had a chance to read the updated spec anyway. 16:34:44 it's just the example that changed 16:34:47 https://fedoraproject.org/w/index.php?title=User%3ABkabrda%2FEPEL7_Python3&diff=421403&oldid=405371 16:34:48 So I'm still a bit confused. 16:35:13 I am getting two incompatible impressions from all of this: 16:35:38 EPEL will have multuiple different python3 versions. 16:36:13 Or: EPEL will have exactly two different python3 versions only for the purpose of easing the transition to the newest version. 16:36:58 My understanding is the latter 16:37:19 And I think that's not everyone's understanding. 16:37:30 And will not always have two 16:37:37 sometimes will only have one 16:37:46 (like now) 16:38:00 regarding #564 I've just took a look at the diff and the changes don't seem that huge, so +1 to making the fork the canonical version of jdbm 16:38:44 But I'm not sure what makes the two impressions incompatible 16:39:01 with multiple <= 2 16:39:30 I just didn't phrase it particularly well. 16:40:23 Anyway, with this cleaned up, it's obviously not too bad. 16:41:08 But with careful definition of the %py3_other* and __python3_other macros (to /bin/true) you could get rid of some ifdefs.... 16:41:27 The main funkiness in replacing "python3" with "python%{python3_pkgversion}" 16:41:50 Yeah, that's not enjoyable. 16:41:50 Yeah, I was wondering about that 16:42:17 I wasn't really joking when I suggest replacing the %package/%description blocks with a macro, either. 16:43:24 That would be nice if possible 16:43:26 as an optional thing for EPEL only, I'm probably +1 on it 16:44:21 But I can't help but think that we should solve the transition problem some other way, and only ever need 1 version of py3 in epel 16:44:33 geppetto - I'm sure I know what that means - ie. personally I would maintain the same spec in Fedora and EPEL - would you not allow that? 16:44:34 Oh, I'm +1 on it if it doesn't make it into Fedora; it's all pretty reasonable. But it's already made it into Fedora. 16:44:47 People are using this now. 16:44:56 makes everyone else's life easier … just some pain for someone(people) to do group rebuilds whenever a new minor version comes out. 16:45:07 Does EPEL not have side tags? 16:45:38 orionp: That would kind of suck :( … is it really a big hit to not be able to share the specfiles? 16:45:44 I mean, we could keep two versions of boost around for exactly the same reason. 16:45:45 I don't know, I don't see why they couldn't have side tags 16:45:57 But we don't, because we just handle things. 16:46:22 tibbs|w - time frame is a *LOT* longer in EPEL.... 16:46:32 I don't see how. 16:46:41 and we have multiple versions of lots of things in EPEL because of it 16:46:50 We do? 16:47:04 I think that people are just afraid of any python3 version transition because of how badly they screwed up the change to python3. 16:47:27 e.g. zabbix (2.0), zabbix22, zabbix24, etc. 16:48:17 Hmmm … I also see 3 compat-* packages 16:48:42 I didn't think we did multiversions that much more … but I'm not sure how to see that easily. 16:48:43 You're also dealing with users who want stability and to manage transitions on their own schedule, while epel is essentially a rolling release 16:50:01 See, I love compat packages. Because they make the separation obvious. 16:51:38 Anyway, can folks try to clean up a few ifdefs, and maybe I'll see if people could stomach a macro to generate teh %package and %description statements. Too bad tomspur isn't able to be here today; he knows more about that than I do. 16:55:06 Oh, geppetto - yeah it's really nice just merge from master/f# to epel7 16:55:27 * geppetto nods 16:56:17 but there are going to be a lot of python3 epel only packages - all python packages that are already in RHEL7 16:56:22 You don't have to manually merge the specfiles anyway, due to changelog etc.? 16:56:53 * geppetto nods 16:56:58 I don't give a #*$ about the changelog (at least the rebuilt for ....) 16:57:30 I do understand. 16:58:23 I just think that in the general case people do more work maintaining specs for all of these old releases than it takes to just keep them separate. 16:58:41 but merges would work for that - it wouldn't work for propagating changes from python3 files, etc to python3 (other) 16:58:46 But EL7 isn't all that bad (though it's soon going to get annoying again with %filetrigger. 16:59:17 Anyway, if the purpose is to ease the transition, then shouldn't these things only be added when we know the transition is going to be difficult? 17:00:03 meh, I can understand the desire not to have a huge number of updates when py3.6 hits 17:00:05 I mean, the majority of packages won't need to care about py35 differences. 17:00:21 I thought that too 17:00:26 Possibly. At the moment there is no need to add the %python3_other* stuff as we don't have one 17:00:36 Well people have already done so. 17:00:39 But orion implied most py3 packages in epel would need minor versions 17:01:08 but we do need %python3_pkgversion now if we want to support that later 17:02:39 If done right, you don't. 17:02:49 python3 should be the latest you support. 17:03:01 python34 would appear at some later date. 17:04:13 Sorry, I have to duck out early today 17:04:28 I don't see how that would work with provides/obsoletes/etc 17:04:40 But it wouldn't matter if %package was macro-generated. I'll just have to see if that works (I know it does for debuginfo) and if people would actually accept it. 17:04:50 orionp: Well it's how every compat package works now.... 17:05:16 you'd want python3-foo-1 -> python34-foo-1 and python3-foo-1(for python35) 17:05:18 I'm thinking that this hasn't been thought all the way through particularly well and someone just tossed the first pass over the fence at us. 17:05:49 I'm a bit upset with that characterization. there was a fair amount of discussion in epel 17:06:00 Well, that's certainly what it feels like. 17:06:26 Plus, it seems at the same time we're doing all of this closely related work and nobody thought to even mention it. 17:07:26 Yeah, that was not so good - probably not helped by the transition in the python maintainers 17:07:42 mbooth: Ok, in theory these meetings are only an hour long … so not that early :) 17:08:48 Theory has matched practise about once in the past few years.... 17:08:54 orionp: I don't think that split requires pkgversion usage before it happens. 17:08:59 tibbs: :) 17:09:14 python3_pkgversion = 34 in epel 17:09:21 3 in Fedora 17:09:21 right now? 17:09:37 it should 17:09:55 huh … I assumed it was still 3 atm. 17:10:01 Does something at least provide python3? 17:10:16 Because otherwise I need to edit out mention of EL7 from the Fedora guidelines completely. 17:10:17 yes, I believe python34 should 17:10:47 So the example package on current epel will only build python34-blah packages, right? 17:10:56 right 17:11:13 later it would build python34- and python35- 17:11:17 So how do the python3-foo packages get built? 17:11:25 they don't 17:11:26 they don't from the example? 17:11:29 ok 17:12:09 But if you use the Fedora guidelines then what happens? 17:12:17 you get python3-foo 17:12:24 Yes, of course. 17:12:34 But is that actually useful? 17:12:49 I mean, EPEL packages are going to need different dependencies, too. 17:12:55 ¯\_(ツ)_/¯ 17:13:15 And they'd have to know if they need to require python3-foo or python34-foo. 17:14:15 hence the 3 -> %python3_pkgversion 17:14:39 My point is that we're not going to put that into the Fedora guidelines. (Or at least I wouldn't vote for it.) 17:15:36 And EPEL kind of benefits from having an easy transition from a Fedora package to an EPEL package. 17:16:22 I mean, currently I have a python package that I have built for EL7 because the spec just works, but I'll probably just drop it if I can't do that. 17:16:54 But that's kind of offtopic. I don't have any opinion on what EPEL packages do on their own branches. 17:20:31 Yeh, but as orionp said … people will want to share specfiles 17:20:38 to allow git merge 17:21:16 Which … meh. Really need better merge tool than git merge, but what can you do. 17:21:20 My point is that before this they could just do that without worrying about it. The specs needed 0 changes. 17:21:29 Now, oops. 17:21:56 * geppetto nods 17:21:56 Which is still fine, people would just have to go and read some more guidelines pages and hopefully they get it all right. 17:23:19 So … do we have any actions for this, for next week? 17:23:41 Hopefully I can find some time to find a way to hide most of this. 17:24:19 If I can pull together a full day to work on FPC work then I should be able to produce something by next week. 17:24:25 We're not on a deadline, are we? 17:24:41 #action tibbs Find a way to hide the differences between Fedora/EPEL in an updated draft 17:24:42 ? 17:24:52 I don't think so … 3.5 isn't due anytime oon AFAIK 17:25:23 If it was, then we really wouldn't need to care about this until 3.6. 17:25:28 Ugh … maybe it is: 17:25:29 https://www.python.org/dev/peps/pep-0478/ 17:25:44 Because there are only... 0 python modules in EL7 right now. 17:25:47 lol, 10 days from now 3.5 final 17:25:50 If we're going to support the transition as currently planned now, we need to build python34- packages not python3- 17:26:31 So really, EPEL should just deal with the 35 transition. 17:26:41 And let this come up for the 36 transition. 17:27:05 OK, there's one python3 thing in EPEL: python3-pkgversion-macros-1-3.el7.noarch.rpm 17:27:14 Which I don't believe is a module anyway. 17:27:24 Otherwise there's just the base python34 package. 17:28:10 yeah, we're waiting for this 17:30:04 #info py3.5 released in 10 days (13th Sept), so this is more aimed. at the 3.5 => 3.6 transition 17:30:15 Ok … so anything else to note here? 17:30:51 Do we have anything to look at for RPM file triggers … and do we want to do so this week? 17:30:55 Or just open floor? 17:32:51 Not really for file triggers, though they are pulling 4.13 into F23 which means we'll get to use this sooner. 17:33:00 cool 17:33:06 #topic Open Floor 17:33:20 Anything else anyone wants to bring up? 17:34:26 As far as I know there's only one package using this. 17:34:37 But as far as I can tell it works wel enough. 17:35:31 As for our guidelines, I guess we'll just add "Only needed on F22 and older" around the scriptlets once packages are converted. 17:35:45 Well, once the right packages gain %filetrigger statements. 17:36:20 But not needing to call ldconfig or random systemd macros or icon cache stuff or whatever will be really nice. 17:37:46 yeh 17:38:00 I have it on my TODO list to see how much of %post will be affected 17:38:05 my assuption is quite a bit though 17:38:30 Yes, almost all of packages will lose %post. 17:38:38 * geppetto nods 17:39:18 And those that don't just have pasted-in scriptlets are probably doing some old config file upgrade or something like that which has been in there since F12 or whatever and can just be dropped. 17:39:29 There are a few things like /etc/shells where it'd make sense to have a /etc/shells.generate.d and have some filter trigger place on that 17:39:54 Yeah, we can do that kind of thing now. Which is awesome. 17:40:00 * geppetto nods 17:40:21 So loads of ideas. Though they're not really FPC things. 17:40:55 Yeh, kind of related but not all the work on us … in theory. 17:41:30 Well, someone's going to need to drive this. 17:41:43 Probably more devel list fodder, though. 17:42:18 Maybe, I might have some time to work on it 17:44:39 I can at least make a mailing list post and try to follow a thread. 17:45:15 Shouldn't be hard to identify the packages which should contain the triggers for each thing on our scriptlets page and in the various guidelines pages. 17:45:25 And then it's just begging. 17:45:35 Well, and giving them patches to merge. 17:46:22 Actually getting rid of the scriptlets can come later. 17:46:42 Though I wonder what happens if a package has scriptlets and another package has a trigger. 17:46:48 for some, yeh it doesn't matter if things run twice 17:46:51 I'd guess things get run twice. 17:47:02 for others, maybe not a great thing 17:47:05 Hopefully all of our scriptlets are idempotent. 17:47:19 I'm sure that's not true 17:47:45 They damn well should be or else you can't just do yum reinstall. 17:48:14 reinstall isn't the same from a scriptlets POV 17:48:37 Now, fonts.... I tried to install about 30 fonts onto a fast machine with an SSD and it still took, well, long enough that I ctrl-C'd it. 17:48:57 Because the remove+install happens at the same time … so I'm pretty sure the install number args. will be different from an actual remove followed by install 17:49:11 tibbs: You know what it was doing? 17:49:23 Running scriptlets, I guess. 17:49:44 But anyway, I think we do have issues if the scriptlets aren't idempotent. 17:50:01 But then again, the ones in the guidelines are, so we should be good there. 17:50:14 * geppetto nods 17:50:23 "All scriptlets must be idempotent" would probably be a good guideline. 17:50:39 +1 to that 17:50:55 also, I need to drop off as we're nearing the 2h mark 17:50:58 Anyway, nearly two hours and I have to leave soon. 17:51:02 Heh. 17:51:21 Hopefully things will calm down a bit here and I'll have more time next week. 17:52:25 * geppetto nods 17:52:33 thanks and see you next week, bye 17:52:37 See ya 17:54:01 I wonder if the ancient rpm in EL5 supports multiline macros. 17:54:17 I know rpm 4.0 didn't, but that was a very long time ago. 17:55:38 * geppetto has no idea 17:55:51 Want to try using a macro for %description so it doesn't have to be repeated in the specs. 17:56:15 I just never know how things will break when stepping into the minefield of EL5 packages. 17:56:27 Yeh, /usr/lib/rpm/macros on my el5 machine has multiline macros 17:56:56 used for debuginfo 17:57:20 I do wonder what a complete cross-release package for a python module would actually look like now. 17:57:54 Probably just two completely separate specs in one file, each wrapped in %if/%endif. 17:58:06 Sometimes I think that might be simpler. 18:00:31 ugh 18:00:46 Anyway … it's 2 hours exactly 18:00:51 #endmeeting