commit:     53b4d537e4b7ebb3ea8a61abfff6fe52d4eadc99
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  4 17:02:00 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Wed Oct  4 17:03:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53b4d537

net-fs/netatalk: add 3.1.17

Bug: https://bugs.gentoo.org/837623
Bug: https://bugs.gentoo.org/881259
Closes: https://bugs.gentoo.org/829098
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 net-fs/netatalk/Manifest                           |   1 +
 .../netatalk-3.1.17-disable-ld-library-path.patch  |  34 ++++
 net-fs/netatalk/files/netatalk-3.1.17-gentoo.patch | 112 ++++++++++++++
 net-fs/netatalk/netatalk-3.1.17.ebuild             | 172 +++++++++++++++++++++
 4 files changed, 319 insertions(+)

diff --git a/net-fs/netatalk/Manifest b/net-fs/netatalk/Manifest
index 0bf4ddfe0aa6..d7bcf3b126cc 100644
--- a/net-fs/netatalk/Manifest
+++ b/net-fs/netatalk/Manifest
@@ -1 +1,2 @@
 DIST netatalk-3.1.12.tar.bz2 1918312 BLAKE2B 
a0672ad769530d96b13a4bf74a1f17d86aa924f05e8185cf6b1bdbfe97fbcf23d36e2f3e5e32a32194a9d3020864e5afa2812f8fb947c68629b15c259a745bf3
 SHA512 
0b22abaf0084d5684ccc049225abb34caa32893ea8fe7eb67901fde94726f054149ce78d2da49cf06fe30360eb18b2edccff20f9ac69d5ab5105f6d2f4178759
+DIST netatalk-3.1.17.tar.xz 975108 BLAKE2B 
e4bc8bead03f2afbbb2964b1220c029adb10a5d987089aa9f39834c52d90ca72c9894e039a2fecde2b042400aa03f86cfe27589572e834337cbe0877fc21c8a4
 SHA512 
d63b9b07c1ce316b20980d531240e8e4c71ad164983b2c3127a50d5d1a0e3783acf41120ebf1c9a9da39f5347bd8aa261986dc91bd879979e9defe7c092e8522

diff --git 
a/net-fs/netatalk/files/netatalk-3.1.17-disable-ld-library-path.patch 
b/net-fs/netatalk/files/netatalk-3.1.17-disable-ld-library-path.patch
new file mode 100644
index 000000000000..21cb119994fc
--- /dev/null
+++ b/net-fs/netatalk/files/netatalk-3.1.17-disable-ld-library-path.patch
@@ -0,0 +1,34 @@
+there's no need to set LD_LIBRARY_PATH in order to perform link tests, and
+it's actually undesirable as it'll cause the toolchain to search a different
+path than the ones it's configured to (host lib wise).
+
+https://bugs.gentoo.org/564350
+
+--- a/macros/db3-check.m4
++++ b/macros/db3-check.m4
+@@ -142,15 +142,7 @@ if test "x$bdb_required" = "xyes"; then
+                         CPPFLAGS="-I${bdbdir}/include${subdir} $CPPFLAGS"
+                         LDFLAGS="-L$bdblibdir $LDFLAGS"
+ 
+-                        dnl -- Uses version set by NETATALK_BDB_HEADER to try 
to run
+-                        dnl -- a conftest that checks that header/lib version 
match
+-                        dnl -- $shlibpath_var is set by LIBTOOL, its value is
+-                        dnl -- LD_LIBRARY_PATH on many platforms. This will 
be fairly
+-                        dnl -- portable hopefully. Reference:
+-                        dnl -- 
http://lists.gnu.org/archive/html/autoconf/2009-03/msg00040.html
+-                        test "$cross_compiling" = yes || eval export 
$shlibpath_var=$bdblibdir
+                         NETATALK_BDB_TRY_LINK
+-                        eval export $shlibpath_var=$saved_shlibpath_var
+ 
+                         if test x"${atalk_cv_bdb_version}" = x"yes"; then
+                             BDB_CFLAGS="-I${bdbdir}/include${subdir}"
+@@ -174,9 +166,7 @@ if test "x$bdb_required" = "xyes"; then
+                            CPPFLAGS="-I${bdbdir}/include${subdir} $CPPFLAGS"
+                            LDFLAGS="-L$bdblibdir $LDFLAGS"
+ 
+-                           test "$cross_compiling" = yes || eval export 
$shlibpath_var=$bdblibdir
+                            NETATALK_BDB_TRY_LINK
+-                           eval export $shlibpath_var=$saved_shlibpath_var
+ 
+                            if test x"${atalk_cv_bdb_version}" = x"yes"; then
+                               BDB_CFLAGS="-I${bdbdir}/include${subdir}"

