16:02:44 #startmeeting Fedora Packaging Committee 16:02:44 Meeting started Wed Dec 1 16:02:44 2010 UTC. The chair is spot. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:02:44 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:02:49 #meetingname fpc 16:02:49 The meeting name has been set to 'fpc' 16:03:28 #topic Roll Call 16:03:50 * spot is here (as much as I ever am, anyways) 16:04:05 Almost slept through it. (Not feeling well today.) 16:04:11 here 16:04:12 * Rathann|work present 16:04:23 (but distracted) 16:05:07 geppetto, racor, SmootherFrOgZ? 16:06:09 here (somewhat distracted and likely having to leave early) 16:06:36 Hi guys 16:06:50 yeh 16:07:04 okay, thats quorum (even if half of us are sick or distracted). :) 16:07:28 #topic Systemd https://fedorahosted.org/fpc/ticket/31 16:07:52 I updated the ticket and sent out an email to the packaging list with the new draft this morning 16:08:07 i think it would make sense to let it have a week to gather comments and review 16:08:34 Please try to find some time to look it over before next week: https://fedoraproject.org/wiki/TomCallaway/Systemd_Revised_Draft 16:08:51 Unfortunately I can't even get it to load. 16:09:08 tibbs|h: weird. 16:09:12 * abadger1999 still thinks we should have either unitfiles or sysvinit scripts but not both. 16:09:36 I thought the point was that it would use initscripts if it had them. 16:09:54 So you could override the unit behavior by dropping in a script. 16:10:02 Packaging both would seem to defeat that. 16:10:06 tibbs|h: i don't think it works like that 16:10:13 tibbs|h: I think unitfiles are used if it has them, then it fallsback to the init script. 16:10:20 if no unitfile is present. 16:10:23 Which if of course backwards. 16:10:32 tibbs|h: if you say "systemctl foo" and it can't find foo.service, it looks for /etc/rc.d/init/foo 16:11:08 Oh, well, another bump in the train wreck. 16:11:27 But my problem with both is that sysadmin types in /etc/init.d/foo restart and that will do something even though a unitfile is present. 16:11:53 abadger1999 has a point 16:11:57 Yeh, I don't see the point of packaging both 16:12:07 and a sysadmin edits /etc/init.d/foo and expects the changes to take effect but they don't since there's a unitfile. 16:12:09 etc. 16:12:10 This revised draft is far, far better from an organizational point, at least. 16:12:14 16:12:19 the counter point there is that there will be some people who expect to be able to use upstart 16:12:48 and since it doesn't support the Unit .service files, it will simply not work. 16:12:50 I thought systemd was optional in F14, mandatory in F15. 16:12:54 which won't work unless we mandate that you do provide a sysv init script. 16:13:07 This half-switching crap just isn't going to work out well. 16:13:09 tibbs|h: that wasn't my interpretation, just that it was "default". 16:13:24 nirik: around? 16:13:43 spot: When we switch to upstart, we didn't support moving back to sysvinit … did we? 16:14:04 geppetto: different situation, because we never switched to the upstart only format 16:14:14 geppetto: but it did work 16:14:59 * spot is not opposed to dropping the sysvinit files entirely, but I suspect there might be some pushback. 16:15:29 i think it might be best to have this discussion on the mailing list 16:15:40 agreed 16:15:50 seconded 16:15:59 Maybe … I mean systemd should support them … I just don't see the point in distributing both in our packages, it just can't end well 16:16:16 f-d-l super joyness? 16:16:19 One problem with _some_ packages providing initscripts is that people who want upstart still won't be happy unless all of the packages provide them. 16:16:24 And we're not making them mandatory. 16:16:46 tibbs|h: sure, but if we take them out, we'd also need to retire upstart entirely. 16:17:24 My point is that if you take just one out of one boot-necessary package, then upstart is screwed anyway. 16:17:34 tibbs|h: fair point. 16:17:39 But I'm happy to discuss this on list instead of here. 16:17:47 Sounds good to me. 16:17:51 tibbs|h: okay, toss it on the list, and we'll discuss it 16:18:24 #topic hMandate NEVR(F N) >= NEVR(F N-1) - https://fedorahosted.org/fpc/ticket/40 16:18:30 #topic Mandate NEVR(F N) >= NEVR(F N-1) - https://fedorahosted.org/fpc/ticket/40 16:18:34 I thought this was already mandatory. 16:18:45 There are some policies that at least imply this already 16:18:50 both in fpc and fesco 16:18:52 me too 16:18:56 it would not hurt to be painfully clear here. 16:18:58 seems like a no-brainer to me 16:19:07 since we do have this problem creeping up often 16:19:13 nobrainer +1 16:19:16 +1 16:19:20 +1 16:19:21 I think disttag has what I remember 16:19:56 It does mention it. 16:20:03 +1 16:20:06 As well as http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Minor_release_bumps_for_old_branches 16:20:23 But I guess we can always state it a third time. 16:20:37 +1 16:20:39 So +1, but where to put it? 16:21:08 also … wth happened with fife so it got an older version in updates? 16:21:32 https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Version seems the most logical place 16:22:20 #action Draft is approved (+1:6, 0:0, -1:0) 16:23:07 Maybe a new section that encompasses package version, and package release 16:23:14 abadger1999: sure. 16:23:25 I'll take the write up on that. 16:23:31 abadger1999: awesome. thanks. 16:23:43 #topic Version free changelogs - https://fedorahosted.org/fpc/ticket/38 16:25:10 my initial thought here was that we could require that all builds that go to koji must have a top level changelog entry with a version 16:25:24 So I don't feel strongly but I'd rather see geppetto's suggestion or mine. 16:25:34 but i can see how that might be generally ignored and functionally impossible to police 16:25:55 Sorry, guys, my network connection dropped. 16:26:04 abadger1999: +1 16:26:20 I missed at least three minutes of discussion. 16:26:45 [10:24] #topic Version free changelogs - https://fedorahosted.org/fpc/ticket/38 16:26:46 tibbs|h: abadger1999 is going to make a new section encompasses package version, and package release and put the new sentence there 16:26:59 Sounds good. 16:27:01 +1 16:27:32 +1 16:27:35 Of the two options, I would prefer to document geppetto's solution 16:27:39 16:27:59 That would be fine with me 16:28:04 BTW, is there need for any special consideration of rawhide? 16:28:30 Because we don't want broken rawhide preventing updates on release branches. 16:29:43 tibbs|h: perhaps a line noting that rawhide packages must at least be greater or equal than the corresponding package's EVR of the preceeding Fedora release in the spec file. 16:30:10 Not a bad idea, I guess. 16:30:25 so what are we voting for, exactly? because Toshio suggested that we keep the version for every change 16:30:27 spot: I'm around now. 16:30:28 abadger1999: did you parse that logic? it came out a little uglier than i wanted. 16:30:31 spot: I think tibbs means when someone wants to do a simple update, but rawhide won't build their package … are they then allowed to have a newer version in release than rawhide? 16:30:54 geppetto: and my reply was "yes, as long as the spec in git is still >=" 16:31:02 Sorry, I guess we're on to changelogs now; sorry. 16:31:06 s/git/rawhide git/ 16:31:07 spot: Yeah I did... figuring out how to phrase it. 16:31:07 * geppetto nods … ok 16:31:51 I just don't want someone saying "that security update couldn't go out because it won't build in rawhide and the guidelines said I couldn't update anything". 16:32:03 Because, you know.... 16:32:11 nirik: wanted clarification on whether systemd would be mandatory in f15 or not (will upstart still be a supported option) 16:32:25 tibbs|h: sure. 16:32:28 tibbs|h: its a good point 16:32:37 spot: actually, I think we should be more lenient than that: you should be allowed to bump release branches higher than rawhide if necessary, temporarily of course 16:32:49 spot: good question. Not sure. I can bring it up in the fesco meeting today. 16:33:14 nirik: the answer will affect whether we document packaging sysvinit scripts or not. :) 16:33:14 I'm pretty convinced it's insane to require support for multiple init tools 16:33:21 exactly for the reason tibbs mentioned 16:33:31 mjg59: Me as well, but.... 16:33:48 Rathann|work: i'd still prefer that the spec in rawhide always be >= 16:34:01 We already allow support for multiple init tools; but we don't require it. 16:34:06 even if they don't/can't build. 16:34:07 spot: fair enough. 16:34:11 mjg59: yep. 16:34:27 hm, ok, I guess a no-op bump can always be done 16:34:40 And then, near release time, things get hairy with NEVR and not building again. 16:35:05 the autoqa folks have a pretty good test in the works to check against this 16:35:12 But FESCo/FES has been doing a good job on that. 16:35:45 and i think they plan on running it prior to each target milestone (alpha/beta/rc/final) for f15 (and as part of the updates process in the future) 16:36:22 so, lets go back to ticket 38. :) 16:37:03 +1 to geppetto's suggestion 16:37:11 I propose that we document that it is acceptable for multiple changelog entries to have the same V-R, even when the names and dates are different 16:37:27 (which is basically geppetto's suggestion summarized) 16:37:34 +1 16:38:10 spot: are the fedora tools able to handle this (rpmlint, rpmbuild, fedpkg clog)? 16:38:11 I'm happy to also +1 abadger1999 (which is that you shouldn't do serial entries which just change the date) 16:38:24 racor: yeah, they don't care about the V-R at all 16:38:37 except for maybe fedpkg clog, i would need to check it 16:38:45 I guess I can understand why you'd want multiple entries with different dates. 16:39:10 Although, honestly, shouldn't someone be considering how to link this all in with git these days? 16:39:32 spot: I think rpmbuild also occasionally complains (but I don't recall the precise circumstances, IIRC it's the date) 16:39:56 racor: it will complain about invalid dates 16:40:03 and out-of-order dates 16:40:19 fedpkg clog doesn't care either, it isn't terribly bright. 16:40:21 how about identical dates 16:40:41 * spot has done identical dates before 16:40:43 it doesn't mind that 16:40:53 OK 16:41:23 i would not be proposed to documenting both cases, as they are both permissable 16:41:29 tibbs|h: Maybe -- although there's different audiences there. git commit is aimed at the packagers. %changelog is aimed at technical users bodhi... "end users" where people seem to be leaning more towards less technical end users sorta. 16:41:32 errr, opposed rather than proposed. 16:41:36 me speak good english. 16:41:46 :) 16:41:51 16:41:57 I'd be okay with that as well. 16:41:58 in fact, that sounds good to me. 16:42:28 Lets vote on documenting both scenarios (multiple entries with the same V-R, appending additional items to existing V-R entry) 16:42:30 Another related question: What is the relation between "release" and VCS? 16:42:48 are they supposed to match, is VCS supposed to be buildable (at any time)? 16:43:01 racor: git doesn't care about it at all. 16:43:20 cvs cared from a tagging perspective 16:43:53 I am not talking about git vs. cvs, I am talking about "package state in VCS" 16:44:09 racor: koji cares, but only in the sense that it won't build something that it already has a successful N-V-R build for 16:44:34 racor: okay, then I'm not sure what you are asking here. 16:44:59 spot: Let me try to rephrase it: 16:45:35 racor: I would say no. vcs may be broken at any time. 16:45:51 if somebody checks out a package from git, it is this package's sources supposed to match what is in the corresponding *.src.rpm? 16:46:07 racor: unless they use the matching tag, the answer is no 16:46:16 another related case: Rebuilding Fedora from source. 16:46:26 ... FTBS 16:46:26 there are no tags, though 16:46:31 are there? 16:46:51 Only ones that you make yourself. 16:46:56 exactly 16:46:59 racor: To me, that should use the srpm rather than VCS. 16:47:04 Rathann|work: yep, one reason for why I am not excited about fedpkg. 16:47:09 One day koji is supposed to tag after a successful build, but that's not implemented. 16:47:16 fedpkg should do git tag too 16:47:33 i think koji is doing something there 16:47:52 this is really a Jesse question though 16:48:00 the plan is to have something external to koji do it 16:48:10 once a build completes sucesfully 16:48:15 we're going off-topic now, aren't we? 16:48:31 i would agree 16:48:39 Lets vote on documenting both scenarios (multiple entries with the same V-R, appending additional items to existing V-R entry) 16:48:42 +1 16:48:45 +1 16:48:46 +1 16:48:53 -1 16:49:10 +1 16:49:11 racor: are you opposed to one of them, or both of them? 16:49:14 +1 16:49:25 both 16:49:36 +1 16:49:39 racor: okay. duly noted. 16:50:05 you are adding reasons for confusion and inconstencies. this is not helpful 16:50:43 #action Documenting both scenarios (multiple entries with the same V-R, appending additional items to existing V-R entry) approved (as opposed to permitting version-less changelog entries, which was not) - (+1:6, 0:0, -1:1) 16:51:38 #topic Bundling Exception - shedskin - https://fedorahosted.org/fpc/ticket/39 16:51:52 * hicham wish we can add a number for automatic rebuilds like suse does 16:52:00 I came across this while doing a package review. 16:52:18 Basically, upstream is 50 lines of code you're supposed to paste in. 16:52:54 But it's structured like a real upstream; I figured it was worth considering properly. 16:53:51 Anyway, I'm +1 to listing this under the existing copylibs section. 16:55:01 the only concern I have here is that this is versioned 16:55:12 and it is theoretically possible that this code would have security issues 16:55:29 but given that it really isn't useful as a standalone library... 16:55:55 I think it should at least be mentioned in the spec which version was used 16:56:04 and it could be provided as a standalone library 16:56:27 Rathann|work: yeah, it could. 16:56:45 given that there actually are a couple of versions of this function provided on the upstream website 16:57:51 if it were my package, i would probably make murmurhash into a versioned shared lib 16:58:13 but i could see the other side here too. 16:58:16 +1 from me to the exception, with the stipulation that it's documented and machine-searchable 16:58:21 and I have to go now 16:58:31 I'll try to rejoin when I get home 16:58:37 Rathann|work: thanks 16:58:41 sorry 16:58:44 spot: Also, the license is a bit weird, but that's a separate question. 16:59:07 (later) 16:59:33 tibbs|h: weird how? 17:00:02 heh, the code is even optional. 17:00:12 "All code is released to the public domain. For business purposes, Murmurhash is under the MIT license. " 17:00:12 #ifdef __SS_FASTHASH 17:00:34 oh yeah, that. i chalk that up to "english not my first language" 17:00:54 we'll interpret it as "public domain, but if you need a license, MIT" 17:01:01 and use it under MIT. 17:01:09 OK, that's easy enough. 17:01:33 +1 to the exception here 17:01:48 with the caveat that if someone makes a murmurhash package, it should use it. 17:02:13 spot: +1, sound good 17:03:06 vote on granting exception (with caveats) is at +4 17:03:21 Does that include me? 17:03:25 tibbs|h: yes 17:03:47 tibbs|h: unless i misread your comment. :) 17:03:56 Okay, looking at this a while, I think this can get a copylib exception. 17:04:21 +1 to spot's caveat as well. 17:04:38 For all we know, there's other code in the distro that uses this thing. 17:04:49 +1 17:04:51 You have to be pretty thorough to find it, though. 17:05:10 well.. the svn repo is very new 17:05:12 tibbs|h: if there is a security vuln in it, i'm pretty sure we'll find it. ;) 17:05:24 http://code.google.com/p/smhasher/source/browse/#svn/trunk 17:05:27 Nov 17:05:42 okay, that's +6 17:06:34 win 4 17:06:48 #action Exception granted. Package must document the murmurhash bunding, have appropriate bundled Provide, and if murmurhash ever is packaged as a standalone library in Fedora, this package must then use it. (+1:6, 0:0, -1:0) 17:07:17 spot: I am sure we would have found the flaw they are referring to ... "MurmurHash3 ... - it fixes a flaw that was found in MurmurHash2 ..." :) 17:08:22 #topic Explain why rpmlint warns about executable files in %doc - https://fedorahosted.org/fpc/ticket/36 17:09:13 I'd support a guideline that says "no executable documentation". 17:09:26 There isn't actually a proposed change that I can see in there, but I would agree with tibbs. 17:10:03 Well, he wanted us to answer a question: is executable documentation allowed? 17:10:40 http://code.google.com/p/smhasher/wiki/MurmurHash2Flaw 17:10:49 personally, I'd allow it, as long as the packager understands the consequences of doing so (ie, added deps and such) 17:10:52 The more general question is what to do about things that rpmlint complains about but that isn't against the guidelines. 17:10:57 Although, I might make it a bit more specific to prevent confusion, something like: "Files with execute permissions may not be packaged as %doc files. Sample scripts can either be packaged as %doc (with chmod -x) or included in %{_bindir}/%{_sbindir}." 17:11:29 The more general question: fix them unless fixing violates common sense. 17:12:26 Or maybe even just "Files with execute permissions may not be packaged as %doc files." 17:12:53 I'd also allow them, it the packager explicitly takes them into consideration 17:13:07 racor: what do you mean by that? 17:13:10 spot: So scripts must either be executable and in $PATH, or not executable? 17:13:23 geppetto: yeah, thats the logic i'm trying to spit out. :) 17:13:33 Well, module libexec. 17:13:57 But it boils down to "there is no good general case for executable docs" 17:14:17 "sample scripts" probably don't belong in libexec either 17:14:42 spot: Example: adding executable example scripts, when they do not pull in additional deps. 17:15:11 this can be achieved by filtering, if the maintainer actively takes this into account. 17:15:30 racor: as long as they're marked chmod -x, i don't have an issue with it. 17:15:50 what's the aversion to +x exactly? 17:16:01 spot: yes, this is a radical, overly simplistic solution. 17:16:22 rdieter: files marked as +x get run through the auto-dependency scripts 17:16:22 spot: racor is saying, if the maintainer has vetted the scripts and knows that they don't pull in additional deps it's technically fine so packaging guidelines could/should allow it. 17:16:45 abadger1999: yes, but it is very very easy to have one release be okay and the next not. 17:16:52 (yes, it can and does complicate things, but putting a blanket rule against it seems a bit overboard) 17:16:55 abadger1999: thanks, this is what I wanted to express. 17:16:59 i would prefer to simply require that all %doc files be -x 17:17:28 as that is much simpler than saying "if you go to the trouble of implementing complicated filtering, you can avoid running the chmod -x" 17:17:43 spot: yes, it's easy to make mistakes and to inadvertedly introduce bugs. 17:18:07 racor: whereas, by simply requiring that all %doc files be -x, we avoid the problem entirely. 17:18:12 spot: are we talkling about %doc or files below %docdir 17:18:29 racor: i think all files below %docdir are implicitly %doc 17:18:36 so, yes, and yes. :) 17:18:54 sport: excutable %doc files outside of %docdir may well make sense. 17:19:04 racor: as %doc? 17:19:24 either they're executable and useful, in which case, i would say they're no longer %doc 17:19:40 or, they're reference works and can be packaged as %doc -x 17:19:56 spot: %doc primarily means file is subject to rpm --exclude-dir 17:19:56 if the user wants to +x them later, well, that's beyond our scope. 17:20:34 racor: sure, i understand that. 17:20:54 racor: the question is whether executable scripts count as %doc when they're +x 17:21:09 (and yes, i recognize that this is a major point of argument) 17:21:18 spot: ie. if a package ships scripts/tools to display some specialized documentation system, %doc'ing scripts and doc data is one applicable approach. 17:22:09 spot: the alternative is *-doc subpackages. 17:22:23 https://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation 17:22:30 "Also, if a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. " 17:22:50 so, to your case, if the package depends on the scripts, they can't be %doc. 17:23:36 OK, silly question, if stuff marked %doc (which impliicitly happens to stuff under %_docdir) *does* affect runtime, the only option is to move it elsewhere? 17:24:00 rdieter: yeah 17:24:12 spot: OK less abstract: A package ships some ref-manuals in some package specific/proprietary formating. How to and where to package "xxx-man.sh"? 17:24:12 ugh, icky poo 17:24:30 rdieter: otherwise, you get big boom when installing with --exclude-docs 17:25:00 spot: and if the software/pkg in question gracefully degrades without it (ie, no boom)? 17:25:04 racor: thats a heck of a corner case, but i would say that is an exception, rather than the rule. 17:25:15 I guess then it's not affecting runtime. nvm 17:25:18 rdieter: then it doesn't affect the runtime of the application. :) 17:25:20 racor: Why not /usr/bin/xxx-man.sh ? 17:25:33 brane hurts, make it stop 17:25:37 * spot has never seen executable docs in a FOSS package 17:25:50 (i wish i could s/FOSS// there, but i can't. stupid adobe.) 17:25:51 rdieter,spot: http://lists.fedoraproject.org/pipermail/packaging/2010-November/007508.html 17:26:15 abadger1999: %doc /usr/bin/xxx-man.sh? 17:26:38 racor: ick! 17:26:59 racor: not %doc 17:27:05 racor: needs fixing I'd say (the helper script(s) should arguably be in libexec too) 17:27:19 rdieter: +1 17:27:28 racor: note, that thread ends with the files going in %{_datadir} which I thought was appropriate: http://lists.fedoraproject.org/pipermail/packaging/2010-November/007512.html 17:28:14 ok, I'm +1, haven't seen any compelling (enough) counter-examples (can re-evaluated if it does happen) 17:28:20 abadger1999: xxx-man.sh is useless without %doc /usr/share/xxx/foo/. I don't see much reason not to %doc it. 17:28:50 racor: man is useless without man pages as well. 17:28:59 I'm sure you can construct some bizarre corner case for pretty much every guideline we pass. Which is why there's a generic "ask for an exception" procedure. 17:29:12 okay, can we consider "%doc files must be have executable permissions" ? 17:29:16 ugh. 17:29:16 All man pages are marked %doc implicitly but /usr/bin/man is not. 17:29:20 i am failing at english today 17:29:20 spot: -1 :) 17:29:29 okay, can we consider "%doc files must not have executable permissions" ? 17:29:33 But +1 to what spot wanted to say 17:29:36 +1 17:29:44 +1 17:29:51 +1 17:29:55 +1 17:29:56 geppetto: That'll be one pony plus shipping and feed for a year :-) 17:30:06 +1 17:30:13 -1 17:30:40 #action "%doc files must not have executable permissions" passes (+1:5, 0:0, -1:1) 17:31:16 #topic Open Floor 17:33:07 if there are no additional items i will close this out at 1735 UTC 17:33:08 I got nothin' 17:33:28 And my connection dropped again. 17:33:33 nuttin honey 17:33:57 anyone want to send anything we passed today to fesco? 17:35:03 okay, thanks everyone 17:35:05 #endmeeting