1. SCons
  2. Core
  3. SCons

Wiki

Clone wiki

SCons / BugParty / IrcLog2008-06-23

18:53:02  *      stevenknight (n=[stevenkn@72.14.224.1](mailto:stevenkn@72.14.224.1)) has joined #scons 
19:01:03  <stevenknight> good evening, anyone else here for bugs? 
19:01:08  <[GregNoel](GregNoel)>     Warning: The Internet connection in this condo is in the middle of the living room, so rugrats are in play, Action Heros are on the TV, relatives and food are scattered all over, and multiple distractions are, er, distracting. 
19:01:26  <garyo-home>   Hi guys, I'm here. 
19:01:44  <[GregNoel](GregNoel)>     Are you there, Bill? 
19:02:01  <garyo-home>   Greg: welcome back! 
19:02:26  <[GregNoel](GregNoel)>     Well, I'm only sorta back, but I'll try to hang in there. 
19:02:31  *      garyo-home wonders if this is how you do the IRC italic thing 
19:02:36  *      garyo-home realizes it is. 
19:03:10  <[GregNoel](GregNoel)>     What italic thing? 
19:03:28  <stevenknight> i bet garyo's IRC client display /me messages in italics...? 
19:03:34  <garyo-home>   yes. 
19:03:41  <[GregNoel](GregNoel)>     Ah. 
19:04:01  <garyo-home>   Seems to be how one writes about oneself in the third person. 
19:04:18  *      [GregNoel](GregNoel) is not so sure 
19:04:18  <garyo-home>   So, we're waiting for Bill? 
19:04:31  <stevenknight> i'd say let's start and he can join 
19:04:34  *      garyo-home thinks that's funny 
19:04:39  <garyo-home>   ok 
19:04:41  <[GregNoel](GregNoel)>     ok 
19:04:47  *      stevenknight thinks we're all bozos on this bus 
19:04:52  <garyo-home>   We're starting with 2098 then? 
19:05:05  <garyo-home>   Or is it 2105? 
19:05:19  <[GregNoel](GregNoel)>     2098 was only updated yesterday 
19:05:32  <[GregNoel](GregNoel)>     so I imagine we should start with 2105 
19:05:30  <garyo-home>   ok, 2105 then. 
19:05:38  <stevenknight> 2105 
19:06:00  <[GregNoel](GregNoel)>     I am swayed by Gary's argument, but not convinced 
19:06:03  <garyo-home>   I"m ok with doc for 1.0, but I think it ought to be made to work someday. 
19:06:23  <[GregNoel](GregNoel)>     So maybe you should take it? 
19:06:54  <garyo-home>   OK, give it to me, I'll doc it for now and reassign as 1.x or 2.0 afterward. 
19:06:59  <[GregNoel](GregNoel)>     done 
19:07:03  <stevenknight> done 
19:07:31  <garyo-home>   2106: 1.0.x, p3, steven? 
19:07:36  <stevenknight> works for me 
19:07:44  <[GregNoel](GregNoel)>     done 
19:07:53  <garyo-home>   2107? 
19:08:28  <stevenknight> 2107: agree w/Greg that we need a comprehensive solution 
19:08:31  <garyo-home>   I think Install as is should copy the source, but there should be a new way to do a real install. 
19:08:41  <stevenknight> define "real install?" 
19:08:53  <[GregNoel](GregNoel)>     I don't know how to get there from here 
19:08:54  <stevenknight> you mean like a package install? 
19:09:00  <garyo-home>   real = like the BSD install command that takes mode/owner/group. 
19:09:08  <stevenknight> ah 
19:09:20  <stevenknight> why not do that with additional args to the current Install()? 
19:09:26  <[GregNoel](GregNoel)>     Configure makes the same distinction 
19:09:42  <garyo-home>   Steven: I'd be OK w/ that. 
19:10:07  <stevenknight> I think it's already confusing enough to a lot of people that our Install() is modeled after the BSD command 
19:10:17  <garyo-home>   Not sure if it's a + or - that those args could be set in the env though. 
19:10:35  <stevenknight> instead of something that means "make this part of the installation items for this package" like you have in a RPM or Deb linux distribution 
19:11:04  <garyo-home>   Right; we should check Maciej's stuff, I'm pretty sure he solves this. 
19:11:05  <[GregNoel](GregNoel)>     Maybe we could split off [InstallData/InstallExec](InstallData/InstallExec)? 
19:11:21  <stevenknight> good point re: Maciej 
19:11:26  <garyo-home>   Greg: there should be a layer in between, but that's the right idea. 
19:11:27  <stevenknight> and the need for Install{Data,Exec} 
19:11:49  <[GregNoel](GregNoel)>     Maciej added the install prefix but that would kill anyone who used it for a copy 
19:12:03  <stevenknight> how about i take this one 
19:12:14  <[GregNoel](GregNoel)>     when? 
19:12:18  <garyo-home>   OK w/ me.  Research or ??? 
19:12:23  <stevenknight> i've been pretty sure integrating Maciej's stuff would fall to me anyway 
19:12:42  <stevenknight> 1.x at the earliest, but no later than 2.x i'd think 
19:12:44  <[GregNoel](GregNoel)>     1.x p4? 
19:12:49  <garyo-home>   So 1.x p3/p4? 
19:12:52  <stevenknight> yeah, that sounds about right 
19:12:57  <stevenknight> 1.x p4 
19:12:59  <[GregNoel](GregNoel)>     done 
19:13:12  <garyo-home>   2108: trivial 
19:13:17  <[GregNoel](GregNoel)>     and consensus 
19:13:20  <stevenknight> yes 
19:13:21  <stevenknight> done 
19:13:29  <garyo-home>   2109, what is im_func? 
19:13:49  <[GregNoel](GregNoel)>     dunno 
19:13:57  <garyo-home>   Anyway looks like consensus is 1.0.x p2 Benoit? 
19:14:00  <stevenknight> it's an attribute on one of the Python data structures that refers the actual code function object 
19:14:18  <[GregNoel](GregNoel)>     Ah, yes, a 2.5 feature 
19:14:33  <stevenknight> trying to get the code function object (which has the compiled byte code) to calculate the signature is pretty involved 
19:14:47  <[GregNoel](GregNoel)>     so we need a backward-compatible shim? 
19:14:59  <garyo-home>   It looks like a string action though, in the bug report. 
19:15:04  <stevenknight> you have to thread your way through different attributes depending on whether it's a function, or a callable object, and a couple of other non-obvious cases 
19:15:22  <[GregNoel](GregNoel)>     Benoit then 
19:15:27  <stevenknight> i think it just needs a little triage to isolate the difference in the reporter's Python version 
19:15:29  <garyo-home>   ok w/ me 
19:15:42  <stevenknight> yeah 1.0.x p2 Benoit 
19:15:47  <[GregNoel](GregNoel)>     done 
19:16:05  <[GregNoel](GregNoel)>     2110 
19:16:11  <garyo-home>   2110: consensus 1.x p3 steven, unless tricky? 
19:16:11  <stevenknight> 1.x p3 me 
19:16:17  <[GregNoel](GregNoel)>     done 
19:16:17  <stevenknight> yes 
19:16:30  <garyo-home>   2111: dup of 2051 
19:16:39  <[GregNoel](GregNoel)>     ok 
19:16:55  <stevenknight> done 
19:17:16  <garyo-home>   2112: consensus? 
19:17:23  <[GregNoel](GregNoel)>     ok, who? 
19:17:21  <stevenknight> 2112:  how have we survived this long with a summary line that violates the spec? 
19:17:37  <[GregNoel](GregNoel)>     Short entries? 
19:17:42  <stevenknight> must be 
19:17:45  <stevenknight> i'll take it 
19:17:54  <[GregNoel](GregNoel)>     ok, done 
19:17:57  <garyo-home>   Steven, good question.  Maybe someone's rpmbuild is less forgiving 
19:18:38  <garyo-home>   2113: consensus 1.x p3?  Could be earlier, it's likely to be easy 
19:19:15  <stevenknight> 2113:  how about 1.0.x p4 then? 
19:19:23  <garyo-home>   fine w /me. 
19:19:41  <[GregNoel](GregNoel)>     I'm easy 
19:19:55  <garyo-home>   OK, good progress! 
19:19:58  <stevenknight> ok, done 
19:20:09  <stevenknight> oh, wait -- who? 
19:20:26  <garyo-home>   I could do it if you want. 
19:20:34  <stevenknight> works for me 
19:20:52  <garyo-home>   ok. 
19:20:59  <stevenknight> on to 2007 q1? 
19:21:14  <garyo-home>   I'm ready, looks like it starts w/ 1525. 
19:21:35  <garyo-home>   ... which is clearly toolchain. 
19:21:37  <[GregNoel](GregNoel)>     still shuffling, not as easy as on my desktop 
19:21:40  <stevenknight> 1525:  consensus future+toolchain 
19:21:45  <stevenknight> devil's advocate, though: 
19:22:08  <stevenknight> it would actually be pretty trivial to just add some variables for these instead of hard-coding them in Platform/<ins>init</ins>.py 
19:22:28  <stevenknight> if the toolchain refactoring is going to take a while, is it worth doing something like that to help people in the meantime? 
19:22:46  <garyo-home>   Yes, that's actually how I got interested in that. 
19:22:48  <stevenknight> or does that run the risk of boxing us into Yet Another feature that we'll have to maintain backwards compatibility for? 
19:22:58  <[GregNoel](GregNoel)>     hard choice 
19:22:59  <garyo-home>   Started looking at how to expose those vars. 
19:23:38  <garyo-home>   But you're right, given actual hours to be spent, toolchain refactor is going to take a while. 
19:23:43  <[GregNoel](GregNoel)>     I'd prefer to know where we're going before making short-term mods 
19:24:17  <garyo-home>   Greg: that's true for sure.  But how long will even the design part take? 
19:24:42  <garyo-home>   I think once 1.0 is out we should spend some serious time on it.  Not that I have any :-) 
19:24:50  <stevenknight> okay, so for this bug, let's leave it future+toolchain 
19:24:51  <[GregNoel](GregNoel)>     I've got a few updates at home, but design is always a long process 
19:25:10  <[GregNoel](GregNoel)>     OK, and if we can factor some out short-term, we'll do it. 
19:25:19  <stevenknight> with a notation to the effect that one early subtask in that should be nailing down the configurability interface 
19:25:28  <stevenknight> (i.e. variable names) 
19:25:37  <[GregNoel](GregNoel)>     (Actually, toolchain has been 2.x p4 I think.) 
19:25:43  <stevenknight> and retrofit that part to the existing code base if practical 
19:25:43  <garyo-home>   Right, or maybe a simple functional interface, whatever. 
19:25:52  <garyo-home>   yes. 
19:25:53  <[GregNoel](GregNoel)>     works for me 
19:25:56  <stevenknight> done 
19:26:30  <stevenknight> 1538: fixed by Gary? 
19:26:34  <garyo-home>   yes. 
19:26:39  <stevenknight> done 
19:26:57  <[GregNoel](GregNoel)>     Any patch for 1546? 
19:27:01  <garyo-home>   1546, Ada? 
19:27:47  <garyo-home>   No idea, let's mark it 2.x until other Ada requests come in or people vote for it. 
19:27:54  <stevenknight> ++ 
19:28:00  <[GregNoel](GregNoel)>     ++ 
19:28:10  <[GregNoel](GregNoel)>     p3? 
19:28:19  <garyo-home>   Sure. 
19:28:29  <[GregNoel](GregNoel)>     done 
19:28:38  <garyo-home>   1553: consensus=worksforme 
19:28:43  <stevenknight> done 
19:28:58  <stevenknight> 1558:  ??? 
19:29:21  <garyo-home>   Would be cool, but does anyone understand pdb? 
19:29:25  <[GregNoel](GregNoel)>     Not me 
19:29:34  <stevenknight> just a smidge 
19:29:50  <stevenknight> only enough to put in place what we currently have 
19:29:58  <garyo-home>   I think maybe 1.x or 2.0 p4. 
19:30:02  <stevenknight> ...and look at how well *that's* turned out...  :-) 
19:30:05  <garyo-home>   :-) 
19:30:27  <garyo-home>   Better debugging in general would be nice 
19:30:34  <[GregNoel](GregNoel)>     agreed 
19:30:42  <stevenknight> how about p3?  i'm swayed by your argument in the spreadsheet about making it easier to hack scons 
19:31:09  <garyo-home>   Well, I'd use it if it were there, for sure. 
19:31:20  <garyo-home>   So p3 is OK w/ me. 
19:31:20  <[GregNoel](GregNoel)>     2.x p3, then? 
19:31:43  <stevenknight> 1.x p3, i'd rather at least consider it sooner rather than later? 
19:31:52  <garyo-home>   OK.  If anyone with pdb knowledge turns up, we ask them to work on it. 
19:31:55  <[GregNoel](GregNoel)>     Hmmmm... 1.x p4. 
19:32:04  <stevenknight> i can go with that 
19:32:06  <garyo-home>   ok compromise. 
19:32:09  <[GregNoel](GregNoel)>     done 
19:32:11  <stevenknight> done 
19:32:32  <[GregNoel](GregNoel)>     How's Nathan? 
19:32:39  <stevenknight> 1567:  awol, and i haven't followed up 
19:32:58  <garyo-home>   1567: no sooner than 2.x unless Nathan is found. 
19:33:10  <[GregNoel](GregNoel)>     agreed 
19:33:19  <stevenknight> 2.x, p...3? 
19:33:25  <[GregNoel](GregNoel)>     yes 
19:33:28  <garyo-home>   And besides it'd have to be customized for each distro, yuck. 
19:33:35  <garyo-home>   2.x p3 ok. 
19:33:40  <stevenknight> done 
19:33:40  <[GregNoel](GregNoel)>     but we need to mark it somehow so that 
19:33:56  <[GregNoel](GregNoel)>     we can find it again if Nathan shows 
19:34:18  <garyo-home>   hmm, gsoc keyword? 
19:34:31  <[GregNoel](GregNoel)>     ok, would work 
19:35:19  <garyo-home>   Not sure what we can do about 1570; no testcase. 
19:35:29  <stevenknight> i'm okay with closing it out 
19:35:52  <stevenknight> if it's important enough someone else will open up another issue with a testcase 
19:35:54  <garyo-home>   agree. 
19:36:02  <[GregNoel](GregNoel)>     concur 
19:36:23  <stevenknight> 1571:  consensus 2.x p3 
19:36:23  <stevenknight> who? 
19:36:40  <stevenknight> or we don't need to assign 2.x -- i keep forgetting 
19:36:48  <garyo-home>   Let's not. 
19:36:53  <[GregNoel](GregNoel)>     noone for now 
19:37:02  <stevenknight> done 
19:37:13  <stevenknight> 1574:  research, [VisualStudio](VisualStudio), me 
19:37:18  <[GregNoel](GregNoel)>     done 
19:37:31  <stevenknight> 1575:  1.x p3 jim 
19:37:43  <garyo-home>   ok 
19:37:50  <[GregNoel](GregNoel)>     done 
19:38:23  <garyo-home>   1577: Greg, are you sure about .sconsign and test output? 
19:38:26  *      [GregNoel](GregNoel) has a rugrat on his head and other minor distractions.... 
19:38:43  <stevenknight> i hear rugrats are good eatin' 
19:39:13  <garyo-home>   it's quiet here on the right coast 
19:39:46  <stevenknight> 1577:  the Configure stuff has to store the result somewhere 
19:39:54  <[GregNoel](GregNoel)>     Ok, where in the .sconsign is it kept? 
19:39:58  <stevenknight> when you re-run it will tell you things like "... yes (cached)" 
19:40:26  <stevenknight> i'm not sure off the top of my head, that code makes my head hurt when I look at it 
19:40:28  <garyo-home>   I don't understand how it works, but I have tests that say .... "v1.03" (cached) 
19:40:39  <garyo-home>   where that v1.03 was output from a config-compiled binary. 
19:40:57  <[GregNoel](GregNoel)>     It seems to cache positive/negative results, but it doesn't capture command output, for example 
19:41:52  *      [GregNoel](GregNoel) now has a _naked_ rugrat crawling on his head.... 
19:41:55  <stevenknight> gah.  check this out from SConf.py: 
19:42:13  <stevenknight>         # Because we take responsibility here for writing out our 
19:42:13  <stevenknight>         # own .sconsign info (see SConfBuildTask.execute(), above), 
19:42:13  <stevenknight>         # we override the store_info() method with a null place-holder 
19:42:13  <stevenknight>         # so we really control how it gets written. 
19:42:13  <stevenknight>         # Because we take responsibility here for writing out our 
19:42:14  <stevenknight>         # own .sconsign info (see SConfBuildTask.execute(), above), 
19:42:16  <stevenknight>         # we override the store_info() method with a null place-holder 
19:42:18  <stevenknight>         # so we really control how it gets written. 
19:42:25  <stevenknight> oops, sorry for the dup, didn't realize it was already in my buffer 
19:42:38  <[GregNoel](GregNoel)>     happens to all of us 
19:42:53  <stevenknight> that module does a lot of "clever" stuff like that 
19:42:58  <garyo-home>   I knew there had to be some bad magic there. 
19:43:05  <stevenknight> kind of impressive, actually, but it makes things kinda fragile 
19:43:07  <[GregNoel](GregNoel)>     so something special is saved, but what, exactly? 
19:43:11  <garyo-home>   Cause it does work for me on a daily basis. 
19:43:49  <[GregNoel](GregNoel)>     The sconsign command doesn't slow it (which may not be a surprise) 
19:43:49  <stevenknight> Here's its custom build info class: 
19:43:51  <stevenknight> class SConfBuildInfo(SCons.Node.FS.[FileBuildInfo](FileBuildInfo)): 
19:43:51  <stevenknight>     """ 
19:43:51  <stevenknight>     Special build info for targets of configure tests. Additional members 
19:43:51  <stevenknight>     are result (did the builder succeed last time?) and string, which 
19:43:51  <stevenknight>     contains messages of the original build phase. 
19:43:52  <stevenknight>     """ 
19:43:56  <stevenknight>     result = None # -> 0/None -> no error, != 0 error 
19:43:58  <stevenknight>     string = None # the stdout / stderr output when building the target 
19:44:00  <stevenknight>     def set_build_result(self, result, string): 
19:44:02  <stevenknight>         self.result = result 
19:44:04  <stevenknight>         self.string = string 
19:44:50  <stevenknight> so there's a little magic at work 
19:44:59  <[GregNoel](GregNoel)>     Major magic 
19:45:06  <stevenknight> yeah, sconsign doesn't know anything about all this 
19:45:09  <stevenknight> it should 
19:45:19  <stevenknight> i sense a new issue being opened... 
19:45:27  <[GregNoel](GregNoel)>     you bet 
19:45:58  <garyo-home>   But that makes me wonder what this bug is about.  It should work as is. 
19:46:00  <stevenknight> working it 
19:47:28  <garyo-home>   I bet Configure isn't overriding the main signature method hard enough. 
19:48:09  <stevenknight> it dates back to 0.96.95, might have been fixed since then 
19:48:29  <stevenknight> sounds like this needs research 
19:48:48  <[GregNoel](GregNoel)>     OK, you? 
19:49:13  <stevenknight> ok 
19:49:23  <garyo-home>   I just tried it, it works for me on the trunk. 
19:49:23  <stevenknight> i can go with gary's classification:  1.x, p3, me 
19:49:33  <[GregNoel](GregNoel)>     done 
19:49:40  <stevenknight> or do we just call it WORKSFORME and let it get re-opened if necessary? 
19:50:03  <[GregNoel](GregNoel)>     hmmm.....  Yes, I like that better 
19:50:08  <[GregNoel](GregNoel)>     close issues if we can 
19:50:16  <garyo-home>   Well, it works for *me*, on Ubuntu, python2.5.  But if you guys trust me that much... :-) 
19:50:25  <stevenknight> oh, but we do! 
19:50:36  <[GregNoel](GregNoel)>     Gary, will you close it with that comment?  Tell him to reopen it if it's still a problem. 
19:50:46  <garyo-home>   OK. 
19:50:47  <stevenknight> done 
19:50:58  <stevenknight> 1580: 
19:51:16  <stevenknight> 1.x p3 rob 
19:51:16  <[GregNoel](GregNoel)>     rob 
19:51:25  <[GregNoel](GregNoel)>     works for me 
19:51:44  <stevenknight> 1597:  1.x p3 bill 
19:52:25  <[GregNoel](GregNoel)>     yes, works; thanks, Bill, for volunteering 
19:52:21  <stevenknight> 1604:  1.x p4 greg 
19:52:51  <[GregNoel](GregNoel)>     1604, yes, add it to my list 
19:53:47  <stevenknight> 1545:  1.x p2 greg? 
19:54:04  <[GregNoel](GregNoel)>     p2?  Hmmm, ok 
19:54:28  <garyo-home>   I'd recommend p3 but p2 is ok 
19:54:39  <stevenknight> i was going from the spreadsheet, i'm okay with p3 
19:55:00  <[GregNoel](GregNoel)>     It's not a hard job, but finding all the places will take some shaking out. 
19:55:05  <stevenknight> yes 
19:55:50  <[GregNoel](GregNoel)>     ok, I'm good with p2 
19:56:10  <[GregNoel](GregNoel)>     I think that ends this spreadsheet and I need to go 
19:56:19  <garyo-home>   Good work all! 
19:56:34  <stevenknight> very good, thanks 
19:56:35  <garyo-home>   Can you guys do next wk at the same time? 
19:56:37  <[GregNoel](GregNoel)>     see you guys next week?  What time? 
19:56:52  <stevenknight> good for me 
19:56:56  <[GregNoel](GregNoel)>     This time would be better for me (19h00) 
19:57:03  <stevenknight> okay, let's go with it 
19:57:14  <stevenknight> hmm, i was hoping David would make it too 
19:57:24  <stevenknight> oh, well, we made good progress 
19:57:26  <garyo-home>   This worked well for me. See you then!  Maybe David next week? 
19:57:31  <[GregNoel](GregNoel)>     yes 
19:57:42  <stevenknight> all right, next week, same bat time, same bat station 
19:57:50  <[GregNoel](GregNoel)>     OK, I've got the logs, so I'll update that tommorrow 
19:57:55  <garyo-home>   great.  Who's entering the data into tigris? 
19:58:05  <[GregNoel](GregNoel)>     You guys 
19:58:14  <garyo-home>   OK, I did it last time & it was easy. 
19:58:16  <stevenknight> you did it last week, i'll take it this week? 
19:58:24  <garyo-home>   OK, your turn then. 
19:58:32  <garyo-home>   thanks! 
19:58:41  *      [GregNoel](GregNoel) attacked by rugrats, gotta go! 
19:58:43  <stevenknight> 'night all 

Updated