diff --git a/net-fs/netatalk/files/netatalk-3.1.17-gentoo.patch 
b/net-fs/netatalk/files/netatalk-3.1.17-gentoo.patch
new file mode 100644
index 000000000000..eada14a0d28e
--- /dev/null
+++ b/net-fs/netatalk/files/netatalk-3.1.17-gentoo.patch
@@ -0,0 +1,112 @@
+ Makefile.am              |  6 ------
+ etc/netatalk/Makefile.am |  5 +++--
+ etc/netatalk/afp_avahi.c |  2 +-
+ etc/uams/Makefile.am     | 20 ++++++++++----------
+ libatalk/dsi/Makefile.am |  3 ++-
+ libatalk/vfs/Makefile.am |  1 +
+ macros/netatalk.m4       |  1 -
+ 7 files changed, 17 insertions(+), 21 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ec7f14d..b87fd8a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,9 +11,3 @@ EXTRA_DIST = CONTRIBUTORS COPYRIGHT COPYING NEWS VERSION 
abigen.sh
+ ACLOCAL_AMFLAGS = -I macros
+ AUTOMAKE_OPTIONS = foreign
+ 
+-if RUN_LDCONFIG
+-install-exec-hook:
+-      @printf "Running ldconfig to ensure libraries installed in system 
library directories are added to the dynamic linker cache ... "
+-      @-@NETA_LDCONFIG@
+-      @printf "done\n"
+-endif
+diff --git a/etc/netatalk/Makefile.am b/etc/netatalk/Makefile.am
+index 5392b9d..3e62e2d 100644
+--- a/etc/netatalk/Makefile.am
++++ b/etc/netatalk/Makefile.am
+@@ -27,6 +28,5 @@ netatalk_CFLAGS += \
+ 
+-netatalk_LDFLAGS = @LIBEVENT_LDFLAGS@ -levent
+-
+-netatalk_CFLAGS += @LIBEVENT_CFLAGS@
++netatalk_CPPFLAGS = @LIBEVENT_CFLAGS@
++netatalk_LDADD += @LIBEVENT_LDFLAGS@ -levent
+ 
+ noinst_HEADERS = afp_zeroconf.h afp_avahi.h afp_mdns.h
+diff --git a/etc/netatalk/afp_avahi.c b/etc/netatalk/afp_avahi.c
+index d6b55dc..dade1e0 100644
+--- a/etc/netatalk/afp_avahi.c
++++ b/etc/netatalk/afp_avahi.c
+@@ -164,8 +164,8 @@ static void register_stuff(void) {
+     return;
+ 
+ fail:
+-    time(NULL);
+ //    avahi_threaded_poll_quit(ctx->threaded_poll);
++    return;
+ }
+ 
+ /* Called when publishing of service data completes */
+diff --git a/etc/uams/Makefile.am b/etc/uams/Makefile.am
+index 23fd3d1..0e882ea 100644
+--- a/etc/uams/Makefile.am
++++ b/etc/uams/Makefile.am
+@@ -95,16 +95,16 @@ uams_dhx_pam_la_CFLAGS     = @SSL_CFLAGS@ @PAM_CFLAGS@
+ uams_dhx2_pam_la_CFLAGS    = @LIBGCRYPT_CFLAGS@ @PAM_CFLAGS@
+ uams_gss_la_CFLAGS       = @GSSAPI_CFLAGS@ @KRB5_CFLAGS@
+ 
+-uams_guest_la_LDFLAGS      = -module -avoid-version
+-uams_randnum_la_LDFLAGS    = -module -avoid-version @SSL_LIBS@
+-uams_passwd_la_LDFLAGS     = -module -avoid-version @CRYPT_LIBS@
+-uams_pam_la_LDFLAGS        = -module -avoid-version @PAM_LIBS@
+-uams_pgp_la_LDFLAGS        = -module -avoid-version @SSL_LIBS@
+-uams_dhx_passwd_la_LDFLAGS = -module -avoid-version @CRYPT_LIBS@ @SSL_LIBS@
+-uams_dhx_pam_la_LDFLAGS               = -module -avoid-version @CRYPT_LIBS@ 
@SSL_LIBS@ @PAM_LIBS@
+-uams_dhx2_passwd_la_LDFLAGS   = -module -avoid-version @CRYPT_LIBS@ 
@LIBGCRYPT_LIBS@
+-uams_dhx2_pam_la_LDFLAGS      = -module -avoid-version @LIBGCRYPT_LIBS@ 
@PAM_LIBS@
+-uams_gss_la_LDFLAGS              = -module -avoid-version @GSSAPI_LIBS@ 
@KRB5_LIBS@
++uams_guest_la_LDFLAGS      = -shared -module -avoid-version
++uams_randnum_la_LDFLAGS    = -shared -module -avoid-version @SSL_LIBS@
++uams_passwd_la_LDFLAGS     = -shared -module -avoid-version @CRYPT_LIBS@
++uams_pam_la_LDFLAGS        = -shared -module -avoid-version @PAM_LIBS@
++uams_pgp_la_LDFLAGS        = -shared -module -avoid-version @SSL_LIBS@
++uams_dhx_passwd_la_LDFLAGS = -shared -module -avoid-version @CRYPT_LIBS@ 
@SSL_LIBS@
++uams_dhx_pam_la_LDFLAGS               = -shared -module -avoid-version 
@CRYPT_LIBS@ @SSL_LIBS@ @PAM_LIBS@
++uams_dhx2_passwd_la_LDFLAGS   = -shared -module -avoid-version @CRYPT_LIBS@ 
@LIBGCRYPT_LIBS@
++uams_dhx2_pam_la_LDFLAGS      = -shared -module -avoid-version 
@LIBGCRYPT_LIBS@ @PAM_LIBS@
++uams_gss_la_LDFLAGS              = -shared -module -avoid-version 
@GSSAPI_LIBS@ @KRB5_LIBS@
+ 
+ #
+ # module compilation
+diff --git a/libatalk/dsi/Makefile.am b/libatalk/dsi/Makefile.am
+index 34fa76e..dbde336 100644
+--- a/libatalk/dsi/Makefile.am
++++ b/libatalk/dsi/Makefile.am
+@@ -1,3 +1,4 @@
+ noinst_LTLIBRARIES = libdsi.la
+ 
+ libdsi_la_SOURCES = dsi_attn.c dsi_close.c dsi_cmdreply.c dsi_getsess.c 
dsi_getstat.c dsi_init.c dsi_opensess.c dsi_read.c dsi_tcp.c dsi_tickle.c 
dsi_write.c dsi_stream.c
++libdsi_la_LIBADD = $(WRAP_LIBS)
+diff --git a/libatalk/vfs/Makefile.am b/libatalk/vfs/Makefile.am
+index aa62aeb..8ac2045 100644
+--- a/libatalk/vfs/Makefile.am
++++ b/libatalk/vfs/Makefile.am
+@@ -6,4 +6,5 @@ libvfs_la_SOURCES = vfs.c unix.c ea_ad.c ea_sys.c extattr.c
+ 
+ if HAVE_ACLS
+ libvfs_la_SOURCES += acl.c
++libvfs_la_LIBADD = $(ACL_LIBS)
+ endif
+diff --git a/macros/netatalk.m4 b/macros/netatalk.m4
+index ea2bbff..40ab817 100644
+--- a/macros/netatalk.m4
++++ b/macros/netatalk.m4
+@@ -790,7 +790,6 @@ save_CFLAGS="$CFLAGS"
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$LIBS"
+ CFLAGS=""
+-LDFLAGS=""
+ LIBS=""
+ LDAP_CFLAGS=""
+ LDAP_LDFLAGS=""

