Commit Graph

39 Commits

Author SHA1 Message Date
T. Joseph Carter
6229dba43f Fix stupid logic error bug
We need a more robust way to detect whether netatalk is installed or
needs to be installed, the current check by a2server version isn't very
reliable anyway, assuming that netatalk will always be hand-compiled and
never upgraded.  But for now at least, let's fix my idiot mistake.
2018-09-01 16:03:42 -07:00
T. Joseph Carter
45c00cb920 Merge branch 'ivanx-1.5.x'
Ivan added support to build everything on Debian/Raspbian stretch, added
some alternate URLs, and updated the "just how the hell do you install
Marinetti right now exactly?" dance.

This was more frustrating to merge than it honestly should've been and
I'm kinda responsible for some of that, but it's never gonna get easier
to maintain unless we break from the single-developer monolithic blocks.

Hopefully this will be the last time we do things this way.
2018-04-09 18:51:26 -07:00
Ivan X
5e0feab69c support for Debian and Raspbian Stretch
suppress null byte read warnings in Bash 4.4
enable SSH server on Raspberry Pi if disabled
Internet Archive backup URL's for external downloads, where possible
compiles AppleTalk kernel if -c flag is specified, rather than downloading
better cleanup after AppleTalk kernel compile
notification if AppleTalk kernel module doesn't load
fixed download links for communication software
fixed bugs possibly preventing compile of macipgw and ciopfs
fixed minor bugs during initial setup prompts
os option (Raspbian update) removed from a2server-setup
2017-11-26 16:37:44 -05:00
T. Joseph Carter
3cd48ab4b3 scripts/a2server-*.txt: Use new URLs 2016-12-07 07:09:37 -08:00
T. Joseph Carter
080242d969 Add replacement for binaryURL/scriptURL 2016-12-07 04:16:22 -08:00
T. Joseph Carter
af9ebdc4da Quote URLs passed to wget 2016-12-07 04:08:39 -08:00
T. Joseph Carter
e131b8de40 Make scripts run completely out of git repo 2016-10-27 13:31:00 -07:00
T. Joseph Carter
85d30152f2 Add version compare function to setup/index.txt
Okay Ivan, you can "I told you so" now.  I didn't see any major gotchas
to changing the version and was SURE there'd be no reason to write the
convoluted comparison function until after everything was nicely redone
and restructured and whatnot.  Fortunately I only need it in the main
script for now, and will hopefully very soon be able to just load it
from a common function file and use it where needed.

