Netatalk for macOS - networking classic and modern Macs

About QEMU, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

hello everyone!

many thanks to dave griffin and everybody else involved for all the hard work done so far. my main goal was to get this up and running on Apple silicon. after fiddling with it for a few hours, I finally succeeded (even though I don't know how to write code).

first, do NOT install gcc from homebrew (afpd and cnid_metad will run but it'll act funny). installing gnutls is mandatory! also, while trying to build the binaries, "./bootstrap" was unable to find the berkeley-db stuff. if installed on Apple silicon, homebrew packs everything into /opt/homebrew instead of /usr/local. so I just added the path to Netatalk3/macros/db3-check.m4 (bdb_search_dirs="/opt/homebrew /usr/local /usr")

to sum it up, this is what worked for me:

sudo xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homeb ... install.sh)"
brew install automake autoconf libtool libgcrypt berkeley-db docbook docbook-xsl libevent dbus-glib gnutls
git clone https://github.com/dgsga/Netatalk3.git
cd Netatalk3
edit ~/Netatalk3/macros/db3-check.m4 and add "/opt/homebrew" to bdb_search_dirs
./bootstrap
make
sudo make install


regards,
michael
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

I now have it running on Apple silicon and intel and I just discovered some very odd behavior: when attaching the AFP share, I can type any random character(s) into the password field and the share gets mounted. the username has to be correct though. this happens on both platforms (Apple silicon and intel). this isn't intentional, or is it?
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

mikeboss wrote: Sat Apr 17, 2021 11:47 am I now have it running on Apple silicon and intel and I just discovered some very odd behavior: when attaching the AFP share, I can type any random character(s) into the password field and the share gets mounted. the username has to be correct though. this happens on both platforms (Apple silicon and intel). this isn't intentional, or is it?
Yes, I had noticed the same on Intel, but had attributed it to the problem that my compiled cnid_metad daemon terminates right after launch (… which it is obviously not considering that you're experiencing the same and you're able to successfully mount a share with an obviously functional cnid_metad).
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

Le petit prince wrote: Sat Apr 17, 2021 10:30 amThank you very much, @dgsga, compiling with Xcode 10.3 is indeed a very good point! I'll try that ASAP and report back.
Unfortunately, compiling with Xcode 10.3 didn't make a difference - cnid_metad still terminates right after launch with

Code: Select all

cnid_metad[20653] {cnid_metad.c:435} (error:AFPDaemon): setlimits: Invalid argument
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Le petit prince wrote: Sat Apr 17, 2021 2:46 pm
mikeboss wrote: Sat Apr 17, 2021 11:47 am I now have it running on Apple silicon and intel and I just discovered some very odd behavior: when attaching the AFP share, I can type any random character(s) into the password field and the share gets mounted. the username has to be correct though. this happens on both platforms (Apple silicon and intel). this isn't intentional, or is it?
Yes, I had noticed the same on Intel, but had attributed it to the problem that my compiled cnid_metad daemon terminates right after launch (… which it is obviously not considering that you're experiencing the same and you're able to successfully mount a share with an obviously functional cnid_metad).
User authentication now fixed, thanks for the feedback @mikeboss. I have pushed and credited your Apple Silicon tweak to the repo. :) I'm amazed that it even compiles on Apple Silicon in the first place! I noticed that you used gnutls to provide ssl on your M2 mac, have you tried with openssl?

The Readme in the Netatalk repo will now contain an up-to-date quick how-to...
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

yay! that was quick, thank you! I can confirm: authentication is now fixed and works as expected (tested on intel and Apple silicon).

nice, the berkeley-db is now found on Apple silicon, too.

why wouldn't it work on Apple silicon? I fully expected this to work from the start. as long as there's no intel-only code in the source, almost anything should run... they both run the same operating system and Homebrew runs native on Apple silicon.

automake brings along autoconf
berkeley-db brings along openssl

it won't work if gnutls is missing.

I started from scratch and restored my Mac mini M1 via DFU mode (clean install of macOS Big Sur 11.2.3).
this is what worked for me:

