-
Notifications
You must be signed in to change notification settings - Fork 31
put all usernames into the same object #182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Sorry it took me this long to notice, but these aren't IDs in the usual Unix numeric sense (and the sense in which pre-notqmail qmail was terribly annoying). They're user and group names. So maybe (Sorry.) While I'm here, at a glance, most files that link (Double sorry.) |
|
The advantage of putting all these things in a .a would be that the resulting binaries will not grow. Adding uid.o and gid.o to that archive also is trivial then. |
|
The users/groups and the corresponding numeric lookup routines do mostly get linked together. The
would be about as good. And then the |
|
So it boils down to only have the first commit, and add uid.o and gid.o to the same archive, right? |
Yes, I’ve finally landed on a preference for the approach in your first commit plus including those symbols in the same archive. Before you do that, try merging |
|
It would introduce new symbols in qmail-rspawn and qmail-queue as they don't contain |
|
Ah, okay. Then yes, exactly as you had suggested, please :-) |
3c05a14 to
e1c1b6a
Compare
schmonz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just these nits left to pick
e1c1b6a to
aedd8be
Compare
schmonz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Retracting my remaining nitpicks about ordering. Having observed that replacing a list of .o leaves the new .a in between some remaining .o, you're moving the new .a near its siblings. I understand your intention now.
Separate commits would make this more apparent, but we've already workshopped this one more than enough! I agree that git diff --word-diff suffices to see what's happening here.
This PR is a terrific clarification of the make rules. It's so much easier to grok dependencies at a glance. qmail should have always looked up numeric IDs at runtime, and then it should always have been built this way.
josuah
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This adds 0 portability cost and much readability.
Split out from #153. The .a version has the advantage that the linker can drop the strings it doesn't need. The .o version has all usernames in all affected binaries, but has much simpler build rules.