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

Roadmap to rebuilding this mess? #64

Open
18 tasks
knghtbrd opened this issue Aug 21, 2022 · 2 comments
Open
18 tasks

Roadmap to rebuilding this mess? #64

knghtbrd opened this issue Aug 21, 2022 · 2 comments

Comments

@knghtbrd
Copy link
Member

knghtbrd commented Aug 21, 2022

TODO: Explain this crap… TL;DR: ✦'s for how hard it is

  • ✦✦✦✧✧ adtpro
  • ✦✦✦✧✧ netatalk2 (✦✦✧✧✧ for initial package)
  • ✦✧✧✧✧ appletalk-dkms
  • ✦✦✦✦✧ macipgw (✦✦✧✧✧ if I have a test subject)
  • ✦✦✧✧✧ applecommander (maybe ✦✧✧✧✧ after talking to @a2geek)
  • ✦✦✧✧✧ nulib2 (if a bug was fixed, ✦✧✧✧✧)
  • ✦✧✧✧✧ a2server-common
  • ✦✦✦✧✧ a2server-tools (potentially less. Depends on how much of a PITA some tools are and how important)
  • ✦✧✧✧✧ a2server-samba
  • ✦✦✧✧✧ a2server-appletalk (with a netatalk veteran, ✦✧✧✧✧)
  • ✦✦✧✧✧(?) a2server-udev-rules (unless they work as is!)
  • ✦✦✦✧✧ a2server-console-service (kmscon in sid may make this REAL easy!)
  • ✦✦✧✧✧ a2server-shell-tools
  • ✦✦✦✦✦ a2server-apple2gs-gsos-installer
  • ✦✧✧✧✧ a2server-apple2-prodos8-installer
  • ✦✧✧✧✧ a2server-apple2-*-installer (and friends…)
  • ✦✦✦✦✧ a2server-apple2gs-spectrum-installer (…friends save one glaringly complicated exception!)
  • ✦✧✧✧✧ a2server metapackage to install everything
@knghtbrd knghtbrd mentioned this issue Aug 21, 2022
@knghtbrd
Copy link
Member Author

Spectrum's a pain in the ass because not only does it get updates, but the URLs to the pieces and what they are keeps changing. It's not hard, you just have to accept that every so often you're going to get a bug report that the installer fails because something changed and the old version is no longer available, or the filename has changed, or the website's been reorganized, or the phase of the moon changed, or … 🤪 Might resolve this by downloading a copy of whatever the current version is and put them somewhere I control and point the installer at those. I can refresh what I have when I notice new versions of stuff and update the installer when I download new files.

Or maybe I just ship spectrum pre-installed in the package and people just unpack it? Hmm. I should be able to do that with the others too, as long as I don't plan on putting them into Debian or anything. That might solve many problems. I'll think about it.

@NJRoadfan
Copy link

I have been working on some of this one and off for the past 2.5 years.

My main tree based on Ivan's 1.5.x dev tree is here: https://github.com/NJRoadfan/a2server/tree/njroadfan-main-dev

The main branch is based on netatalk 2.2.6 + manually applied patches (all patches are now part of the main netatalk 2.x branch). Here is a brief change log:
Tools
-Fix AppleDouble header bug in cppo.
-Make sure everything uses Python 3 as Python 2 is deprecated in new distros.

a2server-2-tools:
-Always install nulib2 and unarchiver from package repos.

a2server-3-sharing.txt:
-Added compatibility for Debian Buster and Bullseye, also tested with latest Ubuntu releases.
-Install CUPS and enable papd for network printing. Mac users in particular are asking for this.
-Properly re-build AppleTalk kernel module with Linux 5.x kernels.

a2server-5-netboot
-Add option to install GS/OS System 6.0.4.
-GS/OS install now includes LaserWriter driver to print.
-Fix some dead links for downloaded utilities.
-Install Marinetti 3.0d11 and latest link layer revisions.
-Added installation of Webber and Networker2.
-Updated Spectrum to install the latest Platinum version.

In progress is a move to the @rdmark's netatalk-2.x branch from 2.2.6: https://github.com/NJRoadfan/a2server/tree/new-netatalk-test

With this move to the "new" netatalk, I am slowly switching things over to systemd and tossing compatibility with ancient Debian releases in the trash. Upgrade installs from old A2SERVERs will likely no longer be possible. The biggest improvement is macipgw now has a proper systemd service and the NAT is setup using nftables vs. the now obsolete iptables. I still have to fix things up like the samba setup script.

The biggest thing I'm having trouble with is that I don't have a RPi to test any of this with. I have been doing everything in VirtualBox at the moment. There is still ALOT of cleanup that needs to be done. Also I have not tested pulling files from an alternate URL or local hard drive at all.

As far as testing setups goes, I can confirm everything works on Bullseye and Ubuntu Server 22.04LTS and 22.10. By that, EVERYTHING works. You get file sharing (AFP on Apple II, classic Macs, and modern MacOS/ASIP), Apple II netbooting, printing (both GS/OS and classic MacOS), and MacIP internet access (both Marinetti and classic MacOS via MacTCP and OT). I have tested this with emulated machines and real hardware via both Ethernet and Localtalk using a Shiva Fastpath as a bridge.

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

No branches or pull requests

2 participants