-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
netatalk: update to 4.3.2 #29293
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
base: master
Are you sure you want to change the base?
netatalk: update to 4.3.2 #29293
Conversation
This does not work correctly (of course): there are no version for If the idea is to make sure users install v. 4 by default and not v. 2, what should be done instead is: a) make a new subport If not, then perhaps there is no need to combine ports at all, just update |
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.
In any case v. 4 requires C11 and legacysupport. After that, this builds fine, though I see no reason to kill v. 2, there were reasons to keep it instead of just updating directly.
Netatalk 4 has matured to the point that it now replaces Netatalk 2.x. Netatalk4 is building all the way back to El Capitan as is. https://ports.macports.org/port/netatalk4/details/ There is no reason to keep or make a new Netatalk2 port; the existing one has been abandoned for years. If I mark netatalk4 as obsolete to simplify things into a single port, I can do that. The subport approach I have configured here works just fine in my testing and the actions builds. |
You do not have to maintain a port if you have no interest, but it is wrong to break it for multiple supported systems, and as you point out, netatalk4 here is broken on Yosemite and below. |
Netatalk 4 has all the features and capabiliteis of netatalk 2 now. That's why it's time to have a single port that provides these capabilites. From what I can tell there is near zero usage of netatalk 2. We have both worked with the upstream maintainer to resolve backwards compatabiliity issues for netatalk already. That work can continue. |
If at least you fix compiler choice (set C11 standard) and add legacysupport, as I point above, that will unbreak the port for some systems that currently fail. I don’t get why this should be a point of argument when the source explicitly requires C11: |
@trodemaster Ok, so these require
And this is why the port is broken, |
Are these two symbols the only ones in the netatalk code that are incompatible with older macOS, or are there more of them? I think I could fairly easily refactor away |
I'll add legacycupport and see how that effects the build on my local test setup. @barracuda156 for "fix compiler choice (set C11 standard)" I would appreciate an example on how to do this correctly. |
510dea7
to
b117bf6
Compare
legacysupport 1.1 and c standard 2011 added |
@rdmark I am not sure how to easily check that. |
b117bf6
to
95855b9
Compare
821c9a6
to
27c2017
Compare
OK, I have refactored my approach to maintain Netatalk 2.x for systems older than 10.11, which is the current cutoff for Netatalk. If upstream changes allow building on older versions in future releases, we can adjust the cutoff appropriately. Take a look @barracuda156 I would greatly appreciate a review of this approach from a committer as well. It's my first attempt at creating a complex port like this. |
3a3cd30
to
7b6b4d5
Compare
7b6b4d5
to
b35950e
Compare
@trodemaster Sorry for a delay, the weekend was pretty busy. I will run the build from your updated PR today. |
use_xz yes | ||
revision 0 | ||
|
||
platforms {darwin >= 11} |
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.
There is no benefit in prohibiting to build a port which builds fine. Defaults can be set as you decide to (so that netatalk
pulls in either v.4 or v.2), but rather allow a user to install either of the ports explicitly, if desired.
Besides, my objection was about deleting v.2 (without knowing for sure that v.4 is a proper replacement for every system), not about making v.4 the default. Maybe just make netatalk
a stub for netatalk4
for all systems, but retain v.2 for the time-being (i.e. the subport which you have added here)? Otherwise it is a bit confusing: it will install with 4.3.2 version, even when it actually installs v.2.
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 know 100% for sure that netatalk 4 is a replacemnt for netatalk 2.x. The 2.x has been depricated and replaced with 4.x. Have you looked at netatalk.io as it has the details.
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.
If the upstream actually tested it on 10.5+, then sure, 2.x can be just retired. (My default assumption is that nothing is tested on older systems.)
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.
Your welcome to make bug reports on the upstream for those systems. Upstream has been fixing these kinds of things when reported.
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.
I don’t really get what is the argument about at this point. You wanted to make netatalk4 the default for all systems? I am fine with that (since the build should be fixed now). Since you asked me to review the changes, I commented on those. You could use my suggestions while making your choice on defaults (whether using v4 for all systems or for a subset of them). There are no objections to moving to v4 as the default. I can’t approve arbitrary platforms blacklisting, because it forces a user to edit portfiles manually to build a port, so there is a real downside with zero benefits. However, my approval is not something required to merge the PR anyway.
startupitem.restart "${prefix}/etc/netatalk/initscript restart" | ||
|
||
depends_build-append \ | ||
port:pkgconfig |
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.
Could it be made path-style, like above?
|
||
version 2.2.10 | ||
revision 0 | ||
platforms {darwin < 11} |
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.
Likewise, IMO it is not justified to prohibit building the port on systems where it builds. It can be discouraged (in favor of v.4), but that is already done via netatalk
stub. If needed, a port note can be added, advising to switch to v.4. But if someone needs to test something with v.2 on a newer macOS, why would we prevent that?
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 goal here is to replace the out of date software with the current release.
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.
I get that, but arbitrary restriction of platforms does not serve that purpose. If the stub pulls in v.4, the goal is already achieved: port install netatalk
will install netatalk4
.
Look @barracuda156, I'm holding off making any changes regarding maintaining old versions of netatalk until a committer has time to assist with this and provide feedback. People are busy with Tahoe changes and I can wait for that dust to settle. |
Netatalk Port Consolidation and Update
This PR consolidates the netatalk and netatalk4 ports into a single port with subports and updates to version 4.3.2 from the new upstream maintainer.
Description
Netatalk is a freely-available Open Source AFP fileserver that allows Unix-like operating systems to serve as file servers for Macintosh computers. This update consolidates the separate netatalk and netatalk4 ports into a single port with subports, providing a cleaner port structure while maintaining backward compatibility.
Key Changes
Testing Performed
Tested on
macOS 15.6.1 Xcode 16.4 / Command Line Tools 16.4.0.0.1.1747106510 (arm64)
Port Details
Maintainer
@trodemaster (openmaintainer)
Ticket References
This PR addresses multiple long-standing tickets: