Commit Graph

304 Commits

Author SHA1 Message Date
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
Ivan X cf075d07fd ProDOS 8 year tables are updated for 6.0.2+, otherwise user is prompted
rewording of some prompts and renumbering of one menu
netboot GS/OS is installed with original mixed case names
DOS3.3.FST and TEACH are installed during network boot setup
Spectrum is fully installed (not just disk images)
2015-12-07 23:52:00 -05:00
Ivan X a861da6bd3 fixes bugs in a2files-share and a2files-unshare commands
removes gsfiles-share and gsfiles-unshare commands
2015-12-07 23:51:04 -05:00
Ivan X 8325630c10 removed gsfiles-share and gsfiles-unshare commands 2015-12-07 23:50:38 -05:00
Ivan X b7aad394f6 defaults to mixed case instead of uppercase when specifying -v and a folder 2015-12-07 23:49:05 -05:00
Ivan X a1c0806d3f extracts to mixed case names; -uc argument specifies uppercase 2015-12-07 23:47:51 -05:00
Ivan X e9f54606ac revved version number 2015-12-07 23:47:03 -05:00
Ivan X 16f88ae2d7 revved version number 2015-12-07 23:45:44 -05:00
Ivan dc73dda7a2 reorganized for clarity 2015-12-07 23:06:54 -05:00
T. Joseph Carter bb9e458a98 README.md: GFM supports ~~~ blocks, implement! 2015-12-06 18:18:07 -08:00
T. Joseph Carter 147f0dceec a2server-6-samba.txt: More path independence 2015-11-23 16:20:57 -08:00
T. Joseph Carter 8cfa6cb66b Merge Ivan's 1.2.6; update versionhistory.txt 2015-11-23 00:18:27 -08:00
T. Joseph Carter bd3cf7ac72 a2server-2-tools: Use Debian's unar if available 2015-11-17 15:49:21 -08: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 69d041eff6 a2server-5-netboot.txt: Patch P8 to 6.0.3
This won't reinstall your boot blocks for you if they're not the latest
version.  If you'd like to test this (and please test this!), you'll
need to move your existing boot blocks out of the way so it can install
new ones.  Probably actually checking will happen when the Python stuff
is ready.
2015-11-16 02:07:18 -08:00
T. Joseph Carter 2b9b825850 install-gsos.py: no versioned patches, 6.0.3 P8
Originally I created the patch system in my messy Python-based monster
to allow you to patch the netboot files to the appropriate versions for
the appropriate GS/OS version, leaving 6.0.1 as pristine as possible.

But that doesn't make sense, does it?  We already fix the necessary bugs
in the AppleTalk client, and the only other patch made at this time is
the year table in ProDOS 8, and we should have that patch regardless of
what GS/OS version you install.  Of course at that point I'm one date on
the ProDOS 8 splash screen away from 6.0.3's version of P8, and I may as
well apply that to reduce the number of functionally identical files
with different SHA digests.

Long story short: Versioned patches for netboot files don't make sense,
so I removed that, and you now get 6.0.3's P8 (standalone as well as the
version embedded in "Apple //e Boot Blocks" and "ProDOS16 Image".
2015-11-16 01:38:31 -08:00
T. Joseph Carter c8d2deb205 install-gsos.py: Remove versioned patches 2015-11-15 14:18:22 -08:00
T. Joseph Carter 9de61e504a setup/index.txt: Add latest Wheezy fw hash
Closes #7.  There are other versions of the firmware that are between
the last/current version and the last one marked supported, and they
should all work fine.  Since theoretically all future versions of Jessie
will be supported once we get there, that should make things easier once
we get there.
2015-11-15 13:37:59 -08:00
T. Joseph Carter 7d60de0628 install-gsos.py: Document a useless patch
As I was preparing the patches for these boot files for 6.0.3, I
realized that p8 actually differs between GS/OS 6.0.1 and the netboot
files from Apple: The date on the splash screen is older.

This change is trivial and pedantic, but as people begin looking at
these files, how tu update them, and what to update them with, it's
worth at least noting the different version and its digest.  If someone
can make a compelling argument for the patch to be applied, we can
uncomment it.
2015-11-15 06:20:31 -08:00
T. Joseph Carter ccb5196deb install-gsos.py: More robust digest checking 2015-11-15 06:20:00 -08:00
T. Joseph Carter 66a3648ef2 install-gsos.py: Refactor patch application
This isn't done yet as the code doesn't currently do anything with
checking whether patches were correctly applied or not.  Also the
function is really ugly.  I need to start making python modules and
classes out of a few things here to clean this up further.
2015-11-15 05:46:24 -08:00
T. Joseph Carter 50e57aab7c install-gsos.py: Now patches a2boot files! 2015-11-14 15:53:02 -08:00
T. Joseph Carter 442d48c0be install-gsos.py: Refactor digest check 2015-11-14 14:39:53 -08:00
T. Joseph Carter 7e38c7fe37 install-gsos.py: Add some error checking 2015-11-14 13:36:40 -08:00
T. Joseph Carter 7ef2e4c445 install-gsos.py: Improve output on sea.bin extract 2015-11-14 11:55:30 -08:00
T. Joseph Carter b96fe0a3bb install-gsos.py: Improve download func output 2015-11-14 10:43:59 -08:00
T. Joseph Carter db1fea3000 install-gsos.py: Remove some dead code 2015-11-14 10:34:20 -08:00
T. Joseph Carter 4c80da8598 install-gsos.py: More refactoring
I'm not real pleased with the outcome here, but all of the functions
related to mounting the HFS image and getting the a2boot files out of it
has been factored out of the bootblock installation function.

