Ivan writes pretty dense scripts in some ways, but not others. Mostly
he likes to collapse statements to a single line and using && and || in
place of if constructs. Reduces file size and theoretically speeds
execution, but it makes community development tougher and the speed
gains are questionable.
I've begun removing multiple successive writes to a single file such as
those using tee as a means to write files as root. Clean up enough of
those and you will have a noticable performance impact, although again
there's no evidence there are enough of them here to see one.
Removed a few dead/commented code blocks and restructured a couple of
conditionals to make the no-action condition the else case.
Finally, bumped the version. This isn't all that'll go into 1.5.1 but
it's a start.
One of the reasons I held off on doing this before is that there are a
lot of complex one-line seds in here that I expect _will_ be broken by
this. More than a few of these will assume, depend on, require, and
break if specific hardcoded whitespace is not found. That's problematic
anyway--when whitespace isn't syntactic, you shouldn't do that. So it's
time to fix these anyway.
Found some checks that assumed all Debian was wheezy, and also a bunch
of use of cut assuming that there will never be a Debian version higher
than 9.0. Let's just futureproof that code right now. This closes#56
and uses the method described therein anywhere -c 1 is used now. For
the checks against -c 1-2, we still use -d . -f 1 as described in the
issue, but modify the following conditionals to test for just the
numeric, without the decimal.
Closes#11 and #13. As mentioned in #11, support for Ubuntu should
return in the future, but not explicitly. Rather, the core of A2SERVER
itself ashould be made to run on any OS distribution for which our
requirements are met.
The goal is that any OS-specific details should be part of OS-specific
packaging or handled by the user (editing MOTD/issue files, etc.) We
can handle those details on Debian systems because we know how to do
that when packaging for Debian. Ubuntu, Fedora, etc. packages will have
to make their own tweaks. This commit doesn't do all of that, but it
does mean there's one fewer things we need to worry about during the
transition.
Reflowed the scripts (mostly) according to vim's autoindent engine.
Also added vim modelines so that people who are familiar with them can
configure their environment for A2SERVER's conventions. Also removed
trailing whitespace from lines and files while I was at it to make git
happier about various things.
An unusual quirk of git is that it tends not to like trailing whitespace
at the end of lines, and trailing blank lines at the end of a file. It
messes with the word diffs a bit I think. Anyway, it's easily removed,
so I've removed it.
This reflects Ivan Drucker's current A2SERVER scripts as of 2015-Oct-01,
version 1.24. These are unmodified and cannot be directly used yet. A
later patch will begin correcting that, but a baseline is important.