Skip to content
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

Refactor and clarify rotation logic #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jsoref
Copy link
Contributor

@jsoref jsoref commented Jan 18, 2017

This is an attempt to make the code easier to follow and reuse pieces

It isn't tested, and given it's a refactor, it wouldn't shock me if I messed up.

This is what I was thinking about in #53

Please don't merge w/o careful consideration (and please fix the commit message).

This is an attempt to make the code easier to follow and reuse pieces

It isn't tested, and given it's a refactor, it wouldn't shock me if I messed up.
@philpennock
Copy link
Contributor

There's another concern: Exim is run on platforms which do not have POSIX sh and when I've made changes to the build scripts, I've dealt with bug-reports because of sensible things which just didn't work on some ancient platform or another.

There's a strong difference between what a new project can expect of the target environments and what an existing deployed project can expect.

My fuzzy recollection is that some pre-POSIX variants of /bin/sh have trouble with the concept of a function. It's ... horrifying.

As such, I'm strongly inclined to leave working code alone. I took the rename because it clearly was confusing, since I'd made an erroneous statement about the name, so fixing the confusion was good. But for the rest ... we'll have to see if someone else wants to take on responsibility for merging it.

@jsoref
Copy link
Contributor Author

jsoref commented Jan 19, 2017

You're right. FWIW, here are two links for anyone wanting to consider this headache:

  1. Not all shells support functions
  2. Fairly portable set of function constructs

As it happens, I may have conincidentally written compliant code.
I've actually used bash, dash, ksh, zsh, csh, and some others, and having spent time on a number of platforms, I've run into many portability bits. So, my code is more likely to be portable than most.

That said, as your typical sleepy IT person, it's much more likely to have typos, so while I'm less concerned about portability, I'm not remotely confident I didn't mess up something in the refactor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants