[00:11:38] --- dev-zero@jabber.org has left [00:32:22] --- haba has left [00:42:35] --- dev-zero@jabber.org has become available [01:10:52] --- haba has become available [02:43:40] --- Russ has become available [04:05:09] --- Russ has left: Disconnected [05:24:05] Is alpha_dux* still a supported platform? [05:26:04] you're about to go nuts removing code for it aren't you [05:26:14] Just in the Makefile, as I'm there. [05:26:46] I had in the back of my mind that Russ had pulled a load of code for that platform out at Ken's Hackathon. Or am I misremembering? [05:30:07] i think he pulled out the longjmp crap for it in the kernel [05:30:56] Ah, so it's still clinging on. Okay. [05:34:02] --- Jeffrey Altman has left: Replaced by new connection [05:34:05] --- Jeffrey Altman has become available [05:38:23] Any more comments on http://www.dementia.org/twiki/bin/view/AFSLore/CodingStyle Anything that's missing that should be there? [05:39:04] just clearing the fog out of my head [05:39:57] for Windows, we prefer the Microsoft Safe String functions from strsafe.h. [05:41:28] We should probably have a separate "Windows cache manager" section. [05:41:30] Here is a nice description. I still intend (with microsoft's permission) to implement this library for Unix. https://buildsecurityin.us-cert.gov/daisy/bsi/articles/knowledge/coding/272-BSI.html [05:41:41] the actual format of a function [05:41:51] ? [05:41:54] its not just the CM. the whole src/WINNT [05:42:06] (static) return_type\nfunction(args)\n{\nfunction\n} [05:42:54] We've got that, I think, in the "Function" section? Or do you mean something else? [05:43:03] there are no newlines there [05:43:15] Yeh. Just noticed that. Twiki is not being my friend. [05:43:29] well, there's one. after static int [05:43:54] Yeh. That started off as a
, but Twiki ate all of the newlines in a pre with each edit.
[05:44:12]  So it became a , which seems a little more robust, but I must have missed adding those lines back in.
[05:44:47]  For the rest of the tree there are important items to note:
. include  for access(), open(), close(), read(), write(), rename(), unlink(), ....
. do not use close() for network sockets.  those are handles not CRT file descriptors
[05:48:57]   . windows sockets structs and functions come from .   use closesocket() on socket handles.
 . handles like pointers and size_t are 64-bit on 64-bit windows and 32-bit on 32-bit windows.   do not convert to 'int' which is 32-bit on both.

[05:50:41]   . unix permissions have no equivalent on Windows.  anything that must manipulate permissions cannot use the CRT functions.  Instead, native Win32 APIs must be used.  
[05:50:58]  I think pointer size is a general thing - not Windows specific.
[05:52:01]  I thought DUx support went away ages ago?  I know we can't build it on
ours, they're running 1.2.11, and a co-worker tried building newer.
[05:52:15]  not specifically Windows, but I would like some language that prefers for(;;) to   initialize; while() { ...; advance test; }
[05:52:15] --- haba has left
[05:52:15] --- haba has become available
[05:52:32]  i think 1.4 still nominally had it
[05:54:07]  I think finding a suitably specific language for that for/while thing is going to be hard. Because there are situations where using while is going to be much cleaner.
[05:54:14]  Those are not equivalent.
[05:55:55]  The third expression in a for is executed each time through, even if a
cycle was ended prematurely with continue.  And, it can't be a statement.
Initialization of several things is often cleaner as separate statements.
And a test (and, presumably, break) at the end of a while body doesn't
apply to the first time through the loop, which is often relevant when
such things are used.
[05:57:13]  We could be consistent about for(;;) vs while(1), but writing down rules
for the general case which actually prefer the cleaner approach even most
of the time is going to be hard.
[06:09:03] --- mdionne has become available
[06:11:29]  is there a way for a regular user to give out a verify -1 (fails) in gerrit?  I only see 0 and +1 as choices
[06:11:42]  I'll fix that. Hang on.
[06:11:47]  i'm not a regular user so i am un
[06:11:48]  ok
[06:13:18]  Should be it fixed. The reason why it was disabled is that a -1 code review blocks submission, regardless of how many +2s its got.
[06:13:40]  Ok thanks - seems to me a regular user should be able to indicate that it fails to build
[06:13:41]  But there's no harm in leaving it enabled and crossing the abuse bridge if we ever actually get to it.
[06:14:49]  238 fails to build here, but I couldn't mark it as such
[06:14:56]  You can now@
[06:15:09]  and done :)
[06:15:24]  I wonder why I don't see that failure here.
[06:16:41] --- stevenjenkins has left
[06:16:52] --- abo has left
[06:17:32] --- abo has become available
[06:17:42] --- stevenjenkins has become available
[06:19:13]  compiler version?
[06:19:45]  Could be. Your fix is obviously correct, though.
[06:20:26]  i don't think compiling setpag.c is conditional on any configure option
[06:21:23]  Nope. And there doesn't seem to be any #if's in the way either.
[06:21:52]  maybe ifs in the header files
[06:22:00]  I wonder if I didn't clean properly before testing. I doubt setpag.c has the correct header dependencies.
[06:22:49]  nope no ifs in the header files either
[06:25:12]  in my verify script I systematically do "make distclean" and re-run configure, to make sure everything's clean
[06:25:42]  Yup. Boom. Sorry. I'm a muppet
[06:26:01]  git-clean is very useful.
[06:26:09]  It removes every untracked file. 
[06:26:30]  am I the only one that is have trouble parsing Matt's latest e-mail to afs3-stds?
[06:27:07]  git clean -xd will remove all untracked items, and all ignored items (both files and directories)
[06:29:02]  the problem for me is that I keep some useful logs in the top directory.  but I should move those out and yes, git-clean is a good way to make sure you're clean
[06:30:53]  a +2 should override a -1, but i guess we can't do that. 
[06:31:14]  simon, i got the failure without make clean, btw
[06:31:27]  Yeh. I didn't. Don't know why.
[06:32:08]  In fact, no idea why, as afssyscalls.h is actually down as a dependency. Who knows.
[06:32:24]  New improved version of the patch is on its way ...
[06:32:53]  For review, a +2 does override a -1.
For verification, AFAIK there is no +2.
You don't want a review +2 to override a verify -1, because the latter
may come after (and in fact, I believe gerrit's default workflow has no
verification done until the change passes review)
[06:33:14]  Gerrit doesn't describe a workflow in that way.
[06:34:09]  In general, when we spoke to Shawn, the feeling seemed to be that you wanted to verify before review, so that you don't waste time reviewing code that doesn't build.
[06:34:21]  The diagram I saw strongly suggested verification didn't happen until
after review; that might be a function of when their automatic verifier
decides to pick things up.
[06:34:29]  hm
[06:34:44]  They don't have an auto-verifyer yet. They do it by hand, in the same way as we do.
[06:35:02]  how do you reconcile that with the desire not to have the automatic
verifier run arbitrary code provided as part of an untrusted change?
[06:35:02] --- abo has left
[06:35:15]  That's the key issue.
[06:35:53]  I think the idea is to have a group of people who are trusted to not write code that crashes the build farm, and you verify their changes immediately.
[06:35:56] --- abo has become available
[06:36:22]  Others then have to either be code reviewed before verification, or you add another explicit review state - something like "Code safe to test"
[06:36:30]  In fact, I think you could go a step further, and say that you also
verify anything that gets a +1 from any of those people.
[06:36:42] --- stevenjenkins has left
[06:36:53]  Yes. That would be the plan - code review from someone you trust enables auto-verification.
[06:37:07]  An additional review state would be helpful, since it means I can flag a
patch as safe-to-test without reading it as carefully as I would for a
real review.
[06:37:44]  We can add new review states relatively simply. What we can't do easily at the moment is define workflow state transitions for those states.
[06:38:11]  There are plans to embed a prolog interpreter into gerrit so you can describe your workflow to it, but they haven't happened yet.
[06:38:32]  And getting information out of gerrit about review state transitions is currently a bit of a pig.
[06:39:28] --- matt has become available
[06:40:23] --- stevenjenkins has become available
[06:40:44]  Hrm.  Well, gerrit doesn't really have to care about the transitions,
does it?  Any given auto-verifier needs to verify patchsets that it
hasn't seen before and that are marked safe-to-review.
[06:40:51]  safe-to-verify, that is
[06:41:17]  Yes, but how does it obtain that information, if not from gerrit?
[06:42:25]  Oh, gerrit has to represent the information, but I don't think it has to
_do_ anything on state transition.  We won't necessarily know about every
auto-verifier, so they have to be able to poll somehow.
[06:44:27]  When git storage happens this will become much easier.
[06:45:25]  hm?
[06:46:21]  gerrit currently uses postgres as its storage backend.
[06:46:42]  oh. so when you get to just git checkout its storage this gets easier
[06:46:46]  The long term plan is that it will stop doing that, and instead use metadata in the git repository itself to store all of the information.
[06:47:37]  Yeh, because all of the changes are there as commits on  branches. And then I just look up the metadata for a given commit to see if it's been marked safe or not.
[06:47:55]  And I can get informed via hook scripts when ever things fail.
[06:48:06]  s/fail/get changed/ 
[06:51:22]  Could somebody pull the compile_et fix up to 1.4, and I'll do another RPM release.
[06:51:37]  Or do we want to make OpenAFS 1.4.11.1 with those changes?
[06:52:30]  What fix are we talking about?
[06:52:51]  I'm not in favor of adding a fourth component to the version number.
If you want to do another 1.4 release, call it 1.4.12.
[06:53:40]  The idea was that we would have a way of doing rapid, single architecture sub-releases. That's what the 4th component is for. I think Derrick posted a proposal about this a while back.
[06:54:15]  I don't recall that.
We have done such things before, with letters.
[06:54:15]  The fix is that we install our own compile_et and compile_et.1 into the same prefix as we install ourselves. Which conflicts with systems that already have a compile_et.
[06:54:55]  You can't do letters on platforms which expect versions to be [0-9.]*
[06:54:56]  But if a change is pulled up to 1.4.x, and you build with that tip, then
you are building something that differs from 1.4.11 other than by the
change you're interested in, since at least one other fix has already
been committed on that branch
[06:55:16]  Yeh. I just want the pullup so I can reference it from the patch that I push into the RPM.
[06:55:18]  Which platforms are those?
[06:55:22]  Darwin.
[06:55:22]  Oh, I see.
[06:55:27] --- abo has left
[06:56:02] --- abo has become available
[06:56:10]  Apple really should get with the program.
It was inappropriate of them to tell developers what version numbers
ought to look like in 1984; it's downright stupid today.
[06:56:54] --- stevenjenkins has left
[07:00:25] --- stevenjenkins has become available
[07:20:08]  do you have a new make_release?
[07:20:12]  er, mix
[07:34:06] --- deason has become available
[07:36:14] --- Jeffrey Altman has left
[07:45:36] --- Jeffrey Altman has become available
[07:52:41] --- mdionne has left
[09:30:19] --- cg2v has become available
[09:34:32] --- cg2v has left
[10:12:19] --- dev-zero@jabber.org has left
[10:32:01] --- haba has left
[11:08:26] --- Jeffrey Altman has left
[11:48:18] --- Jeffrey Altman has become available
[12:13:04] --- Russ has become available
[13:03:42] --- haba has become available
[13:15:56] --- haba has left
[13:46:26] --- dev-zero@jabber.org has become available
[14:33:15] --- dev-zero@jabber.org has left
[14:40:21] --- deason has left
[15:00:50] --- haba has become available
[15:14:18] --- Russ has left: Disconnected
[15:42:27] --- kula has left
[15:44:50] --- gendalia@gmail.com/owlD3D5926A has left
[15:48:26] --- gendalia@gmail.com/owlD3D5926A has become available
[16:18:33] --- kula has become available
[17:25:04] --- Russ has become available
[17:38:36] --- matt has left
[17:42:13] --- deason has become available
[18:50:07] --- Russ has left: Disconnected
[19:42:56] --- asedeno has left
[19:43:40] --- asedeno has become available
[19:58:30] --- asedeno has left
[19:58:31] --- asedeno has become available
[20:49:18] --- deason has left
[21:39:39] --- Jeffrey Altman has left: Disconnected
[21:53:47] --- Jeffrey Altman has become available
[22:41:12] --- dev-zero@jabber.org has become available
[22:43:04] --- reuteras has become available
[23:04:54] --- dev-zero@jabber.org has left: Replaced by new connection
[23:04:55] --- dev-zero@jabber.org has become available