Fedora Packaging Committee Meeting of {2008-04-22}
Present
- DenisLeroy (
delero
) - DominikMierzejewski (
Rathann|work
) - HansdeGoede (
hansg
) - JasonTibbitts (
tibbs
) - RexDieter (
rdieter
) - TomCallaway (
spot
) - ToshioKuratomi (
abadger1999
) - XavierLamien (
SmootherFrOgZ
)
Writeups
The following drafts have been accepted by FESCO and are to be written into the guidelines:
- No packages may own files or dirs in /srv:
http://fedoraproject.org/wiki/PackagingDrafts/NoBitsInSrv
- Build GCJ AOT bits conditionally
http://fedoraproject.org/wiki/PackagingDrafts/ConditionalGCJ
Votes
The following proposals were considered:
- Sugar Activity guidelines
- http://fedoraproject.org/wiki/DennisGilmore/SugarActivityGuidelines
- This was discussed last week but tabled. It returns for a vote.
- Accepted (7 - 0)
- Voting for: tibbs spot rdieter hansg SmootherFrOgZ delero agadger1999
- Static Library packaging tweaks
- http://fedoraproject.org/wiki/PackagingDrafts/StaticLibraryPolicy
- A new draft this week which modifies the existing guidelines
- Accepted (7 - 0)
- Voting for: spot delero hansg SmootherFrOgZ Rathann tibbs rdieter
- Note that one particularly odd case (allegro) was discussed and a vote was
held to grant it an exception which passed with the following voting for: Rathann spot tibbs hansg rdieter
Other Discussions
The following additional items were discussed; see the logs for full details.
- Javascript packaging guidelines
- http://fedoraproject.org/wiki/PackagingDrafts/Javascript
- If you have experience with javascript, please assist us in coming up with
a usable set of guidelines.
- Discussions about possibly moving the meeting time to account for DST will
happen on-list.
IRC Logs
[12:02] * spot pings racor, hansg, abadger1999, delero, SmootherFrOgZ, tibbs [12:02] <tibbs> "SmootherFrOgZ"? [12:02] <delero> hi [12:02] --> Rathann has joined this channel (n=rathann@onizuka.greysector.net). [12:03] * hansg is present [12:03] <spot> and there's Rathann. :) [12:03] <Rathann> present [12:03] <Rathann> (semi-) [12:03] * Rathann is fiddling with audio cables [12:03] <SmootherFrOgZ> tibbs, yep ? [12:04] <spot> tibbs: so, spot is ok, but you draw the line at "SmootherFr0gZ" ? :) [12:04] <tibbs> I simply have no idea who this person is. [12:04] * abadger1999 is late but here now. [12:05] <spot> tibbs: he's one of our two new members, specifically, Xavier Lamien [12:05] <tibbs> Whatever happened to Panu? [12:05] <spot> delero is our other new member, aka, Denis Leroy [12:05] <spot> tibbs: thats how the vote came out. [12:05] * delero raises his hand [12:05] <tibbs> Hmm, disappointing. [12:07] <spot> anyways. :) [12:07] <spot> i don't see racor or abadger1999 awake, but everyone else is alive [12:08] <abadger1999> I'm here, I'm here! [12:08] <spot> ok, so thats 8 of 9 [12:08] * abadger1999 jumps up and down [12:08] <spot> lets get to the first item of business [12:08] <spot> abadger1999: is Javascript ready? [12:08] * hansg wonders why someone is jumping up and down, adhd? [12:09] <abadger1999> spot: It can be discussed. [12:09] <spot> ok. first item is: http://fedoraproject.org/wiki/PackagingDrafts/Javascript [12:09] <abadger1999> I'm satisfied with it but I'm also happy to kick the completed draft out to the list one more time. [12:10] <tibbs> The issues surrounding this are weird enough that I'd really like to see some input from upstream developers of some of the packages which would fall under this guideline. [12:10] <abadger1999> Okay. What questions would you like to see specifically asked and answered? [12:10] <abadger1999> I know I'll get pushback from upstream. [12:11] <tibbs> Specifically, the mootools stuff is just nuts, and the compression issue. [12:11] <abadger1999> It'll be a matter of whether concerns like security trump what upstreams perceive as easiest. [12:11] <abadger1999> Okay. So talking to mootools and a few of the mootools consumers. [12:12] <tibbs> Well, here's the problem. I have to package mootools in some form in order to update zoneminder. [12:12] <tibbs> And this guideline doesn't actually help me do that. [12:12] <abadger1999> <nod> [12:12] <abadger1999> Very true, that. [12:12] <tibbs> I mean, I could package the exact mootools bits that zoneminder needs, but then that should go in zoneminder and thus would be forbidden by this guideline. [12:13] <tibbs> So for the only real-world example that I have interest in, it's counterproductive. [12:13] <spot> perhaps working through mootools might provide a good basis for fleshing out this guideline? [12:13] <abadger1999> I don't believe there's any work to do something like this anywhere else. [12:13] <tibbs> We could package all ~8192 versions of mootools separately. [12:13] <delero> is the mootools issue really javascript-specific, or is mootools a special case ? [12:14] <tibbs> Oops, there are three or four compressors you can apply, so that's too small. [12:14] <tibbs> Well, mootools is a javascript library. [12:14] <abadger1999> Can we package the complete mootools package as separate files by working with their source? [12:14] <rdieter> mootools sound like a pathelogical special-case to me. [12:14] <tibbs> abadger1999: I don't believe so. [12:14] <abadger1999> Or..hmm... No I see the problem with that. URLs in the zoneminder package... [12:14] <tibbs> rdieter: Yes, but "A package MUST not include javascript libraries that have a separate upstream." [12:14] <Kevin_Kofler> IMHO you should make clear that this is only for JavaScript stuff which is part of a web app. There's going to be plenty of JavaScript stuff in future versions of KDE 4 which has nothing to do with Apache and thus "MUST: A javascript library package must provide an apache config file that lets the library be served by apache. This file is placed in %{_sysconfdir}/js/ with a filename extension of *.conf" makes no sen [12:14] <Kevin_Kofler> se without defining "javascript library". [12:15] <rdieter> tibbs: guidelines remember, can have exceptions [12:15] <rdieter> Kevin_Kofler: Javascript library with separate upstream. [12:15] <abadger1999> Kevin_Kofler: That's a good point. Will there be javascript libraries in KDE4? [12:16] <tibbs> There are some in KDE3 already, aren't there? [12:16] <abadger1999> ie: libraris of javascript code... but intended for building non-web applications? [12:16] <delero> with seperate usptream + "and managable release mechanism" ? [12:16] <spot> delero: thats really vague. [12:16] <abadger1999> delero: We've never let "managable release mechanism" stop us before. [12:16] <delero> spot: i agree [12:16] <Kevin_Kofler> There are bindings for C++ stuff to use with JavaScript (and there will be one for libplasma), not sure about actual JS libraries. [12:17] <rdieter> upstreams without a managable release mechanism deserve cluestick treatment, regardless. [12:17] <spot> i think perhaps mootools might need to be a special case, given the large number of variants [12:17] <tibbs> For web-intended javascript outside of mootools, I think this guideline serves us well although the compression but gets tricky with the "must rebuild from source" bit. [12:17] <spot> tibbs: perhaps we could use all of their compression methods? [12:17] <tibbs> "compression bit gets tricky". [12:17] <abadger1999> Kevin_Kofler: Okay. I'd say that qualifies... So the "separate (sub)package" part would still apply. But the config file should be make clear that it doesn't apply [12:18] <tibbs> Well, do we have the actual compressors as installable packages in Fedora? [12:18] <spot> tibbs: i dunno. worth checking at least. [12:18] <tibbs> I.e. is it intended that we not take the pre-compressed source from upstream? [12:18] <abadger1999> tibbsWe are missing at leat jsmin. [12:18] <abadger1999> So I think we aren't able to compress at this time. [12:19] <abadger1999> tibbs: Yes. That is intended. [12:20] <abadger1999> The minified stuff is technically javascript still, but it's extremely hard to read. The actual compressed stuff has to be uncompressed in order to read. [12:20] <tibbs> There's GPL interaction with that stuff, too, with the "usual form for making modifications" clause. [12:21] <tibbs> I don't even want to think about how putting compressed GPL javascript code on your web site involves "distribution". [12:22] <abadger1999> <shivers> [12:22] <tibbs> I think it's pretty obvious that we should always have the uncompressed version available. [12:23] <abadger1999> As in, in the binary rpm? Or just in the source rpm? [12:23] <tibbs> In the web-accessible location. [12:23] <spot> i suspect (from what i'm hearing here, not from personal opinion) that many javascript libraries will be incredibly painful to package [12:23] <tibbs> Well, actually most of them are trivial. [12:23] <tibbs> It's just that the issues are complicated. [12:23] <tibbs> All you have to do is stick them in a location and drop in an apache redirect. [12:24] <tibbs> Also, I recall recent grumbling about how that stuff doesn't work at all with another web server. [12:25] <abadger1999> spot: Yes. Although ivazquez's MochiKit is both simple and good. [12:25] <tibbs> So: proposed action plan: [12:25] <abadger1999> Err.. tibbs's explanation is better :-) [12:25] <tibbs> Investigate what javascript compressors we have in Fedora. [12:25] <tibbs> Look at a couple of non-mootools javascript libraries. (I have another one needed for zoneminder.) [12:26] <spot> seems like a good plan to me. [12:26] <tibbs> spot: Are the GPL-related issues worth looking into? [12:26] <spot> i'll leave this on the agenda, and we'll revisit it next time [12:26] <spot> tibbs: only if we have a specific case [12:26] <spot> because i will have to take it to the lawyers for interpretation [12:27] <abadger1999> tibbs: Sounds good. Do we want to bring any of this up with any upstreams? Or just look at it from the "How easy is it to package" side? [12:27] <tibbs> I think it would be better to have something more fleshed out first. [12:27] <abadger1999> Okay. [12:27] <spot> Alright. Next item: http://fedoraproject.org/wiki/DennisGilmore/SugarActivityGuidelines [12:28] <spot> This has changes for multilib and directory naming [12:29] <tibbs> Is this the correct diff from last time: [12:29] <tibbs> http://fedoraproject.org/wiki/DennisGilmore/SugarActivityGuidelines?action=diff&rev2=8&rev1=4 [12:29] <tibbs> ? [12:29] <spot> yes [12:30] <spot> This seems pretty straightforward to me [12:31] <spot> (and not just because i helped Dennis clean it up) [12:31] <tibbs> This looks much better to me, although it's hard to evaluate the "Architecture-specific Activities" bit without actually seeing an example. [12:31] <spot> tibbs: SimCity is an example [12:31] <tibbs> I'm hoping "as appropriate" is pretty obvious. [12:31] <spot> they have python code that launches it as a sugar activity [12:31] <spot> there is a /usr/bin/SimCity [12:32] <spot> as appopriate in the context of the other Packaging Guidelines [12:32] <tibbs> Ah, OK. [12:32] <rdieter> the new draft looks like a winner to me. [12:32] <tibbs> +1 [12:32] <spot> +1 [12:32] <spot> ok guys, lets vote on it. [12:33] <rdieter> +1 [12:33] <hansg> +1 [12:33] <SmootherFrOgZ> +1 [12:33] <delero> +1 [12:33] <abadger1999> +1 [12:33] <spot> Rathann, racor: feel free to vote if you would like it to be on the record. [12:33] <spot> but with a +7, it passes [12:33] <spot> for the new guys, anything +5 passes [12:34] <hansg> and -1 does not substract, so there is no _Real_ difference between 0 and -1 [12:34] <spot> ok, next item: http://fedoraproject.org/wiki/PackagingDrafts/StaticLibraryPolicy [12:34] <hansg> but where possible we try to achieve no -1's [12:34] <hansg> Ah yes [12:34] <spot> i reworked this somewhat this morning, there is no longer the concept of "static-noshared" [12:35] <spot> after thinking about that, it doesn't make any sense. [12:35] <hansg> I've got a very interesting package with regard to this, to so called exception to the rule I guess [12:35] <hansg> I'm happy to pass this if allegro gets excepted [12:35] <spot> hansg: what's allegro's situation? [12:36] * rdieter likes the amended static policy better. [12:36] <spot> (one of those apostrophes was unnecessary) [12:36] <hansg> I was just going to ask if anyone wanted to know the long story, but spot beat me to it [12:37] <hansg> Okay, so here it goes, allegro is a shared libary, with some asm code used on various platforms [12:37] <hansg> this asm code however is not PIC, which is a no go on anything but i386 and frowned up on i386 [12:37] <hansg> upstream has fixed this in an interesting way [12:38] <hansg> the non PIC asm code is in a static lib called liballeg_unsharable.a [12:38] <Rathann> so... what's the difference between current guideline and the new draft? [12:38] * Rathann can't find any [12:38] <spot> Rathann: almost nothing. its just a clarification, really. [12:38] <hansg> and all the applications which link to allegro use the following (allegro-config --libs) [12:38] <hansg> -Wl,--export-dynamic -lalleg-4.2.2 -lalleg_unsharable [12:39] <Kevin_Kofler> Surely the right solution there is to fix the ASM? [12:39] <Rathann> surely :) [12:39] <Kevin_Kofler> Many libs manage to make PIC ASM. [12:39] <hansg> So the non pic code gets put in the binary not in the .so and then exported to the shared lib [12:39] <spot> hansg: so, the scenario is that the shared library is useless without the static? [12:39] <hansg> yes [12:39] <Rathann> making it pic compatible might make it slower though [12:39] <hansg> spot yes that is [12:39] <spot> wow, thats a hell of a corner case. [12:39] <hansg> Kevin_Kofler, I'm happy to take paches for this and send them upstream [12:40] <spot> could you put it in -static, and then have base depend on -static ? [12:40] <hansg> yes, which I don't think we need to cover in the guidelines, as there will always be exceptions, lets just grant an exception to allegro, keep both the .a and .so symlink in -devel and be done with it [12:41] <hansg> spot, not usefull, as the .a isn't needed to run the applications, as its already linked into the applications [12:41] <spot> eh, ok. [12:41] <spot> i'm alright with that being a permitted exception [12:41] <spot> given how unusual it is. [12:41] <abadger1999> So... wouldn't we still want to know that a static library is being linked here? [12:42] * rdieter was wondering that too [12:42] <spot> thats a valid point. [12:42] <tibbs> I did think the whole point of the guideline was to make it easy to find what linked against a static lib. [12:42] <delero> if the static lib is part of the devel package also ? [12:42] <hansg> yes but thats easy if a security bug is ever found in allegro's static code we can just query for anything depending on the .so as that will have the static code linked in [12:42] <hansg> as the .so is useless (unresolved symbols) otherwise [12:43] <rdieter> hansg: ok, since it's exceptional already. :) [12:43] <spot> ok, lets vote on the draft as is: [12:43] <spot> +1 [12:43] <delero> +1 [12:43] <hansg> +1 [12:44] <SmootherFrOgZ> +1 [12:44] <Rathann> +1 [12:44] <tibbs> Let me be clear: [12:44] <tibbs> What's gone here is the weird contradictory exception about being able to BR *-devel if there are only static libaries present? [12:44] <spot> tibbs: yes. [12:44] <tibbs> +1 [12:45] <rdieter> +1 [12:45] <rdieter> and anything static linking needs: BR: *-static ? [12:46] * abadger1999 would also like to know what rdieter asked [12:46] <rdieter> reading, looks like the answer is yes. [12:46] <spot> yes. [12:47] <tibbs> What we lose is the "auto-switch" if a package suddenly starts providing dynamic libs. [12:47] <spot> yes, but we gain in tracking [12:47] <abadger1999> So to use allegro as an example, apps linking against allegro will BuildRequire: allegro-static [12:47] <spot> which is infinitely more important [12:47] <tibbs> That's such a corner case that it's worth the guideline clarity to get rid of it. [12:47] <abadger1999> But we're making an exception so the static library can go in -devel? [12:48] <hansg> Erm, lets not use allegro as an example please [12:48] <spot> allegro is a bad example [12:48] <abadger1999> Well, the exception is being written in. [12:48] <spot> abadger1999: not into the guidelines it isn't. [12:48] <abadger1999> err.... That's how we've done evey other guiedeline exception. [12:49] <spot> well, we could write it in. [12:49] <abadger1999> spec file naming with gcc, for instance. [12:49] <spot> if i was going to do it, this is what I would say: [12:50] <spot> "If (and only if) a packages shared libraries require static libraries to be functional, the static libraries can be included in the -devel subpackage. The devel subpackage must provide -static, and packages dependent on it must BR -static. [12:50] <abadger1999> Sounds good. [12:50] <abadger1999> +1 [12:51] <hansg> Can't we just document the exception in the meeting Minutes, if we are going to put every exception ever granted into the guidelines things will become messy [12:51] <spot> lets get a round of votes on the "allegro" exception? [12:51] <abadger1999> hansg: The idea is not to have exceptions. [12:51] <Rathann> sounds OK [12:51] <Rathann> +1 [12:51] <spot> +1 from me [12:52] <tibbs> I have no problems with excepting allegro. +1 [12:52] <hansg> I don't like it, why should the packages BR the -static, what if the code ever gets pic-ified (I'm counting on a patch from Kevin for this soon) [12:52] <abadger1999> When we do have exceptions, the reasons are listed so that we have a basis to adjust the guidelines when things become unwieldy. [12:52] <spot> hansg: then they fix their BR. [12:52] <spot> hansg: think of this from rel-eng's perspective [12:52] <hansg> This would mean changing the BR's of 29 packages now and changing them back if this ever changes [12:53] <abadger1999> hansg: That's what tibbs and spot were mentioning earlier: [12:53] <abadger1999> (10:47:23 AM) tibbs: What we lose is the "auto-switch" if a package suddenly starts providing dynamic libs. [12:53] <abadger1999> (10:47:34 AM) spot: yes, but we gain in tracking [12:53] <hansg> Thats a lot of needless churn [12:53] <spot> they'd like to know every package which uses static libs [12:53] <Kevin_Kofler> Speaking of the GCC specfile naming exception, why does GCC have a gcc43.spec now when the guidelines clearly stated that the next version should move to just gcc.spec? [12:53] * hansg is starting to with I've just kept quiet about this [12:53] <Kevin_Kofler> I made that point in the merge review and got entirely ignored. [12:53] <tibbs> "a lot"? [12:53] <hansg> s/with/wish/ [12:53] <tibbs> This happens, what, once every couple of years? [12:53] <spot> Kevin_Kofler: i'll poke jakub. [12:54] <hansg> What guideline changes, no they seem to happen all the time [12:54] <tibbs> No, a package suddenly providing dynamic libraries when it only provided static ones before. [12:54] <hansg> tibbs that not the case here [12:55] <spot> hansg: i do think it is important that we track static library use, even in this weird hybrid case. [12:55] <spot> hansg: you can BR both if you'd like [12:55] <hansg> Yes and I think its important we support every piece of hardware out there, but there is only so little time and so much todo [12:56] <hansg> I'm fine with this if someone else will fix all the allegro packages [12:56] <spot> hansg: i will do it then. :) [12:56] <hansg> ok +! [12:56] <hansg> make that +1 even [12:56] <spot> alright, i think we have enough +1s for this to be passed [12:57] <spot> i'll add the exception before FESCo looks at it [12:57] <spot> that is all i had for the agenda today [12:57] <spot> the floor is open for other issues [12:57] <rdieter> +1 here too [12:58] <spot> if you have no additional issues for today, please say "no". [12:58] <spot> so i can close this up and go eat lunch. :) [12:58] <hansg> no [12:58] <tibbs> I can't recall if we have new guidelines this week. [12:58] <rdieter> no [12:58] * Rathann has nothing [12:58] <hansg> or rather yes, meeting time? [12:58] <abadger1999> no [12:58] <hansg> since spot's remark queued me that DST has hit the US now too [12:59] <spot> hansg: ah, yes. i will send out an email asking for people to fill out a "good time for meeting" matrix [12:59] <hansg> I'm fine with the current time, but maybe some others want to it changed? [12:59] <spot> we'll see if we can come up with "better" options [12:59] <hansg> ok [12:59] <spot> no more from me [12:59] <tibbs> Ahh, NoBitsInSrv and the GCJ update were ratified last week. [13:00] <spot> tibbs: thats right. i'll tackle the writeups while i'm poking things today [13:00] <tibbs> OK. Nothing else from me. [13:00] <spot> alrighty. lunch time for me, this meeting is done! [13:00] <spot> thanks everyone [13:01] <tibbs> Next meeting in two weeks, 2008.05.06