diff --git a/net/netatalk4/Makefile b/net/netatalk4/Makefile index 07fc7a6f9e0a..866b5f560795 100644 --- a/net/netatalk4/Makefile +++ b/net/netatalk4/Makefile @@ -1,110 +1,109 @@ PORTNAME= netatalk -PORTVERSION= 4.1.2 -PORTREVISION= 1 +PORTVERSION= 4.2.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= docbook-xsl>=0:textproc/docbook-xsl +BUILD_DEPENDS= cmark:textproc/cmark LIB_DEPENDS= libgcrypt.so:security/libgcrypt \ - libevent.so:devel/libevent + libevent.so:devel/libevent \ + libiniparser.so:devel/iniparser 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 CPE_VENDOR= netatalk_project 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-shadow=false \ -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_OFF= -Dwith-afpstats=false MYSQL_USES= mysql MYSQL_MESON_OFF=-Dwith-cnid-mysql-backend=false 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/macusers/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 2cceb6d2a71c..23c449260af1 100644 --- a/net/netatalk4/distinfo +++ b/net/netatalk4/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1740930680 -SHA256 (netatalk-4.1.2.tar.xz) = a825f6ff7efedb09bb9ca75727ab43126797000f89775db72c8d9520bf481e9c -SIZE (netatalk-4.1.2.tar.xz) = 922960 +TIMESTAMP = 1743438055 +SHA256 (netatalk-4.2.0.tar.xz) = 768a91014e298dc1d14ef28ebe330ddad49928e3c34f307353b8bdd317f50a52 +SIZE (netatalk-4.2.0.tar.xz) = 934020 diff --git a/net/netatalk4/files/patch-config_meson.build b/net/netatalk4/files/patch-config_meson.build index a8dc29c35c28..d10c4aae7ff5 100644 --- a/net/netatalk4/files/patch-config_meson.build +++ b/net/netatalk4/files/patch-config_meson.build @@ -1,67 +1,85 @@ ---- config/meson.build.orig 2025-02-10 20:41:20 UTC +--- config/meson.build.orig 2025-03-31 05:27:01 UTC +++ config/meson.build -@@ -4,59 +4,23 @@ afp_conf = configure_file( +@@ -4,77 +4,23 @@ 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) -endif +install_data(afp_conf, rename: 'afp.conf.sample', install_dir: pkgconfdir) if have_spotlight 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) - 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 host_os in ['netbsd'] +- cups_libdir = '/usr/pkg/libexec' +-elif host_os in ['linux'] +- cups_libdir = '/usr/lib' +-endif +- +-if have_appletalk and have_cups and cups_libdir != '' +- configure_file( +- input: 'pap.in', +- output: 'pap', +- configuration: cdata, +- install: true, +- install_dir: cups_libdir / 'cups/backend', +- ) +-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) - endif -endforeach +install_data('extmap.conf', rename: 'extmap.conf.sample', install_dir: pkgconfdir) if ( fs.exists('/etc/ld.so.conf.d') diff --git a/net/netatalk4/files/patch-etc_uams_meson.build b/net/netatalk4/files/patch-etc_uams_meson.build index 91ae27204e92..59fee181fb51 100644 --- a/net/netatalk4/files/patch-etc_uams_meson.build +++ b/net/netatalk4/files/patch-etc_uams_meson.build @@ -1,127 +1,127 @@ ---- etc/uams/meson.build.orig 2025-02-10 20:41:20 UTC +--- etc/uams/meson.build.orig 2025-03-31 05:27:01 UTC +++ etc/uams/meson.build -@@ -20,7 +20,7 @@ library( +@@ -25,7 +25,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) uams_passwd_sources = ['uams_passwd.c'] -@@ -34,7 +34,7 @@ library( +@@ -39,7 +39,7 @@ library( name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) if have_libgcrypt -@@ -51,7 +51,7 @@ if have_libgcrypt +@@ -56,7 +56,7 @@ if have_libgcrypt name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( -@@ -63,7 +63,7 @@ if have_libgcrypt +@@ -68,7 +68,7 @@ if have_libgcrypt name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) library( -@@ -75,7 +75,7 @@ if have_libgcrypt +@@ -80,7 +80,7 @@ if have_libgcrypt name_suffix: lib_suffix, override_options: 'b_lundef=false', install: true, - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', ) if have_pam uams_dhx2_pam_sources = ['uams_dhx2_pam.c'] -@@ -89,20 +89,20 @@ if have_libgcrypt +@@ -94,20 +94,20 @@ if have_libgcrypt 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_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_dhx2.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx2_passwd.so', ) endif -@@ -118,20 +118,20 @@ if have_libgcrypt +@@ -123,20 +123,20 @@ if have_libgcrypt 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_dhx.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx_pam.so', ) endif elif build_shared_lib install_symlink( 'uams_dhx.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_dhx_passwd.so', ) endif -@@ -150,20 +150,20 @@ if have_pam +@@ -155,20 +155,20 @@ 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', ) endif elif build_shared_lib install_symlink( 'uams_clrtxt.so', - install_dir: libdir / 'netatalk', + install_dir: libexecdir / 'netatalk-uams', pointing_to: 'uams_passwd.so', ) endif -@@ -181,6 +181,6 @@ if have_krb5_uam +@@ -186,6 +186,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 e37e854f53c3..da36be7b9a98 100644 --- a/net/netatalk4/files/patch-meson.build +++ b/net/netatalk4/files/patch-meson.build @@ -1,79 +1,67 @@ ---- meson.build.orig 2025-02-10 20:41:20 UTC +--- meson.build.orig 2025-03-31 05:27:01 UTC +++ meson.build -@@ -66,6 +66,7 @@ libdir = prefix / get_option('libdir') +@@ -69,6 +69,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') -@@ -138,7 +139,7 @@ statedir = '-D_PATH_STATEDIR="' + localstatedir + '/ne +@@ -141,7 +142,7 @@ statedir = '-D_PATH_STATEDIR="' + localstatedir + '/ne dversion = '-DVERSION="' + netatalk_version + '"' messagedir = '-DSERVERTEXT="' + localstatedir + '/netatalk/msg/"' statedir = '-D_PATH_STATEDIR="' + localstatedir + '/netatalk/"' -uamdir = '-D_PATH_AFPDUAMPATH="' + libdir + '/netatalk/"' +uamdir = '-D_PATH_AFPDUAMPATH="' + libexecdir + '/netatalk-uams/"' ############ # Includes # -@@ -464,6 +465,7 @@ bdb_subdirs = [ +@@ -394,6 +395,7 @@ bdb_subdirs = [ endif bdb_subdirs = [ + '%%DB_NAME%%', 'db62', 'db6.2', 'db61', -@@ -641,6 +643,11 @@ if crypt.found() - if crypt.found() - cdata.set('HAVE_CRYPT_H', 1) - cdata.set('HAVE_LIBCRYPT', 1) -+else -+ crypt = cc.find_library('crypt', has_headers: 'unistd.h', required: false) -+ if crypt.found() -+ cdata.set('HAVE_LIBCRYPT', 1) -+ endif - endif - - # -@@ -819,12 +826,12 @@ dns_sd_libs = [] +@@ -775,12 +777,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 -@@ -838,6 +845,8 @@ have_dns = ( +@@ -794,6 +796,8 @@ have_dns = ( ) ) +threads = dependency('threads', required: true) + if enable_zeroconf if avahi.found() have_zeroconf = true -@@ -854,6 +863,7 @@ if enable_zeroconf +@@ -807,6 +811,7 @@ if enable_zeroconf cdata.set('HAVE_MDNS', 1) cdata.set('freebsd_zeroconf', 'mdnsd') zeroconf_provider += 'mDNS' + dns_sd_libs += threads endif endif -@@ -1709,6 +1719,7 @@ if not enable_pam +@@ -1535,6 +1540,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 b8c8b66431ba..4bcafaaaeb28 100644 --- a/net/netatalk4/pkg-plist +++ b/net/netatalk4/pkg-plist @@ -1,101 +1,100 @@ bin/ad bin/addump %%LDAP%%bin/afpldaptest bin/afppasswd %%DBUS%%bin/afpstats bin/asip-status bin/dbd +bin/fce_listen bin/macusers @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 include/atalk/acl.h include/atalk/adouble.h include/atalk/aep.h include/atalk/afp.h include/atalk/asp.h include/atalk/atp.h include/atalk/bstrlib.h include/atalk/cnid.h include/atalk/ddp.h include/atalk/dictionary.h include/atalk/ea.h include/atalk/globals.h include/atalk/hash.h -include/atalk/iniparser.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/standards.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 sbin/afpd sbin/cnid_dbd sbin/cnid_metad sbin/netatalk share/man/man1/ad.1.gz share/man/man1/addump.1.gz share/man/man1/afp_lantest.1.gz share/man/man1/afp_logintest.1.gz share/man/man1/afp_spectest.1.gz share/man/man1/afp_speedtest.1.gz share/man/man1/afparg.1.gz share/man/man1/afpldaptest.1.gz share/man/man1/afppasswd.1.gz %%DBUS%%share/man/man1/afpstats.1.gz share/man/man1/afptest.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/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/man5/macipgw.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