Closed NJRoadfan closed 1 month ago
FreeBSD and OpenBSD sadly both did away with their appletalk kernel modules about a decade ago. I made a note of this in the AppleTalk README: https://github.com/Netatalk/netatalk/blob/main/doc/README.AppleTalk
On Solaris we used to depend on the kernel module that was distributed with the netatalk codebase. We removed it from 2.x a few months ago in https://github.com/Netatalk/netatalk/issues/781 because it was hopelessly bitrotted (and SPARC architecture only.)
I'm still holding out hope that we will see a userland appletalk stack in our lifetime. :)
Found a few more shortcomings and bugs while testing on Alpine (OpenRC) and Debian (sysv). Addressing all in the PR.
One interesting observation is that nbpunrgstr has a quirk in that when you attempt to unregister a non-existent nbp entry it returns the generic error. This is not ideal for shell scripting, e.g. the OpenRC init script. It becomes impossible to shut down atalkd if the nbpunrgstr steps fail. I added || true
to those lines as a workaround. But at the same time, I don't know if it's even appropriate or necessary to unregister those entries. What do you think?
They aren't needed. Once atalkd terminates, all NBP registrations vanish.
Fixed.
Netatalk 2.x tended to use monolithic init scripts to start up all the various services. One thing that guaranteed was that atalkd (if installed) was loaded before afpd, which allowed file sharing over AppleTalk to function. So far, only the systemd scripts have been updated to support this. The OpenRC scripts can likely support this by adding
use atalkd
in thedepend()
section of theopenrc.netatalk
script. The NetBSD scripts appear the same as Netatalk 2.x and likely need no changes. Do FreeBSD, OpenBSD, and Solaris still have working AppleTalk support?