From Fedora Project Wiki
(08:58:59) abadger1999: I just added .pyo files to the schedule which I hope is another EasyFix. (08:59:59) tibbs: Is the issue well-understood now? I've been ghosting .pyo files for a long time now and requiring it of the packages I review. (09:00:10) rdieter: not sure we'll have enough attendee's to get much done, unfortunately. ): (09:00:10) scop [n=scop] entered the room. (09:00:35) slack_: I am here and have lurk mode turned off. I'm Jack (09:00:43) tibbs: We know Ralf and Spot are out, but we can still get something done. (09:01:40) abadger1999: Ghosting seems to have two issues that I can see: 1) causes AVC denials in the log which it seems SELinux isn't able to selectively filter out. (09:02:55) abadger1999: 2) python won't currently overwrite .pyos so it's possible for a sys admin to "break" python apps by running python -OO [application] and not have an intuitive way to recover. (09:03:38) scop: how would that break? (09:05:03) tibbs: Don't forget 3) requires piling nasty crap into the specfile. (09:06:08) scop: I think 3) is solvable by a clever "find" (09:06:08) abadger1999: scop: If the python application depends on docstrings (09:06:35) tibbs: scop: It's still a lot worse than putting a single directory in %files. (09:06:47) scop: yep (09:06:58) abadger1999: -OO will remove the docstrings so the application will break. (09:07:13) f13: I'm here. (09:07:35) tibbs: I have no opposition to including .pyo as long as folks who know Python well say it's OK. (09:07:56) f13: Jeremy Katz is pretty knowledgable IMHO and thinks we should be packaging them. (09:07:59) tibbs: But remember that rpm will create .pyc and .pyo files for any file ending in .py that it finds, including in /bin. (09:08:18) scop: yep, that's a rpm bug :) (09:08:21) abadger1999: tibbs: Hmmm.. bug? (09:08:35) tibbs: Yes, and filed already some months ago. (09:08:46) scop: and closed, IIRC... (09:09:01) abadger1999: Do we want to write a note to rm the .pyc/.pyo in the Python Guidelines? (09:09:10) abadger1999: (The ones in bin) (09:09:14) scop: it doesn't help (09:09:30) abadger1999: Oh. Right because it happens after %install? (09:09:30) scop: can't be done, it's done by rpm after %install and before %files (09:09:44) abadger1999: %exclude? (09:09:52) scop: breaks if they're not there (09:10:07) rdieter: but they *will* be there... (: (09:10:11) tibbs: I maintain a package with this problem. (09:10:26) scop: rdieter, yes, until they one day won't (09:10:31) tibbs: I touch the files, then let RPM create them if it's going to. (09:10:35) tibbs: And then %exclude them. (09:10:49) scop: that works (09:11:17) abadger1999: What about renaming the files to not have an extension? (Seen that done in some Core packages) (09:11:23) scop: the bug is https://bugzilla.redhat.com/182498 , btw (09:11:30) abadger1999: Which is the lesser evil? :-) (09:11:47) tibbs: Yep, just found it. Definitely not closed. (09:11:48) scop: abadger1999, yes, that's also suggested in #182498 and I don't think it's unreasonable at all (09:12:23) tibbs: Unreasonable if there's already an expectation that the files exist with those names. (09:13:01) f13: not so unreasonable if its a bug... (09:13:07) tibbs: I was maintaining my package before PRM picked up this bad habit... (09:13:31) f13: but we shouldn't hold up proper packaging because of an existing bug, its just more reason to fix the bug (09:13:40) f13: and patches are welcome (09:14:36) scop: abadger1999, so if *.pyo compiled with -O (not -OO) were shipped, apps that have docstring deps would work also with -OO? (09:15:51) f13: scop: well, running w/ -OO won't create new .pyo files (09:15:57) abadger1999: scop: Yes. Because of the python bug. (09:16:18) abadger1999: bug/feature. Have to file it upstream and see what they say. (09:16:34) rdieter: let me get this straight, so the proposal (for now) is to simply exclude *all* .pyo files (at least until python and/or rpm is fixed)? (09:16:50) scop: no, but to include all of them without %ghosting (09:17:01) rdieter: ok. (09:17:01) scop: or? (09:17:06) abadger1999: scop: And work in the sense that docstrings are all there. It doesn't work in the sense that -OO is then equivalent to -O. (09:17:19) tibbs: Except ones outside of libdir created due to rpm bugs, I think. (09:17:21) scop: abadger1999, thanks, got it (09:17:24) abadger1999: scop: correct. Include the .pyos instead of %ghost. (09:18:19) f13: Do we have enough people for a vote? (09:18:37) f13: All in favor of changing the guidelines to package your .pyo's instead of %ghosting them? (09:18:42) f13: +1 (09:18:43) abadger1999: +1 (09:18:49) lutter: +1 (09:18:59) rdieter: +1 (09:19:03) tibbs: +1 (09:19:18) scop: reluctant +1 (09:19:33) f13: thats 6, so it passes. (09:19:42) abadger1999: scop: Do you have a reason, or just gut feeling? (09:19:48) abadger1999: (For reluctance) (09:20:05) f13: abadger1999: you'll want to send something to fedora-maintainers about the change, so that we can get feedback during our week long timeout. That'll get Red Hat packagers attention too. (09:20:21) scop: it smells like a bug workaround (09:20:27) abadger1999: f13: Okay. I'll write it up and send it. (09:20:45) f13: scop: the reason we're doing this is because the system will get lots of AVC denies as users try to create files in /usr/ (09:21:12) f13: scop: so its better to provide the performance enhanced modules since we create them in our packages. (09:21:25) f13: I can't think of many cases were peopel don't want their system to run faster. (09:21:35) scop: yes, I understand, but pedantically thinking, it still doesn't sound like the correct fix to me (09:21:58) abadger1999: scop: Yep. To me too. The python issue might be fixed but there seems to be resistance to "fixing" the SELinux flexibility. (09:21:59) tibbs: I think it's quite reasonable to expect to see a .pyo wherever there's a .pyc; otherwise, python will just keep trying to create them when it can't. (09:22:04) rdieter: imo, the best long-term solution is to to what debian does, and (properly) generate .pyo files in %post and/or on demain (ie, as needed) (09:22:17) rdieter: s/demain/demand/ (09:22:31) tibbs: Doesn't debian neglect to create .pyc files as well? (09:22:37) f13: rdieter: on demand means users will be trying ot write to /usr/ all the time. (09:22:49) f13: LOTS of AVCs (09:22:58) rdieter: by demand, I meant not by users, but when/if ever needed (ie, on python upgrades) (09:23:07) lutter: and you don't want to leave .pyo files behind when the rpm is uninstalled (09:23:28) rdieter: lutter: of course, that solution requres %ghost'ing again. (09:23:42) rdieter: but we're not there yet... (09:23:47) f13: rdieter: and doens't help when a user would run with OPTIMIZATION (09:23:59) f13: for all the missing .pyo's you'd get an AVC (09:24:04) rdieter: f13: the .pyo files would already be there. (09:24:32) ***f13 gets confused (09:24:46) f13: oh, I see, do it in %post. (09:25:01) ***f13 isn't a huge fan of file creation in %post (09:25:21) rdieter: me neither, but that's the only robust way to do it (afaict) (09:25:31) scop: that needs to take read-only mounts into account (09:25:45) rdieter: scop: man, you and your read-only mounts... (: (09:25:51) scop: :) (09:25:57) scop: and I don't even use those myself :) (09:26:04) f13: scop: how could you install something to a read-only mount? (09:26:20) rdieter: that just seems wrong, you're installing rpms, but to ro mounts? (f13: ++) (09:26:21) scop: think %{_netsharedpath} (09:26:36) rdieter: yeah, I'm thinking it's a bad idea. (: (09:26:55) scop: not a big issue ATM for python because site-lib dirs are in /usr/lib(64), not /usr/share (09:27:13) rdieter: sorry, digressing... anything else to hash out today? (pyo is done, right?) (09:27:16) lutter: stateless has exactly that problem .. you install into an image somewhere and then mount that r/o on lots of clients (09:27:19) abadger1999: Anyone object to moving on? (09:27:27) f13: no objections (09:27:33) ***f13 hates that meeting is during lunch time (09:27:34) rdieter: move_on++ (09:27:36) abadger1999: Should we just go down the list? (09:27:48) abadger1999: lutter: Anything to report on Ruby Gems? (09:27:55) ***scop is afk for ~2 mins (09:28:19) lutter: abadger1999: nope, nothing .. for now, it's not a very pressing issue (09:28:51) abadger1999: Okay. Send an email when the draft is ready? (09:29:28) abadger1999: f13: What's going on with jpackage naming? (09:29:59) f13: abadger1999: -ENOFEEDBACK :/ (09:30:01) lutter: abadger1999: yeah, I'll bring it up when I got something .. we might just keep not allowing rubygems packages .. that's what debian does (09:30:14) f13: abadger1999: i've been told there are concerns, just not what they are. (09:31:16) abadger1999: f13: Lovely :-/ Well, as long as new java packages don't go in unless they follow the current naming standards they'll have to figure things out eventually. (09:31:16) rdieter: f13: no feedback means everyone is ok with your proposal to use X. (09:32:02) rdieter: (: (09:32:24) abadger1999: Moving on... (09:32:46) abadger1999: f13: Arch specific scripts? (09:33:22) f13: havne't gathered a lot of feedback on this either. (09:33:36) f13: needs more discussion on list (09:34:04) abadger1999: Did you talk to nasrat about it (I seem to recall we were going to get input from him.) (09:34:11) tibbs: I rethought my objections to this. (09:34:41) f13: I honestly don't recall (09:34:54) rdieter: for the record, I'm (atm) leaning toward making those arch-specific (ie, not noarch), it'll make life simpler (esp buildsystem-wise) (09:34:56) f13: I haven't thought about it in too long and need to rehash the issue. (09:35:31) scop: still regarding *.pyo, here's the corresponding spec template change: http://koti.welho.com/vskytta/pyspec.patch (09:35:51) scop: (includes similar comments as were recently added in the perl template) (09:36:18) f13: cool (09:36:21) f13: looks good (09:36:23) rdieter: scop: thanks, that makes things clearer. (09:36:44) abadger1999: scop: Looks great. (09:37:42) abadger1999: f13: Can you bring the script issue back up on the list when you have time and we can see if we still have objections to it? (09:37:54) f13: yep (09:38:34) abadger1999: tibbs: Directory ownership (09:39:02) abadger1999: Have we thought about this more, or not since the last meeting? (09:39:24) tibbs: I don't recall any additional discussion, (09:39:44) tibbs: and it would be pretty unfair to proceed when one of the major objectors to any changes (Ralf) isn't here. (09:40:03) abadger1999: Ah right. (09:40:08) tibbs: Although I could be misrepresenting Ralf's position; I admit to not fully understanding his objections. (09:40:50) lutter: even more reason to wait for him (09:41:00) rdieter: fair enough. (09:41:24) tibbs: I guess that should have changed from "easyfix". (09:41:32) abadger1999: Sounds good. (09:41:42) abadger1999: Okay. License Tags is next (09:42:12) tibbs: List discussion seemed to lean towards this being just a superficial description of the license. (09:42:32) tibbs: That we shouldn't try to get too specific with the license tags. (09:42:46) lutter: yeah, I don't see that ever being more than an indication (09:42:50) abadger1999: I tend to agree with that. (09:43:04) tibbs: So "GPL", not "GPLv2" and "GPLv3", etc. (09:43:21) abadger1999: The License field shouldn't be misleading, though. (09:43:24) tibbs: And "BSD", not "BSD with advertising". (09:44:10) abadger1999: So if GPLv2 and GPLv3 are different enough we would want to differentiate. (09:44:16) tibbs: And packagers should brave the rpmlint warning rather than lying about the license just to shut it up. (09:44:17) lutter: for GPL, I could go either way; if it's BSD with modifications, why not just 'BSD variation' (09:44:23) scop: rpmlint's explanation about the "invalid-license" message needs to be toned down a bit, will have a look (09:44:53) rdieter: how about s/invalid-license/unknown-license/ (09:45:01) abadger1999: scop: Thanks. That's one that I often have to write please ignore this warning. (09:45:40) scop: in general, it's not a good thing to change message identifiers (such as invalid-license) in rpmlint (09:45:46) scop: because it will break people (09:45:50) scop: 's filters (09:46:13) rdieter: ok (09:46:39) f13: people shouldn't have filters on rpmlint (: (09:47:07) scop: $ grep addFilter /usr/share/rpmlint/config # :) (09:47:38) rdieter: so is there a License tag proposal here somewhere? (: (09:47:59) f13: scop: sounds like a great way to hide issues :/ (09:48:20) scop: f13, yes, and non-issues :) (09:48:32) tibbs: No, I haven't written one up. (09:48:52) f13: scop: IMHO every rpmlint E/W is an issue until a reasonable excuse is given (09:48:57) abadger1999: It doesn't look like we have any current Guidelines about the Tag; just what rpmlint says. (09:49:48) tibbs: Then let's get a simple guideline in place and then get rpmlint fixed to match. (09:50:15) rdieter: sounds reasonable. (09:50:22) abadger1999: Sounds good. (09:50:28) tibbs: I'll write something up for next week and present it to the list. (09:50:38) abadger1999: Cross compilation needs Ralf. (09:50:41) f13: part of said guideline would be 'If your license is unknown, you must inlude the license in your %doc' ? (09:51:13) abadger1999: scop: Renaming and EOL (09:51:40) lutter: f13: I think teh guideline should be 'if upstream has an explicit license file, it must be included as %doc' (09:52:01) scop: there are rename cases where Provides: is not appropriate (09:52:09) abadger1999: lutter, f13: I think that portion is almost in the guidelines already. Maybe clarify that portion? (09:52:33) f13: lutter: I'm pretty sure there are guidelines to that effect already, however when the license is special, or rather unknown, we should manually include the license if it isn't already. (09:52:39) scop: actually, "superseded by" is that case (09:52:50) scop: assuming rename means just that (09:53:00) lutter: f13: I see what you're saying, yeah, makes sense (09:54:02) scop: the EOL things should be no-brainers, just process stuff (09:55:04) abadger1999: http://www.fedoraproject.org/wiki/PackagingDrafts/PackageEndOfLife (09:55:15) abadger1999: For the EOL process. (09:56:19) lutter: makes sense (09:56:32) tibbs: Shouldn't FESCo be doing a policy like that, though? (09:56:40) tibbs: It doesn't seem to have any relevance to Core. (09:57:11) f13: makes sense but yeah, doesn't seem much of a Packaging issue (09:57:19) scop: the Obsoletes/Provides part of the agenda item is a packaging thing (09:57:47) rdieter: tibbs: I *could* be relavent to Core as well, when/if an upstream product is EOL'd/renamed. (09:58:08) f13: we do things differently (09:58:25) f13: we have a package database that keeps track of what packages are in which collections, because trying to just use cvs modules for that is the path to insanity (09:58:28) rdieter: f13: good point. (: (09:58:44) tibbs: Core process stuff isn't and doesn't really have to be transparent to Extras folks. (09:58:54) abadger1999: Is the case just for "superseded"? Or for both superseded and rename? (09:59:01) f13: so when a package is removed from Core, we remove it from the collection in the database, then autmoated things just lookup in teh DB what packages should be pulled in. (09:59:25) scop: abadger1999, whenever something changes in a way that the new package is not a drop-in replacement, IMO (09:59:58) rdieter: FESCo is starting... (: (10:00:29) scop: okay, let's defer this (10:00:41) abadger1999: scop: do you want to write up the one or two lines that describe this? (10:00:55) scop: will do (10:00:58) abadger1999: I'm going to move it to the top of GuidelinesTodo for next week. (10:01:19) abadger1999: (Hey we nearly got through every item this week :-)