I also rewrote the disk7 download code (which has been refactored) be a
lot more robust.  It's longer than it maybe needs to be, but it's going
the right direction.
2015-11-14 10:29:21 -08:00
T. Joseph Carter 8d94034d5e install_gsos.py: Fix typos, make Darwin work again 2015-11-14 08:10:13 -08:00
T. Joseph Carter bfa985068e install-gsos.py: refactor HFS image operations
Because the way we deal with the A2SETUP.img varies based on your OS,
there's a lot of platform-specific clutter.  Not only that, the boot
block installation function has started to get rather unwieldy.  So we
begin thinning it out a little.
2015-11-14 08:02:28 -08:00
T. Joseph Carter 1ae17e23b2 install_gsos.py: check if boot files are needed
The check is written and runs correctly, but its result is not currently
used for anything.
2015-11-14 05:03:57 -08:00
T. Joseph Carter 1c95cadacb Begin cleanup; string formats, verbosity
This is the start of a major cleanup of the code in install-gsos.py
(which really is turning into install-a2boot.py).  First, the code is
developing three levels of output: Silent, normal, and verbose.  There
might eventually be also a fourth debug level, but that's not happening
yet.

Second, variable names just haphazardly chosen as I've been working on
this are being sanitized, made consistent, and otherwise improved.

Third (and this has only just begun), the code is being refactored a
bit for what belongs where.  That will continue.
2015-11-14 03:50:29 -08:00
T. Joseph Carter 2c9a1ed072 Installing netatalk-format NAMES now works 2015-11-14 00:17:31 -08:00
T. Joseph Carter 3709d7c0ab ft=python (oops) 2015-11-14 00:10:49 -08:00
T. Joseph Carter dda119a948 Added 6.0.1 patches; whitespace changes; vim hint 2015-11-13 06:23:02 -08:00
T. Joseph Carter 12816d90cd Clean up 2.x/3.x compatibility, comments 2015-11-13 05:40:31 -08:00
T. Joseph Carter 1934abe7db Get the .sea name right out of the MacBinary file 2015-11-13 05:33:23 -08:00
T. Joseph Carter 8ccf7ea70a Do the output suppression on subprocesses right 2015-11-13 02:02:29 -08:00
T. Joseph Carter dff8c58675 Cleanups to allow non sea.bin disk image in future 2015-11-12 09:55:21 -08:00
T. Joseph Carter 2c5244ba98 Implement multiple sources for disk7 2015-11-11 15:34:38 -08:00
T. Joseph Carter b0c766971d Missed backup for disk7, Spectrum extraction 2015-11-09 20:29:08 -08:00
T. Joseph Carter f2244354c2 Merge Ivan's 1.2.5, bump version to 1.3.0
This should give Ivan some breathing room while we work on trying to get
things ready for Jessie.
2015-11-09 06:40:44 -08:00
T. Joseph Carter 1836b18c34 Support finally for Linux! 2015-11-09 04:56:20 -08:00
T. Joseph Carter 819e19f6d3 .endsWith -> .endswith 2015-11-09 04:54:05 -08:00
T. Joseph Carter 4587df5bf9 hfsutils works if installed (no check for that) 2015-11-09 03:58:56 -08:00
T. Joseph Carter cc89978e52 Now installs on Darwin systems! 2015-11-09 03:14:35 -08:00
T. Joseph Carter d9c4af34e0 Different tack: Just install boot blocks
This isn't done, but it reflects largely starting over.  The goal right
now is to install the boot blocks.  To do this we need to:

* Find out if we need to install anything
* Download the disk image archive
* Extract the disk image from the archive
* Mount the image
* Copy the files out of the image
* Unmount the image
* Patch the files if they need patching
* Verify the files are patched correctly

The branching possibilities for installing the disk images are:

1. That the image is currently always a .sea.bin file.  In future, it
   might not be!  After all, the other six disk images are available
   multiple places and they're not stored as self-extracting images in
   MacBinary format.

2. That there are three different ways I know of to extract the HFS disk
   image:  Mount it as a loop filesystem (Linux), attach it as a disk
   image file (OS X), or extract its contents using hfsutils which
   should be able to run just about anywhere.  Of course hfsutils has an
   additional branch in that hfsutils "sanitizes" the files you copy out
   of it for you in ways we don't want, so we need to know the file
   names it uses so we can change them back to OS X expectations.

3. How are we installing these files?  If we're installing them for
   netatalk, we need to rename a file.  If just to a UNIX path, that's
   something different.  If there was some reason to package them in
   ProDOS format, again, we need to do something different.

At this time, since I'm developing this on a Mac, I'm assuming .sea.bin
with an 800k image, I'm implementing hdiutil to mount the image, and
I'll implement the UNIX naming first (so as Mac/Linux mount the files.)

Next I'll implement renaming for netatalk and hfsutils.  I'll check it
out on the pi and implement the Linux filesystem mounting probably last,
then clean it up to behave more like Python is supposed to if I can
before I start on the GS/OS install itself.

I need a better MacBinary unpacker than unar gives me.  The way that
works right now is just clumsy.
2015-11-08 20:48:13 -08:00
T. Joseph Carter 1796676df1 os.environ.has_key(key) -> key in os.environ 2015-11-08 17:57:29 -08:00
T. Joseph Carter 876991f11f A little more progress on installing boot blocks 2015-11-08 15:39:20 -08:00
T. Joseph Carter 73fa5d5909 Add some pseudocode that is helping me understand
Think I see some of what I need to do next.
2015-11-07 22:31:43 -08:00