I still don't regret doing it, but all the work I had to do in order to
make sure I didn't screw it up (or rather that I fixed it after screwing
it up) are totally on me.
2016-10-27 10:57:41 -07:00
T. Joseph Carter
ae89fef8b4 Improve Debian version detection 2016-10-27 08:17:31 -07:00
T. Joseph Carter
ee4078ab23 Make version semantic (Closes #49)
What's still missing from this is a version comparison mechanism.  The
reason why it is missing is that we only use this in one place at the
moment, and if you have a version string that is not three digits, your
version is recent enough.  This means we can save this for when there
are a common functions script to import and make the comparisons for us
without code duplication.
2016-10-27 02:13:58 -07:00
T. Joseph Carter
530b8d57f5 Clean the main scripts a bit
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.
2016-10-27 00:55:16 -07:00
T. Joseph Carter
202d5e6321 Mark FIXMEs, replace ugly multi-line echo 2016-10-26 20:11:49 -07:00
T. Joseph Carter
8897610d95 Scripts: re-indent (tab indentation)
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.
2016-10-25 12:12:11 -07:00
T. Joseph Carter
27d40503be *: Fixed trailing whitespace 2016-07-29 10:39:49 -07:00
Ivan X
7b7917d417 changed rawgit.com to raw.githubusercontent.com to resolve https issues 2016-05-28 10:11:26 -04:00
T. Joseph Carter
cd20570999 *.txt: Fix Debian wheezy/jessie version checks
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.
2016-01-30 03:25:27 -08:00
Ivan X
9dfbe0e9f3 removed "Attempting" status language because it bugged me 2016-01-17 13:09:38 -05:00
Ivan X
60f88e4e8a use rawgit.com for default A2SERVER_SCRIPT_URL 2016-01-16 23:47:03 -05:00
Ivan X
13343a5c2a doesn't add eth0 to atalk.conf if something already there
improve content and formatting of /etc/init.d/netatalk status messages
2016-01-16 20:58:10 -05:00
Ivan X
631ad8a2e2 fixed bug preventing proper afpsync following mixed-case volume conversion 2016-01-10 18:42:09 -05:00
Ivan X
02442b16e5 change 'command -v' to 'hash'; make sure libdb5.1 installs on Wheezy
(Raspbian Wheezy has both libdb5.1 and libdb5.3, so now tries 5.1 first.)
2016-01-03 17:39:09 -05:00
Ivan X
00adf2673d updates Nulib2 to 3.1.0a1; -c forces compile (no binaries); URL fixes 2016-01-03 16:06:40 -05:00
Ivan X
01d3ce1775 libdb5.3+libgcrypt20 on Jessie rather than installing older Wheezy libs
removed libdb4.8 support
fixed source URL's to use external/source when locally hosting externals
2015-12-25 12:37:56 +09:00
Ivan X
14f5ef66be alternate URL for precompiled binaries with A2SERVER_BINARY_URL
self-hosted external dependency fallback; or default via A2SERVER_NO_EXTERNAL=1
a2serverrc sets default A2SERVER_SCRIPT_URL and A2SERVER_BINARY_URL
64-bit Debian precompiled binary support
support for reorganized files subdirectory
better information re unsupported OS at start of install
info about netboot at end of install
no longer deletes ~/GNUstep
install libdb5.1 and libssl1.0.0 by default instead of older versions
small tweaks and fixes regarding Debian detection, case insensitive fs, etc
updated source code path for The Unarchiver
this is internal version 1.2.8; see "release" notes about external dependencies
2015-12-24 13:02:17 +09:00
T. Joseph Carter
04ad897c97 Merge branch 'master' of https://github.com/RasppleII/a2server
Minor/trivial conflict in a2server-2-tools.txt
2015-12-21 16:28:18 -08:00
T. Joseph Carter
06bc59ece7 scripts/*.txt: Collapse multiple apt-gets in a row
As Debian has gone from large to huge, actions operating on the package
database have gotten slower and slower, so it's best to do them as few
times as possible.

Here we've got the trivial optimization.  A more complete optimization
requires a refactoring of code, and we're kind of in a 1.3.0 "freeze",
so let's not do that here and now.
2015-12-21 16:17:13 -08:00
Ivan X
c2bb79860a on Debian, provides AppleTalk without IPDDP to enable MacIPgw 2015-12-20 00:40:28 -05:00
Ivan X
024f579850 macipgw installed; a2serverc created
(macipgw tested on Wheezy and Jessie; works on Raspbian only, not Debian x86)
2015-12-18 00:57:21 -05:00
Ivan X
435857e3bb move /media/A2SHARED to /srv/A2SERVER 2015-12-09 20:39:09 -05:00
Ivan X
696a8750b1 installs wheezy packages (libdb5.1 and libgcrypt11) needed by Netatalk if on Jessie
no longer sets console login to 4800 bps, and removes commented-out console login code
no longer sets up GSFILES share, and removes it if it's empty
installs ciopfs (case insensitive file system)
converts existing A2FILES to ciopfs volume, disabling casefold:toupper
changes installed netboot GS/OS filenames to mixed case
fixes bug so user not named "pi" can use randnum authentication
removes obsolete commented code for older AppleTalk kernel install
2015-12-07 23:55:02 -05:00
T. Joseph Carter
7cf972cc7d Remove deprecated Ubuntu; updated changelog
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.
2015-11-17 05:36:22 -08:00
T. Joseph Carter
dda5694dca More overzealous ${scriptURL} fixing 2015-10-12 12:30:17 -07:00
T. Joseph Carter
f95c1fcc08 Merge branch 'master' of https://github.com/rasppleii/a2server 2015-10-09 05:52:17 -07:00
T. Joseph Carter
13ad54c876 Reflowed shell scripts—breaks outstanding PRs
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.
2015-10-09 05:29:32 -07:00
T. Joseph Carter
9601ed3e14 Remove trailing whitespace
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.
2015-10-05 23:52:43 -07:00
T. Joseph Carter
ff2da76e84 Get Ivan's precompiled binaries from his server
Ivan's precompiled binaries of nulib2, The Unarchiver, and netatalk for
Debian and Raspbian aren't going to be part of this repository, so I've
reverted to hardcoding Ivan's server as the source of those things.

We could perhaps download and compile nulib2 and The Unarchiver, and
we'd have to if the script doesn't recognize Debian/Raspbian.  Ideally
for those systems we'd download .deb packages with full and proper
dependency tracking, but we'd still need source for use on non-Debian
systems, should we ever develop support for those.  (OS X is a good
candidate for such a system?)
2015-10-04 02:04:52 -07:00
T. Joseph Carter
982836dc7c A2SERVER_SCRIPT_URL variable added
Added shell variable A2SERVER_SCRIPT_URL which allows you to replace
Ivan's server with another URL for development.  If unset, scripts will
default to "http://appleii.ivanx.com/a2server/" as usual.

This will not allow you to use these scripts for development directly,
and in fact may have been over-zealous in removing hardcoded ivanx
links.  Also, Ivan's webserver has a slightly different layout than this
repository because I haven't tried to make this an apache directory
structure full of mixed HTML, scripts, .htaccess files, etc.
2015-10-04 01:23:53 -07:00
T. Joseph Carter
8882392383 Make scripts executable, add shebang lines 2015-10-04 00:12:32 -07:00
T. Joseph Carter
ae14808b80 Import Ivan's A2SERVER scripts
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.
2015-10-03 05:25:44 -07:00