netatalk: update to 4.3.2
authorAntonio Pastor <[email protected]>
Mon, 15 Sep 2025 22:38:09 +0000 (18:38 -0400)
committerHannu Nyman <[email protected]>
Fri, 26 Sep 2025 03:39:36 +0000 (06:39 +0300)
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 <[email protected]>
net/netatalk/Config.in
net/netatalk/Makefile
net/netatalk/files/afpd.init
net/netatalk/patches/010-iconv-build-fix.patch [deleted file]

index c889c4b2484fc966c14cb655cf4fb3c055ee1738..8d2a0e545abf722a99f5933c8382e09ec0791a31 100644 (file)
@@ -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
index e87f8c8e8139c9fe3d2c74b1ee7c9f7b4fcf3840..304f2204e24bdcce7d4035aef9e4f6f6f182bec7 100644 (file)
@@ -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 <[email protected]>
 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/,)
index 193856c892e26724557bfe27772e7e3227116071..33658945391405905358c034cefb573f9dbe57a2 100644 (file)
@@ -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 (file)
index bf56f2b..0000000
+++ /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,