From Fedora Project Wiki
Fedora Packaging Committee Meeting of {2007-05-29}
Present
- DavidLutterkort (
lutter
) - JasonTibbitts (
tibbs
) - JesseKeating (
f13
) - RexDieter (
rdieter
) - TomCallaway (
spot
) - ToshioKuratomi (
abadger1999
) - VilleSkyttä (
scop
)
Writeups
The following drafts have been accepted by FESCO and are to be written into the guidelines:
- Tweaks to static library packaging guidelines: http://fedoraproject.org/wiki/PackagingDrafts/StaticLibraryChanges
Votes
No proposals were voted upon this week.
Other Discussions
The following additional items were discussed; see the logs for full details.
- Guidelines for adding Users and Groups
- http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups
- Serious fundamental issues exist in rpm that prevent any reliable handling
of users and groups inside rpm scriptlets. For instance, %pre cannot be allowed to fail, because it seems that it is not possible to abort an RPM transaction.
- Clever ideas working around the tough problems would be warmly welcomed.
- Fix incorrect information in http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
- http://www.redhat.com/archives/fedora-packaging/2007-May/msg00116.html
- scop will draft up various changes.
- Including in binary packages test suite code that upstream does not install.
- There are multiple issues: including things as %doc and actually packaging test binaries in /usr/bin.
- There is little committee consensus on this; some members don't care what gets packaged as %doc, some don't want any test suite code packaged at all.
- Community opinions are solicited here.
- If someone feels strongly enough about the issue, please write up a draft.
IRC Logs
[12:01] * f13 stumbles in [12:02] <tibbs> So, FPC meeting today? [12:02] <tibbs> I recall that we had plenty to talk about. [12:03] <f13> spot: ? I know your music is playing... [12:03] <spot> yeah, i'm here [12:03] <rdieter> tibbs: blah blah static-libs blah blah... :) [12:03] <spot> i'm knee deep in licensing stuff. [12:04] <spot> ok, i count f13, rdieter, tibbs, and me [12:05] <scop> add one to that [12:05] <spot> abadger1999, lutter? [12:05] <abadger1999> I'm here. [12:05] <spot> ok, thats 6. [12:06] <spot> abadger1999: is the OCaml draft ready for review? [12:06] <abadger1999> Not yet. [12:06] <spot> ok. [12:06] <abadger1999> Richard has refined it quite a bit but I'd like to go through one more week on the lists. [12:06] <spot> scop: emacsen bits? [12:07] <scop> some progress with emacs stuff, haven't found time to look at the last round of changes [12:07] <spot> ok, we'll set that aside for next week too [12:08] <spot> scop: how about User/Groups? any changes there from last week? [12:08] <scop> no changes - I was supposed to add something about a registry, but the more I approached doing something the more I started to feel that it could come afterwards [12:09] <scop> ie. a somewhat separate issue [12:09] <lutter> spot: here now, sorry [12:09] <spot> So, there are a few changes that I'd like to see [12:09] <spot> 1. Use Requires: shadow-utils [12:10] <spot> or Requires(pre), rather [12:10] <spot> then, we can safely lose the pathing for the useradd/groupadd calls [12:10] <scop> I have no problem with that - however IIRC quite a few people prefer being explicit about stuff and requiring the exact executables we'd use [12:11] <spot> useradd/groupadd have been in shadow-utils for... years. [12:11] <scop> yeah, unless there are objections, I'll make that change [12:12] <spot> did anyone test to see if yum gets mad if the %pre fails? [12:12] <tibbs> I guess shadow-utils could grow a couple of provides, but I think it's pointless to worry about it. [12:12] <scop> rdieter? [12:12] <tibbs> I had someone wanting to require /bin/ping because it might move out of iputils one day. [12:12] <spot> tibbs: *shudder* [12:13] <rdieter> scop: sorry, -ENOTIME lately. [12:13] <spot> i'd feel a lot warmer about this draft if i knew yum would handle the pre failure case properly [12:13] <spot> skvidal: ping? [12:13] <tibbs> If we don't fail the pre, what would the consequences be? [12:14] <jeremy> %pre failing means the package won't be installed [12:14] <tibbs> Package gets installed with everything owned by root? [12:14] <spot> jeremy: what about other packages in the transaction set? [12:14] <spot> does yum stop entirely? [12:14] <spot> or packages before it in the transaction [12:15] <jeremy> spot: things will continue onward and you get absolutely no indication that something failed other than a line of output if you're running yum interactively [12:15] <jeremy> (on installs) [12:15] <spot> oh, that seems bad to me. [12:15] <jeremy> on upgrade, I think the old package remains installed [12:15] <spot> if foo deps on bar, and foo fails in pre, bar gets installed? [12:15] <spot> or rather, if bar deps on foo. [12:15] <skvidal> spot: pong [12:15] <jeremy> and yes, it is bad. if you are intentionally making %pre fail and expecting it to mean something, you're going to lose :-) [12:16] <skvidal> jeremy: is this a %pre with an exit 1? [12:16] <scop> exit $nonzero [12:16] <jeremy> exit != 0 [12:16] <spot> it seems to me like we do not want %pre to fail [12:16] <skvidal> so you're aborting the transaction [12:16] <skvidal> no, don't do that [12:16] <skvidal> not if you want anything to behave properly [12:16] <spot> and there is a pretty obvious failure case for %pre in this draft [12:17] <scop> instead, let the transaction go through, knowing that things won't work because it failed? [12:17] <spot> scop: broken system vs broken package? [12:17] <spot> which is the worse outcome? :) [12:17] <scop> "broken system"? [12:17] * jeremy goes to read the actual draft... [12:17] <spot> ok. lets say [12:17] <skvidal> what would be the desired failure mode? [12:17] <spot> libfoo and bar are being installed [12:17] <skvidal> ie: what is it you're hoping would happen? [12:18] <spot> skvidal: http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups [12:18] <lutter> we'd like the txn to abort cleanly [12:18] <jeremy> there is no way at all from a package to abort a transaction "cleanly" [12:18] <lutter> at least, don't do anything for the package whose %pre failed and any of its deps [12:18] <jeremy> the concept isn't even defined [12:18] <spot> if %pre fails on adding a user, then that package doesn't get installed. [12:18] <spot> but any other packages in the same transaction _do_ get installed [12:19] <skvidal> what? [12:19] <skvidal> you want it to swallow the failure? [12:19] <spot> uh uh. [12:19] <spot> i'm not advocating that at all. :) [12:19] <skvidal> okay, then I'm confused how is: [12:19] <skvidal> " but any other packages in the same transaction _do_ get installed" [12:19] <skvidal> not "swallow the failure" [12:19] <spot> ideally, i'd like to see yum detect the failure, scream, and revert the transaction entirely [12:20] <skvidal> revert the transaction [12:20] <skvidal> oh that's amusing [12:20] <spot> i tell yum [12:20] <spot> install foo bar baz [12:20] <spot> foo goes in fine [12:20] <rdieter> or abort gracefully early on... [12:20] <spot> bar fails in pre [12:20] <spot> yum does what now? [12:20] <jeremy> skips installing bar, nothing else changes [12:20] <scop> no need to revert everything, only packages that have dependencies to the one(s) that got dropped [12:20] <spot> but what if baz depended on bar? [12:20] <skvidal> b/c rpm doesn't error out [12:20] <jeremy> spot: baz still tries to get installed [12:20] <spot> will it fail because bar didn't go in? [12:21] <jeremy> no [12:21] <skvidal> jeremy: and the ts would believe it had it satisfied it [12:21] <jeremy> skvidal: correct [12:21] <spot> ok, so now we've got bar missing and baz broken [12:21] <skvidal> spot: no. it will happily go along [12:21] <lutter> ouch .. so failing %pre is really bad [12:21] <spot> on a larger transaction, this is DOOM [12:21] * rdieter thinks we're screwed. :) [12:21] <spot> thus, two issues. [12:21] <skvidal> there's no definition of failure modes for %scriptlets [12:21] <spot> 1. utopia: yum should be able to handle that case. [12:21] <spot> 2. NEVER EVER let %pre fail [12:21] <skvidal> if it makes you feel any better apt-deb doesn't have anything it can do then, either. [12:22] <lutter> spot: it's really rpm that needs to handle the failure, not yum [12:22] <spot> i am totally not pointing fingers there. [12:22] <skvidal> spot: I'm not worried, fixing this in yum would be, umm, amusing :) [12:22] <spot> if we're going to use %pre to add users groups, we need to have a fallout case [12:22] <jeremy> spot: correct [12:23] <skvidal> before that we need to define the modes of failure and all the cases [12:23] <lutter> I know .. just trying to keep tyhe moving parts styraight [12:23] <jeremy> (and if you're not going to use %pre to add users and groups, I'm not really sure what you're planning on doing, but hey, what do I know? ;-) [12:23] <-- cweyl|work has left this server (Read error: 110 (Connection timed out)). [12:23] <spot> skvidal: i did point out utopia, didn't i? [12:23] <skvidal> spot: I mean the broader definitions [12:23] <tibbs> Well, rpm could take care of adding users and groups internally, I guess. [12:23] <spot> skvidal: ok, i see what you mean. [12:24] <spot> so, the failure cases i see here: [12:24] <skvidal> spot: I mean we don't just care about adding users - all the other hurky shit out there in %scriptlets [12:24] <skvidal> ie: if a trigger fails? [12:24] <spot> skvidal: doesn't rpm throw a exit code on triggers? [12:24] <skvidal> I don't think it aborts the transaction anymore than a %pre error [12:24] <jeremy> it doesn't [12:24] <spot> i didn't ask that. [12:24] <skvidal> and I'm pretty sure it doesn't get passed up to the library layer [12:25] <skvidal> it's probably just emitted [12:25] <spot> well, eww. [12:25] <skvidal> no kiddin [12:25] <spot> so, to bring this back on topic [12:25] <spot> if we want to use %pre for user/group adds [12:25] <spot> we need to note all the possible cases [12:25] <spot> and plan for them. [12:26] <-- nim-ni1 has left this server ("Leaving."). [12:26] <spot> case 1: user/group doesn't exist. [12:26] <rdieter> or option 48: stick head in sand, pray to *diety*. [12:26] <spot> case 2: user/group already exists (previous package put them there) [12:26] <spot> case 3: user/group already exists (amanda is my username, yay!) [12:26] <lutter> best we can do is have the user/group additions need to always succeed; if there were problems, they need to be recorded somewhere and give ppl another tool to check for them [12:27] <spot> well, we can trap the exit code from useradd/groupadd [12:27] <spot> and say "if this exit code is non-zero, fallback to using $USER or $GROUP" [12:27] <scop> you can't fall back %files sections [12:28] <rdieter> I can't see that working, these packages (often) have hard-coded user/group references [12:28] <scop> you either have the user/group or not - if not, you'll get them owned by root [12:28] <rdieter> and if they're setuid/setgid? (to root?) [12:29] * scop was thinking exactly the same [12:29] <jeremy> iirc, they don't get the suid/sgid bit if the right user/group doesn't exist [12:29] <spot> ok, so I'm slowly coming to the conclusion that there is no safe way to add users/groups in the package [12:29] <rdieter> jeremy: good, thanks. [12:29] <spot> that we need to be thinking about this differently. [12:29] <jeremy> (I'd have to go reread the code again to be 100% certain about it) [12:29] <rdieter> spot: back to 'setup'? [12:30] <spot> rdieter: yes, i'm thinking setup. [12:30] <scop> I could not disagree more [12:30] <spot> scop: ok, well, here's my logic path [12:30] <spot> pre cannot fail -> fallback will not work because %files isn't flexible [12:31] <rdieter> or hybrid solution, setup for well-defined users/groups ahead-of-time, and then put some (1,2, many?) place-holder user/groups there too, for use until the next iteration of setup. ? [12:31] <spot> the only workaround I can think of is HORRIFYING [12:31] <spot> and thus, i will not bring it up. [12:31] <lutter> spot: do anyway [12:31] <spot> lutter: ok. detect that we've failed in %pre with a macro define, fallback to root ownership [12:31] <spot> %files will do the right thing [12:32] <spot> check for the macro define in %post [12:32] <spot> and manually fix everything. [12:32] <tibbs> Can we do the user addition in a separate package? [12:32] <rdieter> the horror! [12:32] <tibbs> Or is that the horrifying workaround? [12:32] <lutter> spot: what would 'fix everything' do ? [12:32] <spot> chown root.root for everything in %files that had ownership perms [12:32] <rdieter> tibbs: I thought about that, but it doesn't buy us anything (it has most of the same problem(s)). [12:32] <lutter> tibbs: I think we'd run into the same problem, since rpm doesn't abort the txn [12:33] <tibbs> We're sure it won't abort even though the package will have unsatisfied dependencies in that case? [12:33] <spot> tibbs: i tend to trust skvidal when he says it won't. [12:33] <rdieter> tibbs: the package that adds the user would abort -> same problem. [12:33] <lutter> yep .. that's how I understood jeremy and skvidal said [12:33] <-- mdomsch has left this server ("Leaving"). [12:34] <tibbs> I had the impression it just wouldn't stop the installation of the package with the failing pre. [12:34] <spot> skvidal: ok, come back, we need you to be explicit [12:35] <spot> yum install foo bar baz [12:35] <rdieter> we have the option of simply assuming user/group adds always succeed. :) [12:35] <tibbs> scrollback seems to indicate that I'm wrong. [12:35] <spot> baz depends on bar [12:35] <spot> bar fails on %pre [12:35] <spot> does baz get installed? [12:35] <scop> yes [12:35] <tibbs> Note also that we don't have to use %pre in this case. [12:35] <scop> ? [12:35] <rdieter> tibbs: %pre is still the way to go (I think) [12:36] <tibbs> If there were some other hook we could use that has better behavior.... [12:36] <rdieter> tibbs: we don't want a pkg that Provides: user(foo) to get installed, then fail in %post, do we? [12:36] <scop> %pretrans? [12:36] <rdieter> %pretrans is way, way early alright. [12:37] <rdieter> maybe failure there is less horrifying. :) [12:37] <spot> i'm not sure it is. [12:37] <spot> any pre-install scriptlet failure will cause that package to not be installed [12:37] <spot> but it will not affect the transaction in-flight [12:38] <rdieter> ugh (we want the whole transation stopped). [12:38] <scop> if failing %pretrans doesn't cancel the whole transaction, that must be a bug [12:38] <scop> but then again I'm not sure we can always expect shadow-utils to be available for %pretrans [12:38] <rdieter> scop: ouch, you're right. [12:39] --> nim-nim has joined this channel (n=nim-nim@m37.net81-64-156.noos.fr). [12:39] <spot> hmm, ok. thinking out loud. [12:39] <spot> can we just check for the existence of the desired user/group in %pre? [12:39] <scop> we already do for the username [12:39] <spot> we don't fail if we find it, we just binary macro flip yes/no [12:40] <scop> eh [12:40] <spot> conditionalize the Provides: user(foo) around that binary macro [12:40] <spot> in %post, check the binary macro, add user if its not there [12:40] <scop> I don't think you can affect such things in scriptlets [12:41] <spot> are you sure? [12:41] <scop> 99% [12:41] * rdieter though macros were defined at *build* time, not runtime. [12:41] <spot> because that would be slippery, but it might get us over the top [12:41] <lutter> spot: why not wrap the user/group add in a script that (a) is somewhat tolerant to the various failure modes and (b) keeps track of what user/groups it would have liked to create; that at least gives admins a fighting chance to figure out if there were problems after the fact [12:41] <scop> I fail to see how that would be better than just letting %pre fail if the user/group creation fails [12:42] <spot> scop: ok, let me repeat. we don't ever want %pre to fail. [12:42] <spot> i will vote against any draft that lets %pre fail. [12:42] <rdieter> lutter: yeah, I think we need a helper app/scriptlet that can do more for us here. [12:42] <spot> ok, more thinking out loud [12:43] <spot> can we do this with a yum plugin? [12:43] <scop> no [12:43] <spot> why not? [12:43] <lutter> is there ever a situation where we are not able to run a script and have user X exist afterwards ? The user might have the wrong uid/home dir etc., but that's a sperate issue ;) [12:43] <scop> doesn't help apt, smart, rpm [12:43] <spot> i'm all for choice, but couldn't they also get plugins? [12:43] <spot> well, maybe not rpm. ok. [12:43] <tibbs> Well, rpm doesn't do plugins. [12:43] <lutter> I think such a script should go into shadow-utils [12:43] <scop> I will vote against any draft that requires writing plugins for this [12:44] <lutter> and there's no guarantee that ppl have that plugin enabled in yum [12:44] <spot> so, shadow-utils should provide a utility that adds a user/group safely, handles rpm provides, and file ownership? [12:45] <spot> i think we're violently slamming against the wall of what is possible with rpm [12:45] <scop> how would it handle rpm provides? [12:45] <rdieter> spot: everything but rpm provides, yes. [12:45] <lutter> not rpm provides; not sure what to do about file ownership [12:45] <spot> Provides: user(foo) [12:45] <scop> but a script in shadow-utils? [12:46] * scop notes I have 2 smaller other things I'd like to discuss for a bit today [12:46] <spot> ok, lets set user/groups aside [12:46] <rdieter> some sort of useradd/groupadd queue (and sets perms), where stuff gets removed only on success. [12:46] <spot> i have some other ideas i want to try before i discuss [12:46] <lutter> if the user at least exists by the time %files does its thing, file ownership isn't as big an issue. To guard against the amanda situation (ordinary user suddenly can run programs they weren't supposed to) we'd need a separate way to disable such programs .. it's ugly [12:46] <rdieter> (this is starting to sound like some SuSE madness I've seen before) [12:47] <spot> scop: go ahead, whatcha got? [12:47] <scop> for the record, I'm now convinced that non-failing %pre is better than a failing one even if the user/group creation fails [12:47] <lutter> there's another, even ickier option: fix rpm to do the right thing when %pre fails (where we define 'the right thing') [12:47] <tibbs> %post could do some cleanup/disabling/chown to nobody if the user didn't get created, I guess. [12:47] <scop> 1st little thing: http://www.redhat.com/archives/fedora-packaging/2007-May/msg00116.html [12:48] <spot> lutter: rule number 1 of packaging club: Fixing rpm is not an option, outside of our scope. [12:48] <scop> I suppose fixing the scriptletsnippets page according to mlichvar's points doesn't require much discussion? [12:48] <spot> scop: ok, so someone should probably fix scriptletsnippers [12:48] <tibbs> scop: Well, what's wrong with a little defensive programming? [12:49] <rdieter> I think we just came to the conclusion that aborting scriplets leads to madness, and is not an option. [12:49] <scop> tibbs, you're referring to mlichvar's post? [12:49] <tibbs> scop: Yes. [12:49] <tibbs> We can save three characters per line if we make an assumption about the internals of rpm. [12:49] <scop> he points out that some of the info in ScriptletSnippets is plain wrong, and he's right [12:49] <lutter> I think the part that talks about omitting ||: is sane and scriptletsnipers should be updated accordingly [12:50] <tibbs> Doesn't seem like a terribly good tradeoff to me, personally. [12:50] <rdieter> I don't really see the point either. [12:50] <scop> "This is important because the scriptlet as a whole will error the moment it tries to execute a command that has a non-zero exit status." [12:50] <scop> that's incorrect [12:51] <rdieter> ah, that part should be fixed, the rest, not so sure. [12:51] <spot> any obvious errors in scriptletsnippets should be fixed. [12:51] <spot> that page got grandfathered in... [12:52] <abadger1999> scop: I agree. That needs to be changed otherwise people will have false expectations of [12:52] <abadger1999> %post [12:52] <abadger1999> /bin/false [12:52] <abadger1999> /bin/true || : [12:52] <scop> ok, so do people want this drafted or me to just go ahead and fix any obvious errors? [12:53] <abadger1999> +1 Just fix it. [12:53] <tibbs> I guess that whole thing needs to be changed to note that we now know that you can never allow a scriptlet to fail. [12:53] <spot> +1 just fix it [12:53] <lutter> +1 [12:53] <scop> on the other hand, if we can't allow a scriptlet to fail, that's something that our rpm which drives us into that kind of situation should have built in [12:53] <tibbs> I guess it depends on what you intend to just fix. [12:53] <rdieter> +1 [12:54] * scop sighs [12:54] <tibbs> Because if you want to add mlichvar's info about appending "|| exit 1" then we'd have a problem. [12:54] <tibbs> But if you just want to remove the incorrect info then fine. [12:54] <scop> that's not in the "obvious errors" category I volunteered to fix [12:54] <spot> scop: why don't you draft it [12:54] <spot> just to make sure everyone is happy [12:54] --> JSchmitt has joined this channel (n=s4504kr@p54B10442.dip0.t-ipconnect.de). [12:55] <scop> ok [12:55] <tibbs> I don't want to force an extra runthrough. [12:55] <lutter> scop: I think you could just write a one sentence description of the change here and we vote on it right now [12:55] <spot> lutter: i think its more than one sentence [12:55] <spot> scop: you can just copy the page into PackagingDrafts [12:55] <spot> edit it there [12:55] <scop> I'll draft something for next week [12:56] <scop> next, including test suite code that upstream doesn't install in binary packages [12:56] <scop> I'm not sure if this is on our plate though [12:56] <tibbs> Ah, what cweyl's doing for all of his perl packages now. [12:56] <spot> yeah. i think i'm not really in support of this. [12:56] <spot> i think test suite code not installed by make install goes in -devel [12:56] <spot> or not at all [12:56] <tibbs> I have to admit it bothers me, but in many cases the example code is useful as documentation. [12:57] <scop> I'm not at all either [12:57] <spot> tibbs: not in /usr/bin [12:57] <spot> i don't care what goes in %doc that isn't executable. :) [12:57] <tibbs> OK, so this isn't what Cweyl's doing. [12:57] <spot> you can dump the kitchen sink in there. :) [12:57] <tibbs> spot: Even tarballs? [12:57] * spot squirms a little [12:57] <spot> i like that better than test binaries in /usr/bin [12:58] <scop> I do care about %docs as well, some rationale here: https://bugzilla.redhat.com/239193#c4 [12:58] <tibbs> I just reviewed a package that included several empty directories and two tarballs as %doc. [12:58] <spot> empty dirs shouldn't be in %doc without good reason [12:58] <tibbs> They're needed by the "example code", aka the test suite that gets packaged. [12:59] * scop thinks empty dirs are less harmful than the average test suite code [12:59] <lutter> installing an rpm shouldn't set you up with a dev environment for that package .. at some point, you have to check out the code from upstream [12:59] <tibbs> So we have multiple issues. [12:59] <tibbs> What packages are putting test stuff in /usr/bin? [13:00] <spot> i think packaging up test code as %doc is alright. [13:00] <spot> as long as it is non-executable [13:00] <tibbs> Perl tests are generally non-executable. [13:00] <scop> hm, so the difference is "./t/foo.t" vs "perl ./t/foo.t"? [13:02] <spot> the former is a possible accident, the later is very unlikely to be accidental. [13:02] <spot> i admit it is a thin line. [13:02] <lutter> seems like it boils down to whether the tests are written in a compiled or in a scripting language [13:02] <scop> but really, test suite code in non-*-devel, non-*-test packages? [13:03] <tibbs> ld.so ./t/blah ? [13:03] <spot> scop: other than in %doc, i say no. [13:03] <abadger1999> Or -doc packages [13:03] <scop> abadger1999++ [13:03] <scop> IMO not in main package, %doc or not [13:03] <tibbs> I have to agree. Tests as documentation are suboptimal, but occasionally that's all you get. [13:04] <lutter> but if you are interested at that level, you might as well check out from upstream [13:04] <tibbs> Sorry, I was agreeing with spot, not scop. [13:04] *** knurd is now known as knurd_afk. [13:04] <spot> we shouldn't require it, but its packager's discretion to have tests in %doc, -devel, or -test [13:04] <spot> if its in %doc, it can't be executable (chmod -x) [13:04] <spot> or -doc (as %doc) if there are a lot of docs [13:05] <spot> but test code shouldn't be in %bindir or %sbindir [13:05] <tibbs> Theoretically, we could require all perl modules to split their documentation to -devel, since it's only needed by developers and not by end-users. [13:05] <tibbs> But that would be madness, I think. [13:05] * spot shudders [13:05] <lutter> I'd much prefer if test code be left out of the main package entirely; it's just bloat for most people [13:05] <spot> i can hear the knashing of teeth now [13:06] <rdieter> if -devel already exists, fine, but not just for docs. [13:06] <spot> i think if the argument is that test code is useful for -devel, there is a -devel. [13:07] <spot> how about (if a -devel, put it there. if not, -doc/%doc is ok for small quantities of test code) [13:07] <abadger1999> spot: knashing if you use kde, gnashing otherwise. [13:07] <spot> if not small quanties, use -test. [13:07] <scop> -1 to blanket approval for test code that isn't installed by upstream [13:07] <spot> quantities [13:08] <rdieter> anything else juicy, me gotta run soon. [13:08] * spot sighs [13:08] <spot> if someone cares about this enough to draft it formally, then i'll vote on it. [13:08] <tibbs> scop: Do you have a different opinion of example code? [13:08] <scop> tibbs, different than what? [13:08] <spot> i'm starving. [13:09] <tibbs> scop: You don't like test code that isn't installed by upstream, but what about an "examples" directory included as %doc? [13:09] <tibbs> And if you view that differently, why is test suite code not acceptable as an example? [13:09] <scop> well, that's pretty clearly designated as an example how to use stuff [13:09] <abadger1999> tibbs: Does libfl.a need anything from us? [13:10] <rdieter> +1 to what spot said (about test code, and starving) [13:10] <tibbs> abadger1999: It's FESCo that approves those, isn't it? [13:10] <spot> yeah, static libs ain't us. [13:10] <spot> we just tell you how to package them. :) [13:10] <tibbs> I think that FESCo kind of has to approve flex or else we break lots of things. [13:10] <abadger1999> I think the static library changes we voted on last week makes it so FESCo doesn't have to approve inclusion anymore. [13:11] <abadger1999> Just approval of linking. [13:11] <spot> abadger1999: i agree [13:11] <spot> static libraries can be packaged. static linked binaries need permission. [13:11] <tibbs> abadger1999: Which would mean any package that does BR: flex needs an ack? [13:11] <spot> (from FESCo) [13:11] <tibbs> Fun. [13:12] <spot> tibbs: FESCo could blanket approve flex linked binaries. [13:12] <tibbs> I think they'd have to in this case. [13:12] <abadger1999> tibbs: That's why I asked :-) [13:12] <spot> but i don't speak for FESCo as a whole. :) [13:12] * spot puts on his tin-foil hat [13:12] <abadger1999> Maybe libfl.a should be in a -devel package? [13:12] <rdieter> imo, yes. [13:12] <spot> the guidelines would say that, yes. [13:13] <spot> ok, one last thing before i stop the madness. ;) [13:13] <spot> http://fedoraproject.org/wiki/Packaging/GuidelinesTodo [13:13] <spot> lutter, rdieter [13:13] * lutter hides (again) [13:13] <spot> you know what i'm going to say. get it done, pls. [13:14] <tibbs> abadger1999: flex itself is a "-devel" package, like gcc. [13:14] <rdieter> yeah, yeah. F7-tasks are mostly done, I can catch-up on things now. [13:14] <abadger1999> And we could add something to the guidelines that say BR: *-static needs approval, BR: *-devel is okay as we can get the same information out of it. [13:14] <rdieter> tibbs: good point, ok. :) [13:14] <spot> ok, folks. lunch time for me. thanks for all the headaches. :) [13:15] *** rdieter is now known as rdieter_away. [13:15] <abadger1999> Thanks spot. [13:15] <tibbs> Lunch! [13:16] <abadger1999> tibbs: Hmm... Let me think of a way to reword so we don't have to worry about flex.