16:00:25 #startmeeting fpc 16:00:25 Meeting started Thu Sep 8 16:00:25 2016 UTC. The chair is geppetto. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:25 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:25 The meeting name has been set to 'fpc' 16:00:26 #meetingname fpc 16:00:26 #topic Roll Call 16:00:26 The meeting name has been set to 'fpc' 16:00:35 hello 16:00:42 #chair orionp 16:00:42 Current chairs: geppetto orionp 16:04:40 Well this might be a quick meeting 16:04:42 Howdy. 16:04:47 #chair tibbs 16:04:47 Current chairs: geppetto orionp tibbs 16:04:49 Hey 16:05:17 Had a lot of typing to do. 16:05:43 * Rathann is here 16:05:53 #chair Rathann 16:05:53 Current chairs: Rathann geppetto orionp tibbs 16:06:29 tibbs: n/p ... need still one more for quorum anyway, and no new tickets 16:08:13 tibbs: I don't know if you saw, but I posted a comment in ticket 398 in response to your message 16:08:17 brb 16:09:43 Well, the last section in the draft definitely forbids the minor release bump. 16:10:08 * limburgher here 16:10:09 The "Release Tag" section. I don't know how you could read it any other way. 16:12:01 hi everyone 16:12:16 yeh 16:12:33 👋 16:12:40 We dont' have 5 members atm. ... but we can talk about 398, if you want 16:12:46 #chair racor 16:12:46 Current chairs: Rathann geppetto orionp racor tibbs 16:12:51 And that makes 5 :) 16:12:58 6. 16:13:09 #topic Schedule 16:13:09 #chair limburgher 16:13:09 Current chairs: Rathann geppetto limburgher orionp racor tibbs 16:13:10 sorry for being late ;) 16:13:20 https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/message/XKRYWFJ3HGNMTMLZYXH2JPKFX4NF5NU6/ 16:13:52 #topic #398 Tilde in version 16:13:57 .fpc 398 16:13:59 geppetto: #398 (Tilde in version) – fpc - https://fedorahosted.org/fpc/ticket/398 16:14:31 Ok, big update here ... from comment #42 onwards 16:14:59 I'm actually not far from +1 but I still have concerns. 16:15:00 * ignatenkobrain and Pharaoh_Atem made Draft for Guidelines 16:15:07 AIUI the main push here is to have upstream versions just be in the version field, and not bleed over into release 16:15:25 tibbs: can you write more about concers? 16:15:28 concerns* 16:15:36 I don't think I can write much more than I already have. 16:16:16 oh, sorry. I didn't see comments on ticket 16:16:18 * ignatenkobrain reads 16:16:30 I am still at -1 ... because I do not see any merits from this. 16:16:55 Basically, I'm not willing to accept an argument that "even though it's not complete, it's prettier than what we have now". 16:17:02 To me this all appears to be a Debian imitation cult, without actual use 16:17:06 I can see the merits. 16:17:20 I explained how I see the merits in the ticket. 16:17:28 main advantage is that version part goes to Version tag 16:17:37 which? more confusion with the current rules 16:17:53 tibbs: actually I noted how to avoid something what is not sortable 16:18:18 Use of epoch is not acceptable. 16:18:18 where? 16:18:41 tibbs: we currently permit it now 16:18:42 tibbs: why not? 16:18:50 it's mentioned in the current guidelines 16:18:50 It is not acceptable in this case. 16:19:09 epoch is used when there is no other way, and you couldn't see a problem before it happened 16:19:21 geppetto: They say that if your alphatag is not sorted, just bump epoch. 16:19:25 yeah, it's a last-resort option 16:19:25 And... hell no. 16:19:33 tibbs: Yeh, I was agreeing with you 16:19:37 Epoch must stick around forever. 16:19:41 why? 16:19:47 there's literally no reason for that anymore 16:19:47 I don't see point 16:19:55 upgradepath works 16:20:00 No, it doesn't. 16:20:02 distro-sync/fedup to new release works 16:20:04 it does 16:20:11 and it forces every package depending on a particular version of the one with epoch include it in its own spec 16:20:16 There are other ways to upgrade. 16:20:23 so it spills over 16:20:30 hence: last resort 16:20:37 I build the rawhide version of packages into current releases all the time. 16:20:47 You simply cannot remove epochs. 16:20:56 So, it's going to be a non-starter. 16:20:59 If you know there are going to be problems, you can fix it some other way (Eg. the current guidelines with N. prefixing 16:21:01 so then we're back to a leading integer 16:21:05 tibbs: actually I don't see problem with removing Epochs 16:21:06 Please present a better solution. 16:21:27 I mean, even prepending 'Z' is a better solution. 16:21:29 tibbs: would putting a leading integer work? 16:21:35 Yes 16:21:44 then we'll revert to that 16:21:46 Sure, except that now you gain very little over the current scheme. 16:21:47 also, what do you do if kismet upstream releases 1.0.2 after you packaged kismet-1.0+20050515cvs-1%{?dist} ? 16:21:58 geppetto: tibbs: it's not better because it will confuse dependency generator 16:21:58 introduce epoch here? 16:22:00 madness 16:22:01 Although you might want to just heavily recommend people not use "versions" which are random words/tlas 16:22:17 kismet-1.0.2 is greater than kismet-1.0+20050515cvs 16:22:32 Pharaoh_Atem: then 1.0.1 16:22:33 if you want in depgen to generate real version dependency (including alpha/beta/etc.) it's only one way 16:22:59 The problem here is that you cannot necessarily know in advance that your upstream is going to do something stupid. 16:23:02 Pharaoh_Atem: % rpmdev-vercmp kismet-1.0.2 kismet-1.0+20050515cvs 16:23:02 kismet-1.0.2 < kismet-1.0+20050515cvs 16:23:09 Our current guidelines handle that. These don't. 16:23:12 rpmdev-vercmp is wrong 16:23:32 AFAIK it just calls the rpm version comparison tool 16:23:38 Uh, if that's wrong then the rest of the world is wrong. 16:23:38 it doesn't actually match the version comparison algorithm in rpm now 16:23:52 * ignatenkobrain notes to send patch for RPM 16:23:56 it uses python-rpm 16:24:19 I think mls was telling ignatenkobrain and I yesterday about it 16:24:27 Hell, that vercmp thing alone is enough to say we're too deep into untested and potentially busted territory to go for this now. 16:24:28 or rpm-python, actually 16:24:37 Pharaoh_Atem: it calls the rpm API via. python 16:25:11 tibbs: and I disagree with the idea that it's untested and busted territory 16:25:16 Pharaoh_Atem: It's possible for libsolv to act differently, as that has it's own thing ... but if they've diverged that needs to be fixed pretty quickly 16:25:25 SUSE has been using this scheme for several years 16:25:26 I do buy the argument that it would be beneficial to use upstream versions in the Version: field 16:25:32 That's great. 16:26:13 but this one small benefit doesn't justify the downsides 16:26:13 and I have built Fedora packages with this scheme myself to be sure things actually work 16:26:34 So fix the bugs and issues and.. come back when that's done? 16:26:43 * limburgher exhales 16:26:46 tibbs: can you write down what's the bugs and issues? 16:26:56 I can't write down more than I've already done in the ticket. 16:27:06 Except for the vercmp thing, which I think has been covered. 16:27:11 What else do you believe you need? 16:27:17 also we're not supposed to package alpha/beta/rc/testing/unstable/whatever versions in general 16:27:23 I've typed like 2000 words about this already. 16:27:28 so these cases are an exception 16:27:40 Rathann: should I run repoquery and grep for alpha/beta/git/etc.? ;) 16:27:47 Rathann: we do it in rawhide a lot at the minimum 16:27:47 I don't see why it's not allowed 16:27:54 and rpm has been an "RC" for three releases 16:28:17 so you want to justify bad behaviour with "everyone is doing it"? 16:28:22 yeh, different upstreams use those descriptors differently 16:28:27 Rathann: if I must, then I will 16:28:28 ignatenkobrain: I has never been allowed. Should packages use this, these need to be fixed. 16:28:32 that's childish 16:28:36 It *is* done a lot, which is an excellent reason to get this right. 16:28:39 We're not getting anywhere. 16:28:46 true 16:28:53 I'm -1 to the current proposal 16:29:01 limburgher: Only debian is doing it 16:29:05 for the reasons stated already many times 16:29:15 I don't see any new convincing arguments 16:29:21 racor: did you miss the fact that openSUSE does it too? 16:29:28 hell, I'm seeing it used in Mageia nowadays too 16:29:29 I'm -1 as well, especially because of Epoch. 16:29:41 we can take Epoch usage out 16:29:44 Debian doesn't even use RPM. I mean, how is that an argument? 16:29:52 * Rathann mumbles something about millions of flies that can't be wrong 16:29:53 * Pharaoh_Atem sighs 16:29:54 And the current scheme for vcs snapshots works. 16:30:01 except... it doesn't 16:30:15 Why is that? 16:30:22 Here we go again. This is getting old. 16:30:24 the whole reason ignatenkobrain and I even brought this up again is because packagers get confused and break everything 16:30:32 It works when followed. 16:30:42 Your stuff doesn't work in all cases when followed. 16:30:43 Pharaoh_Atem: I don't care about this dying distro. 16:30:43 tibbs: +1 16:30:50 _And_... 16:31:05 It's not really that much less confusing. 16:31:17 You really think that users won't get your scheme wrong, too? 16:31:18 hyperv-daemons-license-0-0.15.20160728git.fc26.noarch 16:31:18 kernel-modules-4.8.0-0.rc4.git3.1.fc26.x86_64 16:31:18 arpack-3.3.0-2.b0f7a60git.fc24.x86_64 16:31:18 python3-iscsi-initiator-utils-6.2.0.873-34.git4c1f2d9.fc25.x86_64 16:31:18 ... 16:31:21 That's just not an argument. 16:31:26 I've had to package lots of snapshots, often for FTBFS, and managed to avoid magic smoke. 16:31:31 Pharaoh_Atem: People cannot expect Fedora to be Debian and have to adopt to Fedora/RH conventions. 16:31:45 tibbs: Indeed. I do it, and I'm -1. 16:31:46 it's jsut 4 packages out of thousands which are packaged wrongly because packagers do not understand what they should do 16:32:08 ffs, even our golang packages don't follow our snapshot guidelines 16:32:14 that's dozens of packages 16:32:22 Again, that is not an argument. 16:32:32 #info Take epoch bumping out; resolve the rpm-vercmp problem; post some before/after examples in a comment 16:32:41 geppetto: +1. 16:32:42 Right. Just because the rules aren't being followed doesn't mean that changing them will increase compliance. 16:32:58 limburgher: it's a symptom that there's a problem with the current rules 16:33:01 Actually I can pretty much guarantee that it will decrease compliance. 16:33:20 A problem with the rules, or a problem with packager compliance? 16:33:26 Pharaoh_Atem: Then file bugs against them and have them fixed. 16:33:36 tibbs: in the long term? 16:33:36 problem is in too weird and unclear rules 16:33:38 People commit murder. Doesn't mean that shouldn't be illegal. 16:33:39 Pharaoh_Atem: You jsut aren't getting it. Your new rules are still confusing. They may be less confusing. 16:34:01 But you can't really use either as a valid and convincing argument, sorry. (At least to me.) 16:34:03 tibbs: thing is to make rules less confusing as well 16:34:16 it's not main point, but one of 16:34:18 I think the existing rules could be simplified somewhat without Epochs or tildes. 16:34:24 Pharaoh_Atem: I do not agree. I think this a symptom of the fedora packaging review process having disrailed 16:34:25 But _you haven't done that_. 16:34:33 That's my whole point. 16:35:01 Your draft isn't really any shorter than the existing guideline. 16:35:21 I said positive comments in the ticket; it's not as if I don't see the point. 16:35:45 I could have shortened it, but I didn't want to take the examples out 16:35:53 there's a lot of redundancy in there I could have removed 16:36:00 short!=simple 16:36:05 long!=complex 16:36:20 tibbs specifically mentioned it wasn't any shorter 16:36:23 Arguing that you could have met some sort of simplicity requirement by removing the examples isn't really a reasonable argument. 16:36:42 Removing the examples would be a major step backward. 16:36:48 which is why I didn't 16:36:50 So, look. 16:37:06 Please fix the issues that have been pointed out. 16:37:26 If you do that, I will be positive towards the concept. 16:37:33 I see issues and I definitely will be ready to fix that 16:37:43 certainly, we'll adjust them accordingly 16:37:49 only one problem which I don't see, why Epochs is prohibited in that case 16:37:50 I will still not be sure it's actually worth the effort to change all of this. 16:38:01 I've given an example in this discussion. 16:38:09 it's not worth arguing over Epochs 16:38:21 Epochs are a tool of last resort. 16:38:29 it's not arguing, it was question (because I really don't understand) 16:38:33 I'm willing to entertain arguments that is actually worth the effort to change all of this. 16:38:40 Like airbags. There if you need them, but for safety, not comfort. 16:38:57 And if we do have a thing which at least some of us would find acceptable, I would like to involve FESCo. 16:39:37 What for? 16:39:51 It impacts every single packager. 16:40:09 Not currently every single package (because most just package release versions). 16:40:16 But potentially every one. 16:40:21 That feels like it'd be pretty arbitrary ... there are some people on FESCo who understand the pros/cons here, but I'm not sure all do 16:40:38 I just want buy in. 16:41:04 Give them a summary of what would be changing and the merits of it. 16:41:24 One thing this brought up for me, is the current misuse of git snaphot release tags not containing a date prefix - which would be exacerbated with this versioning scheme. But I think we need to fix https://fedoraproject.org/wiki/Packaging:SourceURL#Commit_Revision 16:41:34 This is just too huge a thing for us (as basically a fesco subsidiary) to change. 16:41:36 Eh, that could be said about a lot of stuff ... I guess it can't hurt, if we want to approve something, to have a general "just to make sure, this is kind of a big change, so speak now if you really object for some reason" 16:42:14 Yes, that's basically it. And why we have that clause about involving fesco in any decision if any committee member wants to do so. 16:42:19 orionp: The problem there is that the date of the commit isn't that useful 16:42:29 It sort of is and sort of isn't. 16:42:40 True, but dates sort better than SHA. 16:42:41 It depends on what you think the version-release is there for. 16:42:51 tibbs: I am not sure if your intention is nice or an act to circumvent FPC. 16:42:52 orionp: I guess it is more if it's just snapshots from master, but I don't think that covers all usage 16:43:17 racor: Can probably assume the best from tibbs 16:43:25 racor: It's basically to make sure we don't have a huge outrage again. 16:43:31 limburgher: dates are useless, interesting thing is count (git rev-list --count) and hash. but this topic is not about this 16:43:57 tibbs: Version is for Version and Release is for dist-branch specific things 16:44:02 like rebuilds/etc. 16:44:04 the proposed scheme move the scm tag into the version field, and it's critical that it sorts 16:44:05 ignatenkobrain: dates are not useless if you want to know how old a source snapshot is 16:44:12 ignatenkobrain: I believe you miss the point. 16:44:21 tibbs: possible 16:44:28 geppetto: I am not sure, anymore. Delegating a problem we are supposed to solve to a group of people of whom I expect the majority not even to comprehend it, is at least "questionable". 16:44:29 version-release has meanings for both RPM and for humans looking at them. 16:44:54 Version is interesting for humans, Release is interesting for developers/bugreporters 16:45:01 the current guidelines technically require the date prefix too 16:45:01 racor: I think by the time we run this by FESCO, we'll all have contributed our understanding. 16:45:15 ignatenkobrain: That does not describe the current state of affairs. 16:45:32 ignatenkobrain: No, not true. 16:45:38 racor: As I said, if we did send it to them I think we'd want to heavily mark out what we wanted ... but allow someone to say "this is bad because..." ... which is probably what tibbs meant anyway 16:45:41 Nor how Fedora has interpreted it since Fedora's inception. 16:46:07 I understand that your proposal changes that. Which is fine; it's one of the merits I see in it. 16:46:27 But you can't just state that the way you want it to be is the way it currently is, and that Fedora is just wrong. 16:46:45 I hope you can see my point. 16:46:48 ignatenkobrain: I'm not sure I'd agree with that interpretation of version/release 16:47:02 geppetto: what's your interpretation? 16:47:24 tibbs: Exactly. One can also turn this argument around: ignatenkobrain has not yet understood rpm's versioning. 16:47:30 I don't think you can make a case that any field is of primary interest to a particular party. 16:47:38 racor: I do 16:47:39 Well a lot of "humans" care about certain bugfixes ... eg security ones. Not all of those are rebases, even in Fedora 16:47:52 So users (aka. humans) care about release too 16:48:12 strictly speaking, what most people consider the "canonical" reference on what things "are" says that the version field indicates the version of the packaged software: http://www.rpm.org/max-rpm/ch-rpm-file-format.html 16:48:22 whereas the release is the number of times the software has been packaged 16:48:24 geppetto: hm, yes. security fixes. okay, bugreporters/developers/security people are interested in release 16:48:27 Right. There's nothing in 1.4.0-6 that indicates that it includes a backported security patch from 1.5.3. 16:48:41 And you could easily argue that upstream pre-release versions are something "humans" don't care about, so putting that data in the version field goes against your definition 16:48:53 so, developers and bugreporters are not humans? 16:48:59 geppetto: I would find that argument hard to believe 16:49:04 ignatenkobrain: then why are you proposing the Debian versioning scheme. What actual technical advantage does it have over what we have been using for years. 16:49:19 racor: I'm not proposing Debian versioning scheme 16:49:31 it has nothing to do what Debian does 16:49:55 I even never see it. 16:50:11 Pharaoh_Atem: I would say that most people when they see "2.1.0~foo-5" ... the main thing they care about is that it's really close to upstream 2.1.0 16:50:36 geppetto: foo usually will be alpha/beta/rc. sometimes git 16:50:44 ignatenkobrain: sure 16:50:47 in case of git we can't say how close it to upstream 2.1.0 16:50:51 but for others we can 16:50:54 ignatenkobrain: then which technical advantages does your versioning scheme have over what we have been using for years? I don't see any. 16:51:30 racor: The main one is that upstream versions will always go into the version field, and distro. versions into the release field 16:51:59 racor: it's a clear separation of the versioning between upstream and downstream 16:52:05 geppetto: +1 16:53:16 geppetto: Eye-candy, featuritis. 16:54:12 racor: There is some eye-candy aspect to it ... but if it does look nicer that isn't nothing. I can also see arguments that tools can/will be happier with a harder split 16:54:22 For me, the benefits of a change like this need to outweigh the risks. And as it stands, I'm not sold on the downsides of the current arrangement, when complied with. 16:55:12 Right, if ignatenkobrain can take the comments from this meeting and remove a lot of the downsides I think that will help evaluate the pros vs. cons better 16:55:29 * ignatenkobrain will do this 16:55:38 Agreed. 16:55:41 So unless anyone wants to shout at anyone else a bit more ... I say we leave this now for another meeting? 16:56:21 Ok 👍 16:56:31 okay 16:56:34 geppetto: Wrong for versioning, wrong for America (Paid for by citizens for better bikesheds) 16:56:35 ;) 16:56:44 #topic Open Floor 16:56:45 * Pharaoh_Atem splutters 16:57:01 Ok, I don't think there's much to talk about on 558 or 610 16:57:08 I concur. 16:57:12 But if there is, shout now ... or about anything else 16:57:35 Can we follow up with my concern about dates in git snapshots? 16:58:00 fwiw, I usually use both a date and the git hash 16:58:06 orionp: Could you repeat them? 16:58:06 Is this vis-a-vis 398> 16:58:07 orionp: You want to talk about it now, or open a ticket or somment in 398? 16:58:14 the date for sorting, and the git hash for information 16:58:17 s/somment/comment/ 16:58:41 orionp: The main problem I can think of is that I don't think all git snapshots come from master 16:58:46 https://fedoraproject.org/wiki/Packaging:Versioning#Snapshot_packages requires a date in the snapshot release 16:59:20 geppetto: I don't think the branch is relevant - every commit has a date 16:59:21 orionp: So the date doesn't really give the right information (and even on master you can rebase/merge older commits) 16:59:40 orionp: Right, but when you put a date in people assume newer == better ... and tha'ts the bit that's not true 17:00:20 I would prefer to have number of commits since tag 17:00:25 as this is more useful 17:00:31 I'm just looking at what our guidelines say and trying to be consistent 17:00:38 you can see if there were 3-5 commits or 1k commits since tag 17:00:39 We've already had a big argument about using tags at all. 17:00:45 Since tags can move. 17:00:50 it's probably more than 50% of the time, but not 100% ... and I'm not sure where on the spectrum it falls. 17:01:10 tibbs: I think he means release tags 17:01:27 Not all vcs users use tags in their repos. 17:01:30 I'm not sure how that differs. 17:01:46 So if you have 1.0.1~N ... the N would be commits on master since 1.0.1 17:01:48 The git hash is pretty much the only universal thing we have. 17:01:49 basically there is no guarantee that release tarball will not be swapped 17:02:04 Fortunately we can detect that. 17:02:18 I'd rather have hash, commit #, because if N is large I have to git clone, git log, and count. . . 17:02:18 tibbs: I would prefer num of commits AND hash 17:02:48 ignatenkobrain: Sure, but at some point there's only so much you can actually encode into version-release before you lose utility to humans. 17:02:49 Yeh, I'm pretty sure orionp wants date and hash too ... I can see the desire for both 17:02:53 ignatenobrain: That's non workable. 17:03:05 And if they are useful are large percentage of the time, I'm happy to require them 17:03:06 date and hash are both good. 17:03:20 geppetto: I am in favor of date and hash, also 17:03:23 date guarantees sorting, hash guarantees reproducibility. 17:03:25 Plus.... the current guidelines don't forbid what you want to do. 17:03:31 Anyone want to volunteer to get some stats.? 17:03:36 limburgher: date doesnt guarantee sorting 17:03:43 ignatenkobrain: Note that everything after "git" is entirely up to the packager. 17:03:57 ignatenkobrain: you're counting on it in your proposal 17:03:58 limburgher: for mesa I was doing 2-3 snapshots per day 17:03:59 ignatenkobrain: number of commits after release is also non-obvious 17:04:00 Now so? In my experience, dates have been going inexorably up. 17:04:04 Hell, you don't even have to use "git" if you don't want to. 17:04:13 it took me forever to figure out that's what the 522 was on the apt package in Fedora 17:04:18 orionp: I didn't want to touch that topic because not everyone will like it 17:04:29 orionp: I wanted to touch "+" and "~" in topic 17:04:35 One problem however, due to "git merge" etc. commit dates aren't necessary ordered 17:04:45 racor: ^THIS 17:04:56 racor: so why not use the date you make the snapshot? 17:04:58 The date is the date when you made the snapshot. Nothing more. 17:05:05 Yes. 17:05:18 Pharaoh_Atem: That's what I actually do! 17:05:25 it's what I do too 17:05:29 in guidelines it's written differently AFAIK 17:05:35 that it should be date of commit 17:05:37 ugh, apt package versioning is horrible 17:05:39 I think everyone should make sure they've read https://fedoraproject.org/wiki/Packaging:Versioning#Snapshot_packages pretty well. 17:06:09 "%{checkout} consists of the date that the snapshot is made in YYYYMMDD format, a short (2-5 characters) string identifying the type of revision control system or that this is a snapshot, and optionally, up to 13 characters (ASCII) alphanumeric characters that could be useful in finding the revision in the revision control system. " 17:06:13 The only thing we require is the date you took the snapshot and a short identifying string. 17:06:20 my bad. though I'm not fan of dates 17:06:26 and as I said I had problems with date 17:06:28 Rathann: I finally figured it out when I saw one of the apt devs actually merge the apt-rpm code against the debian apt 0.5.15 release 17:06:30 I'm more of a prune person myself. 17:06:30 as I did 2-3 snapshots per day 17:06:35 and it said 522 commits ahead 17:06:37 You have 13 characters to do whatever you want. 17:06:48 Just like D&D. 17:07:00 And the leading integer makes everything sort, so it doesn't matter if you take more than one snapshot. 17:07:18 So if we're all on board with the current date requirement, I think we need to fix the last sentence of https://fedoraproject.org/wiki/Packaging:SourceURL#Commit_Revision 17:07:50 That was probably just an oversight. 17:07:59 " You can substitute %{shortcommit0} for %{checkout} in that section." to "You can substitute %{shortcommit0} for the git hash in %{checkout} in that section. 17:08:24 Fixing now. 17:08:26 I imagined that the author's mind was addled from trying to grok github's URL system. 17:08:40 orionp, tibbs: +1 17:08:45 Done. 17:09:03 great, thanks. 17:09:07 tibbs++ 17:09:07 limburgher: Karma for tibbs changed to 5 (for the f24 release cycle): https://badges.fedoraproject.org/tags/cookie/any 17:09:13 orionp++ 17:09:13 Rathann: Karma for orion changed to 4 (for the f24 release cycle): https://badges.fedoraproject.org/tags/cookie/any 17:09:18 Ok, anyone want to check how many packages are now non-compliant ?;) 17:09:26 lots 17:09:30 N 17:09:31 I would be open to revising the date requirement if there's a useful alternative which still communicates something to the end user. 17:09:32 nearly all, probably 17:09:36 including mine 17:09:36 But certainly not now. 17:10:08 My concern is that the proposed +/~ scheme with git checkouts requires the date to sort 17:10:11 The other fun thing is that these guidelines are mostly to keep people from screwing up and getting the ordering wrong. 17:10:27 Our tools actually make this pretty obvious now; back in the old days that wasn't the case. 17:10:38 so I tend to think the leading integer in the current scheme helps out a lot 17:10:47 It does. 17:10:55 So people have gotten by with bad versioning and not noticed. 17:11:18 I wish it were possible to automatically check that the versions match some criteria. 17:11:19 one last thing - there's a link to jpackage guidelines - jpackage is long dead 17:11:27 Ugh, where is that? 17:11:30 Which, one could argue, isn't that huge a deal, if no kittens are harmed. 17:11:35 right on the snapshot versioning page 17:11:46 I wasn't sure what to do with that either 17:11:50 I left it alone in my draft 17:11:59 last bullet in "Version Tag" 17:12:06 yeh, it's probably fine to just delete it all 17:12:06 Should we just remove the whole JpackagePolicy document? 17:12:15 +1 17:12:15 tibbs: +1 17:12:17 +1 17:12:18 please do so 17:12:39 JPackage is long-gone, and every distro has absorbed their packages and changed it since 17:13:10 +1 17:13:13 The page is gone. 17:13:17 :D 17:13:48 And the bullet point is gone now as well. 17:14:04 Anything else I should tweak? 17:14:27 I think that was all I saw when reviewing this 17:14:32 I'm god 17:14:33 *good 17:14:39 Modest, as well. 17:14:42 haha 17:14:43 :) 17:15:11 BTW, I patched it in the existing guideline, not in the draft for 398. 17:15:28 ignatenkobrain and I will kill it when we make the other mods 17:15:30 Ok, I'm going to close the meeting in a minute or so. Unless anyone has anything else for today. 17:15:31 Cool. I assumed as much. 17:15:36 tibbs: Yeh, that's what I assumed 17:15:37 Not I. 17:15:49 I have something 17:15:50 it's all gravy 17:15:57 racor: Yeh? 17:16:05 Do note that I did throw out a draft for.... 17:16:14 https://fedorahosted.org/fpc/ticket/558 17:16:18 But racor first. 17:16:25 we have packages entering fedora which do not support -msse2 17:16:45 We have packages already in as well. 17:16:52 e.g. require to be compiled with -mssse3 17:17:00 ok 17:17:04 racor: make them x86_64 only? 17:17:16 Aren't there x86_64 that don't have that, too? 17:17:23 I don't recall the details. 17:17:26 ah right 17:17:37 Is that right? 17:17:42 it is 17:17:47 Rathann: -mssse3 is not in fedoras CFLAGS 17:17:57 x86_64 ABI includes SSE2 only 17:18:16 Rathann: exactly. 17:18:20 racor: can you provide an example of a package that uses SSSE3 unconditionally? 17:18:39 So the issue is that we have packages compiled in such a way that they cannot run on some subset of our supported architectures? 17:18:47 https://bugzilla.redhat.com/show_bug.cgi?id=1372866 17:19:12 I'm not sure we have any packaging guidelines on this besides not screwing with the provided cflags. 17:19:33 Also, glibc supports a way around this now. 17:19:54 We might want to consider guidelines for that, but I don't know enough to write them. 17:19:57 tibbs: If you want to put it this way, yes. To put converse: We have packages in x86_64, which do not comply to the minmal instruction set fedora is supposed to support. 17:21:00 Eew. 17:22:01 Anyway, these packages do need to be fixed if possible. 17:22:05 Yeh, as tibbs said I'm not sure what to do. I know we've had CPU features requirments before 17:22:09 Esp. for the kernel package 17:22:24 But do note that we also say you need some amount of RAM to run Fedora. 17:22:36 That doesn't mean that everything in the repo will actually run on said minimal system. 17:22:41 But there's always been a backup ... unless rel-eng signed off on it 17:22:58 But not shipping the package doesn't seem like a good solution either ... so *shrugs* 17:23:19 So it is sort of a grey area. I mean, if the upstream software doesn't support ancient x86_64 cpus, I don't see the benefit in kicking it out. 17:23:26 I assume hyperscan builds everywhere? 17:23:43 It just doesn't work on some CPUs that are x86_64? 17:23:47 To go from "most people can use the package" to "nobody can use the package" doesn't seem productive. 17:24:09 it won't build on i686 without -mssse3 if I understand correctly 17:24:15 geppetto: No, it doesn't. I only supports mssse3 supported x86_64's and nothing else. 17:24:32 * geppetto nods ... and those are really common? 17:24:43 Not particularly, but they do exist. 17:24:46 geppetto: it depends 17:25:02 they might be more common in poorer countries 17:25:29 I wonder if we can get someone to get a CPU feature test for msse3 and then exit with an error message if it fails? 17:25:56 geppetto: I don't know. But we require all packages to honor "our CFLAGS", reason being a "common instruction set" 17:25:57 Rathann: I meant msse3 supporting cpus are really common 17:26:11 ah 17:26:14 let me look it up 17:26:29 Where is the actual guideline that says that you can't mess with cflags? 17:26:50 I'm pretty sure the guidline just says that you have to use RPM_OPT_FLAGS 17:27:04 not that you can't add stuff which changes that 17:27:06 Ah, there it is. 17:27:07 geppetto: SSSE3 is 10 years old 17:27:11 Was searching for the wrong thing. 17:27:14 https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags 17:27:24 https://en.wikipedia.org/wiki/SSSE3 17:27:28 "generally discouraged" and "revisited on a case-by-case basis". 17:27:32 Rathann: Ok, not new then 17:27:34 So.... 17:27:44 Needs updating to MUST and SHOULD, definitely. 17:27:55 Yeh, I'm fine with letting it go ... although it'd be nice to not just crash on bad instruction or whatever 17:28:09 Not crashing is indeed generally preferable. 17:28:14 :) 17:28:22 * Rathann notes that not crashing is only a SHOULD 17:28:34 But I can see upstreams not caring about old CPU support. 17:28:59 The issue is when that gets into a dependency tree, so you start losing larger blocks of packages. 17:29:10 tibbs: I have a couple of packages where upstreams don't test on non-SSE2 CPUs at all 17:29:12 hyperscan is a library, isn't it? 17:29:30 I just checked my machines, and I have one without ssse3 17:29:33 Is this ssse3 in cpuflags? 17:29:34 if it's a library then it shouldn't crash on Fedora-supported hardware 17:29:54 yes, being a library is a concern 17:29:58 model name : AMD Turion(tm) II Neo N40L Dual-Core Processor 17:30:14 nice 17:30:21 I do think there are CPUs made within the last five years that don't support sse3. 17:30:33 It's an hp n40l microserver 17:30:36 Also not sure what it should do if one of the CPUs in a machine doesn't support ssse3 and one does ... hope the scheduler gets lucky?:) 17:31:01 geppetto: I don't think that's possible in practice 17:32:27 So the topic I take from this is: how should we reword the compiler_flags guideline? 17:32:36 ¯\_(ツ)_/¯ 17:32:41 And let fesco handle arch support in general. 17:33:12 It's not as if they haven't talked about it recently. But I don't think they specifically covered the case of packages which simply don't support sse2-only CPUs. 17:33:51 "Packagers MUST not override these flags for performance optimizations"? 17:33:57 Or "SHOULD NOT"? 17:34:23 Remember that MUST means you have to ask us. SHOULD means you have to document your reasons in the spec. 17:34:45 Not that most folks will do that anyway, but still.... 17:35:03 so ... what kind of unicorn do we want to wish for? 17:35:04 Took the words right out of my fingers. 17:35:13 Well, one thing at a time. 17:35:16 Start with ponies. 17:35:21 OMG 17:35:37 I'm mostly happy with SHOULD, I think 17:36:00 But I won't argue strongly against MUST 17:36:05 I think SHOULD keeps the existing spirit of the guidelines. 17:36:14 * geppetto nods 17:36:32 The whole point of that was to get away from people building with -O9 because fastererer. 17:36:48 That was a fun discussion way back in the before time. 17:37:08 +1 17:37:43 shall I file a ticket with FESCo what to do (if anything) about software that doesn't run on all Fedora supported hardware? 17:37:54 I think that would be a good idea. 17:38:10 Though if we want to propose something, we should do that. 17:38:26 I just don't know what to propose besides somehow noting that fact in the package %description. 17:38:51 Maybe using a wrapper that greps /proc/cpuflags so that the package doesn't crash? 17:39:09 get fesco to set a policy, we'll get that into the guidelines somehow 17:39:09 Assuming the package would crash and not handle the problem. 17:39:29 I am for "MUST" because otherwise our rules on CFLAGS and architecture are not worth the bits used for them. 17:39:30 It would be fun if the software itself checked for it's own requirements. . . 17:39:32 Right, but sometimes fesco likes having proposals. Sort of like we have drafts. 17:39:37 well with i686 SSE2 vs non-SSE2 it's easy, you just put sse2 libs in /usr/lib/sse2 and ld will automatically load those on sse2-capable CPU 17:40:07 how about MUST for libraries and SHOULD for applications? 17:40:12 -Ofast ;) 17:41:03 I regret, but it's late for me, I need to quit now. 17:41:22 racor: Perhaps. 17:41:34 racor: Oops, sorry, that was supposed to be Rathann. 17:41:41 racor: But do take care. 17:41:41 I really don't have a proposal - seems like it's a shame to forbid software completely, but we don't want a lousy user experience either 17:41:54 I need to leave here too 17:42:01 * geppetto nods 17:42:03 Personally I think a wrapper is pretty reasonable, actually. 17:42:11 I can close, and we'll come back to it 17:42:13 A system-wide one would be trivially. 17:42:13 Yeah, we do it for opengl. . . 17:42:21 The problem with a wrapper is that it only works for apps 17:42:21 trivially doable. 17:42:30 orionp: I consider compliance to our architecture's a necessary requirement. 17:42:41 Well, you wrap apps that use the library. 17:42:44 and it's much more likely for libs ... and the current problem is a lib 17:42:51 Yeh, I guess 17:42:53 racor: Out of the scope of this committee in any case. 17:43:06 But when Rathann files the fesco ticket, you should definitely comment there. 17:43:09 racor: Yes, I'm sympathetic to that view 17:43:30 hopefully there's a reasonable technical fix. 17:43:56 tibbs: No. we mandate compliance to "our architecture". It's the rationale for banning many CFLAGS. 17:44:10 Fesco decides what that is, not us. 17:44:19 Let them do their job and we can do ours. 17:44:27 They do what, we do how. 17:44:53 now, I really need to go .... 17:45:06 ok, see you next week 17:45:25 * limburgher waves 17:45:40 So, hopefully folks will look over https://fedorahosted.org/fpc/ticket/558#comment:19 at some point. 17:45:48 I will turn that into a wiki page at some point. 17:45:51 Yes. 17:46:16 Just wanted to get something out there since I'm like a year late in providing that draft. 17:46:23 :) 17:46:28 I don't like it, but it does kind of say what I think needs to be there. 17:46:40 * geppetto nods 17:48:24 Ok, I think that's it 17:48:30 See you next week 17:48:34 #endmeeting