diff --git a/net/netatalk4/Makefile b/net/netatalk4/Makefile index d854abeb4be9..4bd9c0a242ec 100644 --- a/net/netatalk4/Makefile +++ b/net/netatalk4/Makefile @@ -1,110 +1,105 @@ PORTNAME= netatalk -PORTVERSION= 4.4.3 +PORTVERSION= 4.5.0 CATEGORIES= net MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/netatalk-${PORTVERSION:S/./-/g}/ PKGNAMESUFFIX= 4 MAINTAINER= marcus@FreeBSD.org COMMENT= File server for Mac OS X WWW= https://netatalk.io/ LICENSE= GPLv2 BUILD_DEPENDS= cmark:textproc/cmark LIB_DEPENDS= libgcrypt.so:security/libgcrypt \ libevent.so:devel/libevent \ libiniparser.so:devel/iniparser \ libbstring.so:devel/bstring USES= bdb:18 cpe gettext iconv:wchar_t meson perl5 pkgconfig shebangfix ssl tar:xz USE_GNOME= libxslt:build USE_LDCONFIG= yes USE_RC_SUBR= netatalk #INSTALL_TARGET=install-strip MESON_ARGS= -Dwith-libgcrypt-path=${LOCALBASE} \ -Dwith-bdb-path=${LOCALBASE} \ -Dwith-libiconv-path=${LOCALBASE} \ -Dwith-dtrace=false \ -Dwith-init-hooks=false \ -Dpkg_config_path=${LOCALBASE}/libdata/pkgconfig \ -Dwith-webmin=false \ -Dwith-cups=false \ -Dwith-testsuite=false \ -Dwith-appletalk=false \ -Ddefault_library=both \ --infodir=${PREFIX}/share/info OPTIONS_DEFINE=PAM KERBEROS5 LDAP SENDFILE KERBEROS DBUS MYSQL ACL LIBWRAP SPOTLIGHT OPTIONS_DEFAULT=AVAHI DBUS KERBEROS LIBWRAP SENDFILE OPTIONS_RADIO=ZEROCONF OPTIONS_RADIO_ZEROCONF=AVAHI MDNSRESPONDER ZEROCONF_DESC= Zeroconf(Bonjour) support MYSQL_DESC= Enable MySQL CNID backend support SENDFILE_DESC= Enable Sendfile support ACL_DESC= Enable ACL support SPOTLIGHT_DESC= Enable Spotlight search support OPTIONS_SUB= yes KERBEROS5_MESON_ON= -Dwith-krbV-uam=true \ -Dwith-kerberos=true KERBEROS5_MESON_OFF= -Dwith-krbV-uam=false \ -Dwith-kerberos=false KERBEROS_LIB_DEPENDS=libgpg-error.so:security/libgpg-error PAM_MESON_ON= -Dwith-pam-path=${LOCALBASE} PAM_MESON_OFF= -Dwith-pam=false AVAHI_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_SUB_LIST= ZEROCONF="avahi_daemon" MDNSRESPONDER_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_SUB_LIST= ZEROCONF="mdnsd" LDAP_MESON_ON= -Dwith-ldap-path=${LOCALBASE} LDAP_MESON_OFF= -Dwith-ldap=false LDAP_CFLAGS= -I${LOCALBASE}/include -L${LOCALBASE}/lib LDAP_USES= ldap SENDFILE_MESON_OFF=-Dwith-sendfile=false DBUS_USES= gnome python DBUS_USE= GNOME+=glib20 DBUS_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \ libdbus-1.so:devel/dbus DBUS_RUN_DEPENDS= ${PYTHON_SITELIBDIR}/dbus/_dbus.py:devel/py-dbus@${PY_FLAVOR} -DBUS_MESON_ON= -Dwith-dbus-daemon-path=${LOCALBASE}/bin/dbus-daemon \ - -Dwith-dbus-sysconf-path=${LOCALBASE}/etc/dbus-1/system.d +DBUS_MESON_ON= -Dwith-dbus-daemon-path=${LOCALBASE}/bin/dbus-daemon DBUS_MESON_OFF= -Dwith-afpstats=false MYSQL_USES= mysql -MYSQL_MESON_ON=-Dwith-cnid-default-backend=mysql -MYSQL_MESON_OFF=-Dwith-cnid-default-backend=dbd +MYSQL_MESON_ON=-Dwith-cnid-backends=mysql +MYSQL_MESON_OFF=-Dwith-cnid-backends=dbd ACL_LIB_DEPENDS= libsunacl.so:sysutils/libsunacl ACL_MESON_OFF=-Dwith-acls=false LIBWRAP_MESON_OFF=-Dwith-tcp-wrappers=false SPOTLIGHT_LIB_DEPENDS= libtinysparql-3.0.so:devel/tinysparql SPOTLIGHT_MESON_OFF= -Dwith-spotlight=false SHEBANG_GLOB= afpstats CONFLICTS= netatalk3 .include .if ${PORT_OPTIONS:MAVAHI}=="" && ${PORT_OPTIONS:MMDNSRESPONDER}=="" SUB_LIST+= ZEROCONF="" MESON_ARGS+=-Dwith-zeroconf=false .endif post-patch: @${REINPLACE_CMD} -e 's|%%DB_NAME%%|${BDB_INCLUDE_DIR:T}|' \ ${WRKSRC}/meson.build # @${REINPLACE_CMD} -e 's|\.dist|\.sample|g' \ # ${WRKSRC}/config/Makefile.in # @${REINPLACE_CMD} -e 's|%%PYTHONCMD%%|${PYTHONCMD}|' \ # ${WRKSRC}/contrib/shell_utils/afpstats -post-install: - ${INSTALL_SCRIPT} ${BUILD_WRKSRC}/contrib/bin_utils/macusers \ - ${STAGEDIR}${PREFIX}/bin/macusers - .if ${PORT_OPTIONS:MPAM} ${INSTALL_DATA} ${FILESDIR}/pam.conf ${STAGEDIR}${PREFIX}/etc/pam.d/netatalk.sample .endif .include diff --git a/net/netatalk4/distinfo b/net/netatalk4/distinfo index f0fd16175371..c5a4f71806cf 100644 --- a/net/netatalk4/distinfo +++ b/net/netatalk4/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1779218603 -SHA256 (netatalk-4.4.3.tar.xz) = 863d640ecc99f4923ead6c58e8d3406ab3a1ca9dd3b0d47ccdf6fdebb6efe3ab -SIZE (netatalk-4.4.3.tar.xz) = 1129884 +TIMESTAMP = 1781449330 +SHA256 (netatalk-4.5.0.tar.xz) = 62d77f5a491e69086c1706ff7d9e016912e0e48b43d0c3a7ae60c384b6d625b3 +SIZE (netatalk-4.5.0.tar.xz) = 1303408 diff --git a/net/netatalk4/files/patch-config_meson.build b/net/netatalk4/files/patch-config_meson.build index 9c7edeb21c48..7476947d04ea 100644 --- a/net/netatalk4/files/patch-config_meson.build +++ b/net/netatalk4/files/patch-config_meson.build @@ -1,84 +1,72 @@ ---- config/meson.build.orig 2025-08-05 13:56:32 UTC +--- config/meson.build.orig 2026-05-30 12:42:34 UTC +++ config/meson.build -@@ -4,76 +4,23 @@ afp_conf = configure_file( +@@ -4,65 +4,21 @@ afp_conf = configure_file( configuration: cdata, ) -if (fs.exists(pkgconfdir / 'afp.conf') and not get_option('with-overwrite')) - message('will not replace existing', pkgconfdir / 'afp.conf') -else -- install_data(afp_conf, install_dir: pkgconfdir) +- install_data(afp_conf, install_dir: pkgconfdir, install_tag: 'config') -endif +install_data(afp_conf, rename: 'afp.conf.sample', install_dir: pkgconfdir) - if have_spotlight + if have_spotlight and use_spotlight_localsearch + subdir('dconf') + dbus_session_conf = configure_file( input: 'dbus-session.conf.in', - output: 'dbus-session.conf', + output: 'dbus-session.conf.netatalk', configuration: cdata, ) - if ( - fs.exists(pkgconfdir / 'dbus-session.conf') - and not get_option('with-overwrite') - ) - message('will not replace existing', pkgconfdir / 'dbus-session.conf') - else -- install_data(dbus_session_conf, install_dir: pkgconfdir) +- install_data(dbus_session_conf, install_dir: pkgconfdir, install_tag: 'config') - endif + install_data(dbus_session_conf, install_dir: pkgconfdir) endif - if have_afpstats -- if ( -- fs.exists(dbus_sysconfpath / 'netatalk-dbus.conf') -- and not get_option('with-overwrite') -- ) -- message( -- 'will not replace existing', -- dbus_sysconfpath / 'netatalk-dbus.conf', -- ) -- else -- install_data('netatalk-dbus.conf', install_dir: dbus_sysconfpath) -- endif -+ install_data('netatalk-dbus.conf', install_dir: dbus_sysconfpath) - endif - -static_conf_files = ['extmap.conf'] - -if have_appletalk - static_conf_files += ['atalkd.conf', 'macipgw.conf', 'papd.conf'] -endif - -cups_libdir = '' - -if get_option('with-cups-libdir-path') != '' - cups_libdir = get_option('with-cups-libdir-path') -elif host_os == 'netbsd' - cups_libdir = '/usr/pkg/libexec' -else - cups_libdir = '/usr/lib' -endif - -if have_appletalk and have_cups and get_option('with-cups-pap-backend') - configure_file( - input: 'pap.in', - output: 'pap', - configuration: cdata, - install: true, - install_dir: cups_libdir / 'cups/backend', +- install_tag: 'runtime', - ) -endif - -foreach file : static_conf_files - if (fs.exists(pkgconfdir / file) and not get_option('with-overwrite')) - message('will not replace existing', pkgconfdir / file) - else -- install_data(file, install_dir: pkgconfdir) +- install_data(file, install_dir: pkgconfdir, install_tag: 'config') - endif -endforeach +install_data('extmap.conf', rename: 'extmap.conf.sample', install_dir: pkgconfdir) if (fs.exists('/etc/ld.so.conf.d') and get_option('with-ldsoconf')) configure_file( diff --git a/net/netatalk4/files/patch-etc_uams_meson.build b/net/netatalk4/files/patch-etc_uams_meson.build index 888f935b966b..b4a8502d98ac 100644 --- a/net/netatalk4/files/patch-etc_uams_meson.build +++ b/net/netatalk4/files/patch-etc_uams_meson.build @@ -1,121 +1,130 @@ ---- etc/uams/meson.build.orig 2025-08-07 15:36:39 UTC +--- etc/uams/meson.build.orig 2026-05-30 12:42:34 UTC +++ etc/uams/meson.build @@ -24,7 +24,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( @@ -36,7 +36,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( @@ -48,7 +48,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( @@ -60,7 +60,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( @@ -72,7 +72,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) + library( +@@ -84,7 +84,7 @@ library( + name_suffix: lib_suffix, + override_options: 'b_lundef=false', + install: true, +- install_dir: libdir / 'netatalk', ++ install_dir: libexecdir / 'netatalk-uams', + ) + if have_pam -@@ -85,7 +85,7 @@ if have_pam +@@ -97,7 +97,7 @@ if have_pam name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( -@@ -97,7 +97,7 @@ if have_pam +@@ -109,7 +109,7 @@ if have_pam name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( -@@ -109,40 +109,40 @@ if have_pam +@@ -121,40 +121,40 @@ if have_pam name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) if build_shared_lib install_symlink( 'uams_clrtxt.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_pam.so', ) install_symlink( 'uams_dhx.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx_pam.so', ) install_symlink( 'uams_dhx2.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx2_pam.so', ) endif elif build_shared_lib install_symlink( 'uams_clrtxt.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_passwd.so', ) install_symlink( 'uams_dhx.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx_passwd.so', ) install_symlink( 'uams_dhx2.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx2_passwd.so', ) endif -@@ -158,6 +158,6 @@ if have_krb5_uam +@@ -170,6 +170,6 @@ if have_krb5_uam name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) endif diff --git a/net/netatalk4/files/patch-meson.build b/net/netatalk4/files/patch-meson.build index 5f05ab9a3081..d41c468fa281 100644 --- a/net/netatalk4/files/patch-meson.build +++ b/net/netatalk4/files/patch-meson.build @@ -1,75 +1,75 @@ ---- meson.build.orig 2026-01-04 16:50:32.000000000 +0000 +--- meson.build.orig 2026-05-30 12:42:34 UTC +++ meson.build -@@ -69,6 +69,7 @@ +@@ -57,6 +57,7 @@ libdir = prefix / get_option('libdir') datadir = prefix / get_option('datadir') includedir = prefix / get_option('includedir') libdir = prefix / get_option('libdir') +libexecdir = prefix / get_option('libexecdir') mandir = prefix / get_option('mandir') sbindir = prefix / get_option('sbindir') sysconfdir = prefix / get_option('sysconfdir') -@@ -141,7 +142,7 @@ +@@ -306,7 +307,7 @@ statedir = '-D_PATH_STATEDIR="' + localstatedir + '/ne messagedir = '-DSERVERTEXT="' + localstatedir + '/netatalk/msg/"' naddir = '-D_PATH_NAD="' + bindir + '/nad"' statedir = '-D_PATH_STATEDIR="' + localstatedir + '/netatalk/"' -uamdir = '-D_PATH_AFPDUAMPATH="' + libdir + '/netatalk/"' +uamdir = '-D_PATH_AFPDUAMPATH="' + libexecdir + '/netatalk-uams/"' ############ # Includes # -@@ -411,6 +412,7 @@ +@@ -629,6 +630,7 @@ if 'dbd' in get_option('with-cnid-backends') endif bdb_subdirs = [ -+ '%%DB_NAME%%', ++ 'db18', 'db62', 'db6.2', 'db61', -@@ -927,12 +929,12 @@ +@@ -1203,12 +1205,12 @@ dns_sd_libs = [] dns_sd_libs = [] -dns_sd = cc.find_library('dns_sd', required: false) +dns_sd = cc.find_library('dns_sd', dirs: libsearch_dirs, required: false) if dns_sd.found() dns_sd_libs += dns_sd endif -system = cc.find_library('system', required: false) +system = cc.find_library('system', dirs: libsearch_dirs, required: false) if dns_sd.found() dns_sd_libs += system endif -@@ -946,6 +948,8 @@ +@@ -1222,6 +1224,8 @@ have_dns = ( ) ) +threads = dependency('threads', required: true) + if enable_zeroconf if host_os == 'darwin' - # On Darwin/macOS, prefer mDNS (Bonjour) over Avahi -@@ -955,6 +959,7 @@ + # On Darwin/macOS, prefer mDNS over Avahi +@@ -1231,6 +1235,7 @@ if enable_zeroconf cdata.set('HAVE_MDNS', 1) cdata.set('freebsd_zeroconf', 'mdnsd') zeroconf_provider += 'mDNS' + dns_sd_libs += threads elif avahi.found() have_zeroconf = true cdata.set('USE_ZEROCONF', 1) -@@ -976,6 +981,7 @@ +@@ -1252,6 +1257,7 @@ if enable_zeroconf cdata.set('HAVE_MDNS', 1) cdata.set('freebsd_zeroconf', 'mdnsd') zeroconf_provider += 'mDNS' + dns_sd_libs += threads endif endif endif -@@ -1592,6 +1598,7 @@ +@@ -1929,6 +1935,7 @@ if not enable_pam if not enable_pam have_pam = false + pam = dependency('', required: false) else if host_os != 'sunos' pam_paths = [ diff --git a/net/netatalk4/pkg-plist b/net/netatalk4/pkg-plist index 6254f4f32ea2..8935d00b6775 100644 --- a/net/netatalk4/pkg-plist +++ b/net/netatalk4/pkg-plist @@ -1,94 +1,91 @@ bin/addump %%LDAP%%bin/afpldaptest bin/afppasswd %%DBUS%%bin/afpstats bin/asip-status bin/dbd bin/fce_listen -bin/macusers bin/nad @sample etc/afp.conf.sample -%%DBUS%%etc/dbus-1/system.d/netatalk-dbus.conf %%SPOTLIGHT%%etc/dbus-session.conf.netatalk @sample etc/extmap.conf.sample %%PAM%%@sample etc/pam.d/netatalk.sample libexec/netatalk-uams/uams_clrtxt.so libexec/netatalk-uams/uams_dhx.so libexec/netatalk-uams/uams_dhx2.so %%PAM%%libexec/netatalk-uams/uams_dhx2_pam.a %%PAM%%libexec/netatalk-uams/uams_dhx2_pam.so libexec/netatalk-uams/uams_dhx2_passwd.a libexec/netatalk-uams/uams_dhx2_passwd.so %%PAM%%libexec/netatalk-uams/uams_dhx_pam.a %%PAM%%libexec/netatalk-uams/uams_dhx_pam.so libexec/netatalk-uams/uams_dhx_passwd.a libexec/netatalk-uams/uams_dhx_passwd.so %%KERBEROS5%%libexec/netatalk-uams/uams_gss.a %%KERBEROS5%%libexec/netatalk-uams/uams_gss.so libexec/netatalk-uams/uams_guest.a libexec/netatalk-uams/uams_guest.so %%PAM%%libexec/netatalk-uams/uams_pam.a %%PAM%%libexec/netatalk-uams/uams_pam.so libexec/netatalk-uams/uams_passwd.a libexec/netatalk-uams/uams_passwd.so libexec/netatalk-uams/uams_randnum.a libexec/netatalk-uams/uams_randnum.so +libexec/netatalk-uams/uams_srp.a +libexec/netatalk-uams/uams_srp.so include/atalk/acl.h include/atalk/adouble.h include/atalk/aep.h include/atalk/afp.h include/atalk/afp_util.h include/atalk/asp.h include/atalk/atp.h include/atalk/cnid.h +include/atalk/constant_time.h include/atalk/ddp.h include/atalk/ea.h include/atalk/globals.h include/atalk/hash.h include/atalk/iniparser_util.h include/atalk/list.h include/atalk/logger.h include/atalk/nbp.h include/atalk/netatalk_conf.h include/atalk/netddp.h include/atalk/pap.h include/atalk/queue.h include/atalk/rtmp.h include/atalk/uam.h include/atalk/unicode.h include/atalk/unix.h include/atalk/util.h include/atalk/vfs.h include/atalk/volume.h include/atalk/zip.h lib/libatalk.a lib/libatalk.so -lib/libatalk.so.19 -lib/libatalk.so.19.0.0 +lib/libatalk.so.20 +lib/libatalk.so.20.0.0 sbin/afpd sbin/cnid_dbd sbin/cnid_metad sbin/netatalk share/man/man1/addump.1.gz share/man/man1/afpldaptest.1.gz share/man/man1/afppasswd.1.gz %%DBUS%%share/man/man1/afpstats.1.gz share/man/man1/asip-status.1.gz share/man/man1/dbd.1.gz share/man/man1/fce_listen.1.gz -share/man/man1/macusers.1.gz share/man/man1/nad.1.gz -share/man/man3/atalk_aton.3.gz -share/man/man3/nbp_name.3.gz -share/man/man4/atalk.4.gz share/man/man5/afp.conf.5.gz share/man/man5/afp_signature.conf.5.gz share/man/man5/afp_voluuid.conf.5.gz share/man/man5/extmap.conf.5.gz share/man/man8/afpd.8.gz share/man/man8/cnid_dbd.8.gz share/man/man8/cnid_metad.8.gz share/man/man8/netatalk.8.gz /var/netatalk/CNID/README @dir /var/netatalk/CNID @dir /var/netatalk