diff --git a/net-fs/netatalk/netatalk-3.1.17.ebuild 
b/net-fs/netatalk/netatalk-3.1.17.ebuild
new file mode 100644
index 000000000000..3d7abfd17eb3
--- /dev/null
+++ b/net-fs/netatalk/netatalk-3.1.17.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic pam systemd
+
+DESCRIPTION="Open Source AFP server"
+HOMEPAGE="https://netatalk.sourceforge.net/";
+SRC_URI="https://github.com/Netatalk/netatalk/releases/download/netatalk-${PV//./-}/netatalk-${PV}.tar.xz";
+
+LICENSE="GPL-2 BSD"
+SLOT="0/18.0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="acl cracklib dbus debug kerberos ldap pam pgp quota +shadow ssl tracker 
tcpd zeroconf"
+
+CDEPEND="
+       !app-editors/yudit
+       dev-libs/libevent:0=
+       >=dev-libs/libgcrypt-1.2.3:0=
+       sys-apps/coreutils
+       >=sys-libs/db-4.2.52:=
+       sys-libs/tdb
+       virtual/libcrypt:=
+       acl? (
+               sys-apps/attr
+               sys-apps/acl
+       )
+       cracklib? ( sys-libs/cracklib )
+       dbus? ( sys-apps/dbus dev-libs/dbus-glib )
+       kerberos? ( virtual/krb5 )
+       ldap? ( net-nds/openldap:= )
+       pam? ( sys-libs/pam )
+       ssl? ( dev-libs/openssl:0= )
+       tcpd? ( sys-apps/tcp-wrappers )
+       tracker? ( app-misc/tracker:3= )
+       zeroconf? ( net-dns/avahi[dbus] )
+"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}
+       app-alternatives/yacc
+       sys-devel/flex
+"
+
+RESTRICT="test"
+
+REQUIRED_USE="
+       ldap? ( acl )
+       tracker? ( dbus )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.1.17-gentoo.patch
+       "${FILESDIR}"/${PN}-3.1.17-disable-ld-library-path.patch #564350
+)
+
+src_prepare() {
+       default
+       append-flags -fno-strict-aliasing
+
+       sed \
+               -e "s:shell_utils::g" \
+               -i contrib/Makefile.am || die
+
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=()
+
+       # Ignore --with-init-style=gentoo, we install the init.d by hand and we 
avoid having
+       # to sed the Makefiles to not do rc-update.
+       # TODO:
+       # systemd : --with-init-style=systemd
+       myeconfargs+=(
+               $(use_enable debug)
+               $(use_enable debug debugging)
+               $(use_enable pgp pgp-uam)
+               $(use_enable kerberos krbV-uam)
+               $(use_enable quota)
+               $(use_enable tcpd tcp-wrappers)
+               $(use_enable zeroconf)
+               $(use_with acl acls)
+               $(use_with cracklib)
+               $(use_with dbus afpstats)
+               $(use_with kerberos)
+               $(use_with ldap)
+               $(use_with pam)
+               $(use_with shadow)
+               $(use_with ssl ssl-dir)
+               $(use_with tracker dbus-daemon "${EPREFIX}/usr/bin/dbus-daemon")
+               $(use_with tracker tracker-pkgconfig-version $(ver_cut 1 
$(best_version app-misc/tracker | sed 's:app-misc/tracker-::g')).0)
+               --disable-static
+               --enable-overwrite
+               --disable-afs
+               --with-bdb=/usr
+               --with-uams-path=/usr/$(get_libdir)/${PN}
+               --with-init-style=gentoo-openrc
+               --without-libevent
+               --without-tdb
+               --with-lockfile=/run/lock/${PN}
+       )
+       econf ${myeconfargs[@]}
+}
+
+src_install() {
+       default
+
+       if use zeroconf; then
+               sed -i -e '/avahi-daemon/s:use:need:g' "${ED}"/etc/init.d/${PN} 
|| die
+       else
+               sed -i -e '/avahi-daemon/d' "${ED}"/etc/init.d/${PN} || die
+       fi
+
+       # The pamd file isn't what we need, use pamd_mimic_system
+       rm -rf "${ED}/etc/pam.d" || die
+
+       if use pam; then
+               pamd_mimic_system netatalk auth account password session
+       fi
+
+       sed \
+               -e "s|:SBINDIR:|${EPREFIX}/usr/sbin|g" \
+               -e "s|:PATH_NETATALK_LOCK:|/run/lock/netatalk|g" \
+               distrib/initscripts/service.systemd.tmpl \
+               > "${T}"/service.systemd || die
+       systemd_newunit "${T}"/service.systemd ${PN}.service
+
+       # no static archives
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       local fle v
+       for v in ${REPLACING_VERSIONS}; do
+               if [[ $(ver_test ${v} -lt 3) ]]; then
+                       for fle in afp_signature.conf afp_voluuid.conf; do
+                               if [[ -f "${ROOT}"/etc/netatalk/${fle} ]]; then
+                                       if [[ ! -f 
"${ROOT}"/var/lib/netatalk/${fle} ]]; then
+                                               mv \
+                                                       
"${ROOT}"/etc/netatalk/${fle} \
+                                                       
"${ROOT}"/var/lib/netatalk/
+                                       fi
+                               fi
+                       done
+
+                       elog
+                       elog "Starting from version 3.0 only uses a single init 
script again"
+                       elog "Please update your runlevels accordingly"
+                       elog
+                       elog "Dependencies should be resolved automatically 
depending on settings"
+                       elog "but please report issues with this on 
https://bugs.gentoo.org/ if"
+                       elog "you find any."
+                       elog
+                       elog "Following config files are obsolete now:"
+                       elog "afpd.conf, netatalk.conf, AppleVolumes.default 
and afp_ldap.conf"
+                       elog "in favour of"
+                       elog "/etc/afp.conf"
+                       elog
+                       elog "Please convert your existing configs before you 
restart your daemon"
+                       elog
+                       elog "The new AppleDouble default backend is 
appledouble = ea"
+                       elog "Existing entries will be updated on access, but 
can do an offline"
+                       elog "conversion with"
+                       elog "dbd -ruve /path/to/Volume"
+                       elog
+                       elog "For general notes on the upgrade, please visit"
+                       elog 
"http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html";
+                       elog
+                       break
+               fi
+       done
+}

Reply via email to