-
-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
netatalk 4.0.8 (new formula) #202713
base: master
Are you sure you want to change the base?
netatalk 4.0.8 (new formula) #202713
Conversation
Thanks for contributing to Homebrew! 🎉 It looks like you're having trouble with a CI failure. See our contribution guide for help. You may be most interested in the section on dealing with CI failures. You can find the CI logs in the Checks tab of your pull request. |
4c5e0b4
to
8bb667f
Compare
8bb667f
to
1b6c851
Compare
The remaining CI failures are triggered by the As mentioned in the summary, complying with them and using the macOS supplied libraries will break the software. Can these CI failures be ignored? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR; a few comments.
5e94138
to
3565ce2
Compare
3565ce2
to
24662de
Compare
2b31ec1
to
dac9912
Compare
72a454a
to
5e76486
Compare
4ebf570
to
1195a6c
Compare
Head branch was pushed to by a user without write access
Head branch was pushed to by a user without write access
@carlocab Thanks for all your help! I'm pleased that we got it working in the end. FYI, I had to force-push the branch again because one of the macOS CI runners got flaky and posted a failure. Seems to have been an intermittent connection issue with the runner machine. Hopefully we get a green slate this time... Edit: All jobs passed this time! |
I figured out how to register the launchd / systemd services for netatalk. It basically works, if you invoke
|
There is a |
@SMillerDev Right on, that did the trick. Thanks! |
end | ||
|
||
service do | ||
name macos: "io.netatalk.daemon", linux: "netatalk" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do these service files look like? In particular, where do they send logs, and what working directory do they use?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- macOS: https://github.com/Netatalk/netatalk/blob/main/distrib/initscripts/macos.netatalk.plist.in
- logs to
/tmp/netatalk.out
and/tmp/netatalk.err
- logs to
- Linux: https://github.com/Netatalk/netatalk/blob/main/distrib/initscripts/systemd.netatalk.service.in
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably want to fix up some of those path references, since they'll likely be Cellar
paths that aren't suitable for long-lived services
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@carlocab So you're arguing that the two /tmp paths for the macOS logs should be rewritten to start with #{prefix}
, for instance /opt/homebrew/Cellar/netatalk/4.0.8/var/log
?
Or am I getting your comment backwards?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Linux, we log to journald by default, and not to a particular file.
The working directory is not controlled by the service files, but rather the build system. On aarch64 macOS, for instance, the working directory is /opt/homebrew/Cellar/netatalk/4.0.8/var/netatalk
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is the generated paths in the plist include the version number, e.g. /opt/homebrew/Cellar/netatalk/4.0.8/bin/netatalkd
. The version-agnostic path to use would be /opt/homebrew/opt/netatalk/bin/netatalkd
.
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
? (see caveat below)Please note that
brew audit --new netatalk
throws non-compliance as per the below. However, the native macOSberkeley-db
andopenldap
libraries are both unusable: The former lacks required symbols, and the latter (represented by LDAP.Framework) isn't fork safe while netatalk is a forking application.