From 2a8fdf37dc6c53929c831e0f24917fb9fd48a959 Mon Sep 17 00:00:00 2001 From: Antonio Pastor Date: Mon, 15 Sep 2025 18:38:09 -0400 Subject: [PATCH] netatalk: update to 4.3.2 Netatalk 4.3.x adds the option to use sqlite as a CNID DB. This is now a config option for the full package. (mysql is also an option but this has not been included here yet). As CNID DB backends are now managed by the netatalk meta-daemon the init script has been updated to use it instead of starting afpd & dbd manually. Cleaned up tab/space issues here and there. Signed-off-by: Antonio Pastor --- net/netatalk/Config.in | 62 ++++++++++++------- net/netatalk/Makefile | 37 ++++++++--- net/netatalk/files/afpd.init | 12 +--- .../patches/010-iconv-build-fix.patch | 43 ------------- 4 files changed, 68 insertions(+), 86 deletions(-) delete mode 100644 net/netatalk/patches/010-iconv-build-fix.patch diff --git a/net/netatalk/Config.in b/net/netatalk/Config.in index c889c4b248..8d2a0e545a 100644 --- a/net/netatalk/Config.in +++ b/net/netatalk/Config.in @@ -1,35 +1,49 @@ if PACKAGE_netatalk-full - config PACKAGE_NETATALK_APPLETALK - bool "Enable AppleTalk support." - default y + config PACKAGE_NETATALK_APPLETALK + bool "Enable AppleTalk support." + default y - config PACKAGE_NETATALK_ZEROCONF - bool "Enable Zeroconf support." - default y + config PACKAGE_NETATALK_ZEROCONF + bool "Enable Zeroconf support." + default y - config PACKAGE_NETATALK_ACLS - bool "Enable ACL support." - default y + config PACKAGE_NETATALK_ACLS + bool "Enable ACL support." + default y - config PACKAGE_NETATALK_PAM - bool "Enable PAM support." - default y + config PACKAGE_NETATALK_PAM + bool "Enable PAM support." + default y - config PACKAGE_NETATALK_LDAP - bool "Enable LDAP support." - default y + config PACKAGE_NETATALK_LDAP + bool "Enable LDAP support." + default y - config PACKAGE_NETATALK_ICONV - bool "Use libiconv features." - default y + config PACKAGE_NETATALK_ICONV + bool "Use libiconv features." + default y - config PACKAGE_NETATALK_KERBEROS - bool "Enable kerberos support." - default y + config PACKAGE_NETATALK_KERBEROS + bool "Enable kerberos support." + default y - config PACKAGE_NETATALK_LIBWRAP - bool "Enable TCP wrappers." - default y + config PACKAGE_NETATALK_LIBWRAP + bool "Enable TCP wrappers." + default y + + choice + prompt "CNID backends" + default PACKAGE_NETATALK_BOTHBACK + + config PACKAGE_NETATALK_DBDBACK + bool "dbd" + + config PACKAGE_NETATALK_SQLITEBACK + bool "sqlite" + + config PACKAGE_NETATALK_BOTHBACK + bool "dbd,sqlite" + endchoice endif diff --git a/net/netatalk/Makefile b/net/netatalk/Makefile index e87f8c8e81..304f2204e2 100644 --- a/net/netatalk/Makefile +++ b/net/netatalk/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=netatalk -PKG_VERSION:=4.2.2 +PKG_VERSION:=4.3.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@SF/netatalk -PKG_HASH:=8f772804ce4322a4e8fb159528209450927e9df067daa5cc02ab59b35f4b450c +PKG_HASH:=2977b4fd113182f0cc183337ba23d5701fb2be4e0dfcec7ee575b4d73a738d3a PKG_MAINTAINER:=Antonio Pastor PKG_LICENSE:=GPL-2.0-or-later @@ -59,7 +59,9 @@ define Package/netatalk-full +PACKAGE_NETATALK_LDAP:libopenldap \ +PACKAGE_NETATALK_ICONV:libiconv-full \ +PACKAGE_NETATALK_KERBEROS:krb5-libs \ - +PACKAGE_NETATALK_LIBWRAP:libwrap + +PACKAGE_NETATALK_LIBWRAP:libwrap \ + +PACKAGE_NETATALK_SQLITEBACK:libsqlite3 \ + +PACKAGE_NETATALK_BOTHBACK:libsqlite3 MENU:=1 endef @@ -87,13 +89,10 @@ define Package/netatalk-full/description endef define Package/netatalk-full/config - source "$(SOURCE)/Config.in" + source "$(SOURCE)/Config.in" endef MESON_ARGS += \ - -Dwith-cnid-default-backend=dbd \ - -Dwith-cnid-dbd-backend=true \ - -Dwith-cnid-mysql-backend=false \ -Dwith-bdb-path="$(STAGING_DIR)/usr/" \ -Dwith-unicode-data-path="$(STAGING_DIR_HOST)/share/gnulib/tests/uniname/" \ -Dwith-libgcrypt-path="$(STAGING_DIR)/usr/" \ @@ -111,6 +110,8 @@ MESON_ARGS += \ ifeq ($(BUILD_VARIANT),small) MESON_ARGS += \ + -Dwith-cnid-default-backend=dbd \ + -Dwith-cnid-backends=dbd \ -Dwith-appletalk=false \ -Dwith-zeroconf=false \ -Dwith-acls=false \ @@ -125,6 +126,8 @@ endif ifeq ($(BUILD_VARIANT),appletalk) MESON_ARGS += \ + -Dwith-cnid-default-backend=dbd \ + -Dwith-cnid-backends=dbd \ -Dwith-appletalk=true \ -Dwith-zeroconf=false \ -Dwith-acls=false \ @@ -150,6 +153,21 @@ MESON_ARGS += \ -Dwith-krbV-uam=$(if $(CONFIG_PACKAGE_NETATALK_KERBEROS),true,false) \ -Dwith-tcp-wrappers=$(if $(CONFIG_PACKAGE_NETATALK_LIBWRAP),true,false) \ +ifdef CONFIG_PACKAGE_NETATALK_DBDBACK +MESON_ARGS += \ + -Dwith-cnid-default-backend=dbd \ + -Dwith-cnid-backends=dbd +endif +ifdef CONFIG_PACKAGE_NETATALK_SQLITEBACK +MESON_ARGS += \ + -Dwith-cnid-default-backend=sqlite \ + -Dwith-cnid-backends=sqlite +endif +ifdef CONFIG_PACKAGE_NETATALK_BOTHBACK +MESON_ARGS += \ + -Dwith-cnid-default-backend=dbd \ + -Dwith-cnid-backends=dbd,sqlite +endif endif define Package/netatalk/conffiles @@ -169,6 +187,7 @@ define Package/netatalk-small/install $(INSTALL_DIR) $(1)/etc/config $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libatalk.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbstring.so* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/netatalk/*.so $(1)/usr/lib/netatalk/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/afp.conf $(1)/etc/ @@ -178,7 +197,7 @@ define Package/netatalk-small/install endef define Package/netatalk/install - $(call Package/netatalk-small/install,$(1)) + $(call Package/netatalk-small/install,$(1)) $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/atalkd.conf $(1)/etc/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/macipgw.conf $(1)/etc/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/papd.conf $(1)/etc/ @@ -195,7 +214,7 @@ define Package/netatalk/install endef define Package/netatalk-full/install - $(call Package/netatalk-small/install,$(1)) + $(call Package/netatalk-small/install,$(1)) $(if $(PACKAGE_NETATALK_APPLETALK),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/atalkd.conf $(1)/etc/,) $(if $(PACKAGE_NETATALK_APPLETALK),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/macipgw.conf $(1)/etc/,) $(if $(PACKAGE_NETATALK_APPLETALK),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/papd.conf $(1)/etc/,) diff --git a/net/netatalk/files/afpd.init b/net/netatalk/files/afpd.init index 193856c892..3365894539 100644 --- a/net/netatalk/files/afpd.init +++ b/net/netatalk/files/afpd.init @@ -4,8 +4,7 @@ START=85 STOP=10 USE_PROCD=1 -PROG_afpd='/usr/sbin/afpd' -PROG_cnid='/usr/sbin/cnid_metad' +PROG_netatalk='/usr/sbin/netatalk' # Default config file location config_file='/etc/afp.conf' @@ -185,16 +184,9 @@ start_service() { generate_config - # afpd procd_open_instance - procd_set_param command $PROG_afpd -d -F $config_file + procd_set_param command $PROG_netatalk -d -F $config_file procd_set_param file $config_file procd_set_param respawn procd_close_instance - - # cnid - procd_open_instance - procd_set_param command $PROG_cnid -d -F $config_file - procd_set_param respawn - procd_close_instance } diff --git a/net/netatalk/patches/010-iconv-build-fix.patch b/net/netatalk/patches/010-iconv-build-fix.patch deleted file mode 100644 index bf56f2bcc4..0000000000 --- a/net/netatalk/patches/010-iconv-build-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/bin/misc/meson.build -+++ b/bin/misc/meson.build -@@ -1,10 +1,13 @@ -+iconv_deps = [] -+ - if have_iconv -+ iconv_deps += iconv - executable( - 'netacnv', - ['netacnv.c'], - include_directories: root_includes, - link_with: libatalk, -- dependencies: [iconv], -+ dependencies: [iconv_deps], - install: false, - ) - endif -@@ -14,6 +17,7 @@ executable( - ['logger_test.c'], - include_directories: root_includes, - link_with: libatalk, -+ dependencies: [iconv_deps], - install: false, - ) - -@@ -22,7 +26,7 @@ executable( - ['fce.c'], - include_directories: root_includes, - link_with: libatalk, -- dependencies: [iniparser], -+ dependencies: [iniparser,iconv_deps], - install: true, - ) - -@@ -38,7 +42,7 @@ if have_ldap - ['uuidtest.c'], - include_directories: root_includes, - link_with: libatalk, -- dependencies: [afpldaptest_deps], -+ dependencies: [afpldaptest_deps,iconv_deps], - c_args: confdir, - install: true, - build_rpath: rpath_libdir,