Code: Select all

sudo xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install automake libtool libgcrypt berkeley-db docbook docbook-xsl libevent dbus-glib gnutls
git clone https://github.com/dgsga/Netatalk3.git
cd Netatalk3
./bootstrap
make
sudo make install
regards,
michael
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

@mikeboss, can you post how the compilation fails on AppleSilicon if you uninstall gnutls? I'm trying to understand why it's needed as openssl should be all that's needed on the SSL front.
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

it's of course possible that it's one of gnutls' dependencies that get installed with it:

gmp, bdw-gc, libunistring, pkg-config, guile, libidn2, libtasn1, nettle, p11-kit, c-ares, jemalloc, libev, nghttp2 and unbound

this is what happens if I try to run ./bootstrap without gnutls installed:

Code: Select all

Last login: Sun Apr 18 12:35:42 on ttys000
me@m1ni ~ % cd Netatalk3 
me@m1ni Netatalk3 % ./bootstrap
rm: autom4te.cache: No such file or directory
glibtoolize: putting auxiliary files in '.'.
glibtoolize: copying file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'macros'.
glibtoolize: copying file 'macros/libtool.m4'
glibtoolize: copying file 'macros/ltoptions.m4'
glibtoolize: copying file 'macros/ltsugar.m4'
glibtoolize: copying file 'macros/ltversion.m4'
glibtoolize: copying file 'macros/lt~obsolete.m4'
configure.ac:18: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:27: error: possibly undefined macro: AC_DEFINE
configure:14381: error: possibly undefined macro: AC_MSG_WARN
autoreconf: error: /opt/homebrew/Cellar/autoconf/2.71/bin/autoconf failed with exit status: 1
configure: error: cannot find required auxiliary files: compile missing install-sh config.guess config.sub
make: *** No rule to make target `clean'.  Stop.
me@m1ni Netatalk3 %
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

ok, found it: it seems it was pkg-config that's needed.

this works:

Code: Select all

sudo xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install automake libtool libgcrypt berkeley-db docbook docbook-xsl libevent dbus-glib pkg-config
git clone https://github.com/dgsga/Netatalk3.git
cd Netatalk3
./bootstrap
make
sudo make install
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Good job, thanks for clearing that one up. I don't think there's much more to be done now. I've removed unused CNID backends so Netatalk3 now only uses the default option that gives minimal risk of database corruption (according to the manual). All code in the repo now only serves a purpose for macOS rather than catering for all flavours of unix/linux. If I remove any more code it will cease to exist, but I'm happy to accept bug fixes/improvements if any more arrive.
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

I did some testing:

to check how fast a fileserver works, I usually copy iWeb.app over the network. the iWeb.app ist particularly useful because it consists of thousands of files and folders (~440MB ~39000 files ~21000 folders). all clients and servers are equipped with SSDs.

while copying one large multigigabyte file to a Netatalk3 share running on Big Sur, it reaches approximately 1.0 Gb/s transfer speed. so that's good. totally different story with thousands of small files...

Big Sur -> AFP -> Big Sur running on Mac mini M1 (Netatalk3) doesn't matter if share is on APFS or HFS+ 28m33s
Big Sur -> AFP -> Big Sur running on Mac mini 2014 2.8 GHz (Netatalk3) on APFS volume 35m30s
Big Sur -> AFP -> OpenMediaVault (netatalk) running on AMD GX-412TC SOC 1000 MHz (4 cores) 10m04s
Big Sur -> AFP -> OS X 10.11 El Capitan Server running on Mac mini Server (Mid 2011) 8m01s
Big Sur -> SMB -> OpenMediaVault (samba) running on AMD GX-412TC SOC 1000 MHz (4 cores) 18m49s
Big Sur -> NFS -> OpenMediaVault (nfsd) running on AMD GX-412TC SOC 1000 MHz (4 cores) 4m08s

all tests were causing only very light load on the CPUs

I did use more or less the same afp.conf for Netatalk3 running on Big Sur as I do for netatalk running on OpenMediaVault.

-
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

I’ve also done some more testing here.

First of all, I’ve applied cmeh’s pull request at https://github.com/dgsga/Netatalk3/pull ... 1bf77bc3b8 which he has submitted as workaround for the cnid_metad shutdown after launch.

Now my logfile looks like this:

Code: Select all

Apr 20 15:54:02.746804 cnid_metad[50462] {cnid_metad.c:435} (error:AFPDaemon): setlimits: Invalid argument
Apr 20 15:54:02.748421 cnid_metad[50462] {cnid_metad.c:508} (note:AFPDaemon): CNID Server listening on localhost:4700
Apr 20 15:54:02.873367 afpd[50458] {dsi_tcp.c:465} (error:DSI): No suitable network config for TCP socket
Apr 20 15:54:02.873587 afpd[50458] {afp_config.c:181} (error:Default): no suitable network address found, use "afp listen" or "afp interfaces"
Apr 20 15:54:02.873599 afpd[50458] {main.c:326} (error:AFPDaemon): main: no servers configured
So cnid-metad runs but afpd doesn’t. The old afpd entries in the logfile (before I used the workaround for cnid_metad) looked the same. So the two issues seem to be unrelated but I don’t know how to solve the afpd one.
Does anyone have an idea?

I also noticed asip-status.pl (in /usr/local/bin) throws an error:

Code: Select all

$ asip-status.pl
-bash: /usr/local/bin/asip-status.pl: @PERL@: bad interpreter: No such file or directory
I fixed this by changing the shebang line of contrib/shell_utils/asip-status.pl.in from “#!@PERL@” to “#!/usr/bin/perl” before compilation. Same goes for contrib/shell_utils/apple_dump.in and bin/cnid/cnid2_create.in.

But it turned out it’s not just those three, but “man netatalk” looks like this:

Code: Select all

[…]
OPTIONS
       -v | -V
           Print version information and exit.

       -F configfile
           Specifies the configuration file to use. (Defaults to
           @pkgconfdir@/afp.conf.)
           
SIGNALS
       SIGTERM
           Stop Netatalk service, AFP and CNID daemons

       SIGHUP
           Sending a SIGHUP will cause the AFP daemon reload its configuration
           file.

FILES
       @pkgconfdir@/afp.conf
           configuration file used by netatalk(8), afpd(8) and cnid_metad(8)

SEE ALSO
       afpd(8), cnid_metad(8), afp.conf(5).

3.1.13                            13 Jun 2016                      NETATALK(8)
Notice “@pkgconfdir@” under “OPTIONS” and “FILES”. So something went wrong during compilation, and I suppose more files are affected.
Also with this issue: Does anyone have an idea how to solve it?


EDIT:
By the way, for manually removing the netatalk package, after killing the related daemons, here’s a list of which files to delete (you might want to backup /usr/local/etc/afp.conf first, though) – best sort by creation date first:
  • /usr/local/bin:
    netatalk-config
    afpstats
    apple_dump
    asip-status.pl
    macusers
    dbd
    cnid2_create
    netatalk-init
  • /usr/local/etc/dbus-1:
    system.d
  • /usr/local/etc:
    afp.conf
    dbus-session.conf
    extmap.conf
    pam.d
  • /usr/local/include:
    atalk
  • /usr/local/lib:
    netatalk
    libatalk.a
    libatalk.la
    libatalk.dylib
    libatalk.18.dylib
  • /usr/local/sbin:
    cnid_metad
    cnid_dbd
    afpd
  • /usr/local/share/aclocal:
    netatalk.m4
  • /usr/local/share/man/man1:
    uniconv.1
    netatalk-config.1
    macusers.1
    dbd.1
    asip-status.pl.1
    apple_dump.1
    afpstats.1
    ad.1
  • /usr/local/share/man/man5:
    extmap.conf.5
    afp_voluuid.conf.5
    afp_signature.conf.5
    afp.conf.5
  • /usr/local/share/man/man8:
    netatalk.8
    cnid_metad.8
    cnid_dbd.8
    afpd.8
  • /usr/local/var:
    netatalk

EDIT 2:
Added “netatalk-init” to /usr/local/bin now that the makefile is adapted to put it there.
Last edited by mabam on Wed Apr 21, 2021 10:59 am, edited 1 time in total.
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

See next post...
Last edited by dgsga on Tue Apr 20, 2021 8:00 pm, edited 1 time in total.
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

Thanks for all the feedback. I have reinstated the perl check macro so those utilities will now work correctly. The @pkgconfig@ error in the man files is caused by the variable not actually being defined during the configuration process. I have a notion of how to fix it...

I’m reluctant to add the cnid_metad workaround to the repo as it is just that, a workaround and not a proper fix. We need to know why the setlimits function is working in Big Sur but not always in Mojave, commenting out the exit negates the function being there in the first place.
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

dgsga wrote: Tue Apr 20, 2021 7:59 pm Thanks for all the feedback. I have reinstated the perl check macro so those utilities will now work correctly. The @pkgconfig@ error in the man files is caused by the variable not actually being defined during the configuration process. I have a notion of how to fix it...
Yes, the utils work now, thank you!

I’m reluctant to add the cnid_metad workaround to the repo as it is just that, a workaround and not a proper fix. We need to know why the setlimits function is working in Big Sur but not always in Mojave, commenting out the exit negates the function being there in the first place.
I already guessed you wouldn’t accept the pull request with the workaround. But it’s good cmeh submitted it anyway so it caught my attention. Now I can apply it manually for the time being (if only I find a cure for those afpd errors …).
I’m running Catalina by the way, so it’s not only Mojave having trouble with the setlimits function.


I have a suggestion for you. Append these lines:

Code: Select all

#
# install init
#

install-exec-local:
	cp -p ./netatalk-init /usr/local/bin/

uninstall-local:
	rm -f /usr/local/bin/netatalk-init
to Makefile.am (in the root level of your repository). That way your netatalk-init script will be installed on the machine and not only reside in the clone of your git repository (where it could easily get deleted altogether if one decides to remove the clone directory after installation).
And on top of that it can be invoked by only typing its name as it’s in the PATH now.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

mabam wrote: Tue Apr 20, 2021 2:49 pm I’ve also done some more testing here.

First of all, I’ve applied cmeh’s pull request at https://github.com/dgsga/Netatalk3/pull ... 1bf77bc3b8 which he has submitted as workaround for the cnid_metad shutdown after launch.
I've applied that patch and can report it solves the problem with cnid_metad I've had before (see above). In other words Netatalk is now fully functional on my MBP with Mojave and I can connect with the chooser from inside a Mac OS 9.2.2 QEMU VM to the Netatalk server on the MBP.
Le petit prince
Tinkerer
Posts: 47
Joined: Wed May 12, 2004 9:03 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by Le petit prince »

mabam wrote: Tue Apr 20, 2021 2:49 pm Now my logfile looks like this:

Code: Select all

Apr 20 15:54:02.746804 cnid_metad[50462] {cnid_metad.c:435} (error:AFPDaemon): setlimits: Invalid argument
Apr 20 15:54:02.748421 cnid_metad[50462] {cnid_metad.c:508} (note:AFPDaemon): CNID Server listening on localhost:4700
Apr 20 15:54:02.873367 afpd[50458] {dsi_tcp.c:465} (error:DSI): No suitable network config for TCP socket
Apr 20 15:54:02.873587 afpd[50458] {afp_config.c:181} (error:Default): no suitable network address found, use "afp listen" or "afp interfaces"
Apr 20 15:54:02.873599 afpd[50458] {main.c:326} (error:AFPDaemon): main: no servers configured
So cnid-metad runs but afpd doesn’t. The old afpd entries in the logfile (before I used the workaround for cnid_metad) looked the same. So the two issues seem to be unrelated but I don’t know how to solve the afpd one.
Does anyone have an idea?
@mabam: Yes - try to explicitely add the "afp listen" value to /usr/local/etc/afp.conf under its [Global] section, e.g.
afp listen = 192.168.1.10
(replace my IPv4 example with your Mac's individual IP, of course). "Kill -9" any possibly running afpd/cnid_metad processes and execute a "sudo ./netatalk-init start".

Here's my /usr/local/etc/afp.conf for comparaison (my username anonymized by "$MyUserName", please replace that with your own if you copy and paste. You also need to configure the path to your individual shared folder, of course (path = …)):

Code: Select all

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
loglevel = default:maxdebug,afpdaemon:maxdebug,logger:maxdebug,uamsdaemon:maxdebug
log file = /var/log/afpd.log
afp listen = 192.168.1.10
; Limit client access to a QEMU VM's default IPv4 address. Remove or change if you use QEMU with another IP or if you're accessing the Netatalk server from a real Mac or a different machine.
hosts allow = 10.0.2.0/24
mac charset = MAC_ROMAN
; Value for Mac OS 7.5.5 - 9.2.2 clients that AFAIK do support only that.
uam list = uams_dhx.so

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume
[QEMU-Folder]
path = /Users/$MyUserName/QEMU-Folder/Classic
cnid scheme = dbd
valid users = $MyUserName

; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

I have a suggestion for you. Append these lines:

Code: Select all

#
# install init
#

install-exec-local:
	cp -p ./netatalk-init /usr/local/bin/

uninstall-local:
	rm -f /usr/local/bin/netatalk-init
to Makefile.am (in the root level of your repository). That way your netatalk-init script will be installed on the machine and not only reside in the clone of your git repository (where it could easily get deleted altogether if one decides to remove the clone directory after installation).
And on top of that it can be invoked by only typing its name as it’s in the PATH now.
Thanks @mabam, committed.
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

Le petit prince wrote: Wed Apr 21, 2021 8:25 am @mabam: Yes - try to explicitely add the "afp listen" value to /usr/local/etc/afp.conf under its [Global] section, e.g.
afp listen = 192.168.1.10
Thank you, that did the trick!

Here's my /usr/local/etc/afp.conf for comparaison (my username anonymized by "$MyUserName", please replace that with your own if you copy and paste. You also need to configure the path to your individual shared folder, of course (path = …)):

Code: Select all

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
loglevel = default:maxdebug,afpdaemon:maxdebug,logger:maxdebug,uamsdaemon:maxdebug
log file = /var/log/afpd.log
afp listen = 192.168.1.10
; Limit client access to a QEMU VM's default IPv4 address. Remove or change if you use QEMU with another IP or if you're accessing the Netatalk server from a real Mac or a different machine.
hosts allow = 10.0.2.0/24
mac charset = MAC_ROMAN
; Value for Mac OS 7.5.5 - 9.2.2 clients that AFAIK do support only that.
uam list = uams_dhx.so

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume
[QEMU-Folder]
path = /Users/$MyUserName/QEMU-Folder/Classic
cnid scheme = dbd
valid users = $MyUserName

; [My Time Machine Volume]
; path = /path/to/backup
; time machine = yes
Thanks for sharing this. It makes the fine tuning easy.
mikeboss
Space Cadet
Posts: 8
Joined: Sat Apr 17, 2021 7:54 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mikeboss »

mabam wrote: Wed Apr 21, 2021 10:51 am
Le petit prince wrote: Wed Apr 21, 2021 8:25 am @mabam: Yes - try to explicitely add the "afp listen" value to /usr/local/etc/afp.conf under its [Global] section, e.g.
afp listen = 192.168.1.10
Thank you, that did the trick!
I also had to enter the IP of the AFP server as long as I compiled with gcc from Homebrew installed.
that's why I wrote in an earlier post I recommend to NOT install gcc...

-
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

I’ve compiled with clang so that’s not the reason in my case.
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

I *think* I’ve fixed the man pages...
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

You did for @pkgconfdir@, thanks!

But after I came across another instance, I searched the files in /man:
(uncompiled –> compiled)

/man/man5/afp.conf.5.in
line 348: @libdir@ –> ${exec_prefix}/lib
line 625: @DBUS_DAEMON_PATH@ –> @DBUS_DAEMON_PATH@ (not sure whether this one is supposed to be substituted)
line 684: @localstatedir@ –> ${prefix}/var
line 743: @localstatedir@ –> ${prefix}/var
line 1456: @localstatedir@ –> ${prefix}/var

/man/man5/afp_signature.conf.5.in
line 34: @localstatedir@ –> ${prefix}/var

/man/man5/afp_voluuid.conf.5.in
line 34: @localstatedir@ –> ${prefix}/var

/man/man8/afpd.8.in
line 144: @localstatedir@ –> ${prefix}/var
line 149: @localstatedir@ –> ${prefix}/var

Some files in /doc/manpages/man* are also affected. Not sure whether you consider these important.


EDIT:
I have forked your repository and created a pull request for these manpage fixes (except for the @DBUS_DAEMON_PATH@ one).
It also contains a commit to implement the @prefix@ variable for (un)installing netatalk-init.

Also, have you considered cmeh’s second pull request (root check for netatalk-init)? I think it really makes sense. I just got confused as netatalk wouldn’t work and it took me a while to realise that when I invoked netatalk-init I forgot to use sudo.
dgsga
Inquisitive Elf
Posts: 39
Joined: Wed Feb 17, 2021 8:13 pm

Re: Netatalk for macOS - networking classic and modern Macs

Post by dgsga »

mabam wrote: Wed Apr 21, 2021 9:36 pm You did for @pkgconfdir@, thanks!

But after I came across another instance, I searched the files in /man:
(uncompiled –> compiled)

/man/man5/afp.conf.5.in
line 348: @libdir@ –> ${exec_prefix}/lib
line 625: @DBUS_DAEMON_PATH@ –> @DBUS_DAEMON_PATH@ (not sure whether this one is supposed to be substituted)
line 684: @localstatedir@ –> ${prefix}/var
line 743: @localstatedir@ –> ${prefix}/var
line 1456: @localstatedir@ –> ${prefix}/var

/man/man5/afp_signature.conf.5.in
line 34: @localstatedir@ –> ${prefix}/var

/man/man5/afp_voluuid.conf.5.in
line 34: @localstatedir@ –> ${prefix}/var

/man/man8/afpd.8.in
line 144: @localstatedir@ –> ${prefix}/var
line 149: @localstatedir@ –> ${prefix}/var

Some files in /doc/manpages/man* are also affected. Not sure whether you consider these important.


EDIT:
I have forked your repository and created a pull request for these manpage fixes (except for the @DBUS_DAEMON_PATH@ one).
It also contains a commit to implement the @prefix@ variable for (un)installing netatalk-init.

Also, have you considered cmeh’s second pull request (root check for netatalk-init)? I think it really makes sense. I just got confused as netatalk wouldn’t work and it took me a while to realise that when I invoked netatalk-init I forgot to use sudo.
Both pull requests committed, thanks all. Feels like this project has a life of its own now... I'm thinking about removing the doc/manpages folder if it doesn't affect compilation of the manual as I can't see the point in duplicate code. It's on my to do list, I'm currently working on trying to get dbus and afpstats fixed
User avatar
mabam
Master Emulator
Posts: 358
Joined: Wed Apr 10, 2013 9:32 am

Re: Netatalk for macOS - networking classic and modern Macs

Post by mabam »

dgsga wrote: Thu Apr 22, 2021 7:15 am […] I'm thinking about removing the doc/manpages folder if it doesn't affect compilation of the manual as I can't see the point in duplicate code.
I just tested and these files are required for compiling the html documentation as you suggested here:
dgsga wrote: Sat Apr 10, 2021 4:49 pm […]
If you want to install the documentation do 'make html' before 'sudo make install'

I guess I can fix these files so hold on.
Post Reply