# # Copyright (C) 2009-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=netatalk PKG_VERSION:=4.1.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@SF/netatalk PKG_HASH:=2c8d312245b39a8b734ac9a8eb45110bc03de3088928e574310a990d3b800241 PKG_MAINTAINER:=Antonio Pastor PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING PKG_CPE_ID:=cpe:/a:netatalk:netatalk include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk include $(INCLUDE_DIR)/meson.mk define Package/netatalk/Default SECTION:=net CATEGORY:=Network SUBMENU:=Filesystem TITLE:=Apple Filing Protocol PROVIDES:=netatalk URL:=http://netatalk.sourceforge.net DEPENDS:=+libevent2 +libdb47 +libgcrypt endef define Package/netatalk-small $(call Package/netatalk/Default) TITLE+= (afpd only) VARIANT:=small endef define Package/netatalk $(call Package/netatalk/Default) TITLE+= with AppleTalk support VARIANT:=appletalk DEPENDS+=+kmod-appletalk endef define Package/netatalk-full $(call Package/netatalk/Default) TITLE+= (configurable) VARIANT:=full DEPENDS+= \ +PACKAGE_NETATALK_APPLETALK:kmod-appletalk \ +PACKAGE_NETATALK_ZEROCONF:libavahi-client \ +PACKAGE_NETATALK_ACLS:libacl \ +PACKAGE_NETATALK_PAM:libpam \ +PACKAGE_NETATALK_LDAP:libopenldap \ +PACKAGE_NETATALK_ICONV:libiconv-full \ +PACKAGE_NETATALK_KERBEROS:krb5-libs \ +PACKAGE_NETATALK_LIBWRAP:libwrap MENU:=1 endef define Package/netatalk/description/default Netatalk is an Open Source Apple Filing Protocol (AFP) fileserver. Implements a service that allows Macintosh file sharing and Time Machine backups. Modern MacOS prefers Samba network shares but AFP has shown superior throughput. High Sierra and older MacOS only support AFP for Time Machine backups. endef define Package/netatalk-small/description $(call Package/netatalk/description/default) This package includes only the AFPD service. endef define Package/netatalk/description $(call Package/netatalk/description/default) This package includes the AFPD service and AppleTalk binaries. endef define Package/netatalk-full/description $(call Package/netatalk/description/default) This package includes all OpenWrt supported features (customizable). endef define Package/netatalk-full/config 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/" \ $(if $(CONFIG_SHADOW_PASSWORDS),-Dwith-shadow=true,-Dwith-shadow=false) \ -Dwith-afpstats=false \ -Dwith-cups=false \ -Dwith-quota=false \ -Dwith-spotlight=false \ -Dwith-cracklib=false \ -Dwith-tests=false \ -Dwith-testsuite=false \ -Dwith-dtrace=false \ -Dwith-debug=false \ -Dwith-shell-check=false \ -Dwith-readmes=false \ -Dwith-manual=none \ -Dwith-init-style=none \ ifeq ($(BUILD_VARIANT),small) MESON_ARGS += \ -Dwith-appletalk=false \ -Dwith-zeroconf=false \ -Dwith-acls=false \ -Dwith-ldap=false \ -Dwith-pam=false \ -Dwith-libiconv=false \ -Dwith-kerberos=false \ -Dwith-krbV-uam=false \ -Dwith-tcp-wrappers=false \ endif ifeq ($(BUILD_VARIANT),appletalk) MESON_ARGS += \ -Dwith-appletalk=true \ -Dwith-zeroconf=false \ -Dwith-acls=false \ -Dwith-ldap=false \ -Dwith-pam=false \ -Dwith-libiconv=false \ -Dwith-kerberos=false \ -Dwith-krbV-uam=false \ -Dwith-tcp-wrappers=false \ endif ifeq ($(BUILD_VARIANT),full) MESON_ARGS += \ -Dwith-appletalk=$(if $(CONFIG_PACKAGE_NETATALK_APPLETALK),true,false) \ -Dwith-zeroconf=$(if $(CONFIG_PACKAGE_NETATALK_ZEROCONF),true,false) \ -Dwith-acls=$(if $(CONFIG_PACKAGE_NETATALK_ACLS),true,false) \ -Dwith-ldap=$(if $(CONFIG_PACKAGE_NETATALK_LDAP),true,false) \ -Dwith-pam=$(if $(CONFIG_PACKAGE_NETATALK_PAM),true,false) \ -Dwith-libiconv=$(if $(CONFIG_PACKAGE_NETATALK_ICONV),true,false) \ $(if $(CONFIG_PACKAGE_NETATALK_ICONV),-Dwith-libiconv-path=$(STAGING_DIR)/usr/lib/libiconv-full,) \ -Dwith-kerberos=$(if $(CONFIG_PACKAGE_NETATALK_KERBEROS),true,false) \ -Dwith-krbV-uam=$(if $(CONFIG_PACKAGE_NETATALK_KERBEROS),true,false) \ -Dwith-tcp-wrappers=$(if $(CONFIG_PACKAGE_NETATALK_LIBWRAP),true,false) \ endif define Package/netatalk/conffiles /etc/afp.conf /etc/extmap.conf /etc/netatalk/ /etc/atalkd.conf /etc/macipgw.conf endef define Package/netatalk-small/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/lib/netatalk $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/etc/init.d $(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/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/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/extmap.conf $(1)/etc/ $(INSTALL_BIN) ./files/afpd.init $(1)/etc/init.d/afpd endef define Package/netatalk/install $(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/ endef define Package/netatalk-full/install $(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/,) endef $(eval $(call BuildPackage,netatalk-small)) $(eval $(call BuildPackage,netatalk)) $(eval $(call BuildPackage,netatalk-full))