pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/net/netatalk4



Module Name:    pkgsrc
Committed By:   hauke
Date:           Tue Aug 12 18:22:55 UTC 2025

Modified Files:
        pkgsrc/net/netatalk4: Makefile PLIST distinfo
        pkgsrc/net/netatalk4/patches: patch-config_meson.build
            patch-config_pam_meson.build patch-include_atalk_util.h
            patch-meson.build

Log Message:
Update net/netatalk4 to v4.3

>From upstream's changelog:

The Netatalk team is proud to announce the first version in the
Netatalk 4.3 release series.  A major addition in this version is the
inclusion of an experimental CNID backend that uses a SQLite database.
We have also added a brand new CLI tool for AppleTalk network
inspection, called rtmpqry.

One major breaking change in this version is that we now rely on a
shared Better String library (bstring).  In previous versions we
statically linked libatalk with a vendored version of bstring.  Since
bstring is not widely packaged (yet) we pull in the library as a Meson
subproject when building.

Berkeley DB is now effectively an optional dependency. It is possible
to build netatalk without dbd support, and rely entirely on f.e. the
mysql (or experimental sqlite) backend.

Early adopters are encouraged to try out this new version.
We are looking forward to getting feedback and bug reports from you!

CNID backends

sqlite

This new CNID backend depends on a sqlite v3 library on the host system.
Akin to the dbd backend, it requires no configuration or database administration.

At the time of release, it has been tested in smaller deployments with
a small number concurrent users.  It is considered experimental, as it
is presently unknown how it performs in a large deployment.

mysql

The mysql backend will now create a volume's CNID dir automatically on
startup, which aligns behavior with the other backends.

While the mysql backend doesn't need to store a database file in this
directory, it also houses AFP metadata files for the volume.

dbd

Netatalk can now be built without the Database Daemon (dbd) CNID
backend.  When dbd support is not built into netatalk, it will no
longer launch the cnid_metad or cnid_dbd support daemons either.

AppleTalk tooling

New and improved tools for AppleTalk network inspection and manipulation.

The brand new rtmpqry CLI tool will query RTMP (Routing Table
Maintenance Protocol) for routes and network metadata in an AppleTalk
network.

nbplkup has gotten a few new features, notably -s for script-friendly
output, -D to specify DDP address, and -f | -l to select the NBP op to
use.

getzones is also improved, with a -c option to set Mac charset, -g to
get current default Zone and valid network range, -z to validate Zone
validity, and -q to list available Zones.

Special thanks to @cheesestraws (Rob Mitchelmore) for the new tool and
improvements!

Build system and dependencies

bstring

The bstring shared library and headers are required to build and run
netatalk.  This was previously a statically linked library inside
libatalk, but the vendored code has been removed in this version.

In the absence of a shared library, the Meson build system will
compile and install bstring as a subproject.

CNID backends

A new Meson option of the array type has been introduced to select and
build one or more of the available CNID backends.  The default is to
build all for which the dependencies are satisfied.

    -Dwith-cnid-backends=dbd,last,mysql,sqlite

At the same time, the following obsolete options have been removed.

    -Dwith-cnid-dbd-backend
    -Dwith-cnid-last-backend
    -Dwith-cnid-mysql-backend

LocalSearch / Tracker

We now require v3 or later of LocalSearch or Tracker for Spotlight
indexing. Support for v0.x - v2 has been dropped.

Consequently, the following obsolete options have been removed.

    -Dwith-tracker-install-prefix
    -Dwith-tracker-prefix

Containers

The base image has been bumped from Alpine Linux v3.21 to v3.22

We no longer build support for ACLs and Spotlight in the Netatalk
container.  These features did not work properly in a containerized
environment.  With improvements, they may be enabled again in the
future.

Tests

The afp_lantest test tool has been fleshed out with tests that
thoroughly examines afpd cashing scenarios.  Special thanks to
@andylemin for the contribution!

The afp_speedtest test tool got a number of bugfixes and improvements.
Notably, it is now possible to run batches of multiple tests in
multiple iterations.

At the same time, each of the test tools have gotten their own man
page, while the monolithic afptest.1 man page has been removed.

Code quality

We have introduced coding standards and styleguides for C, Perl, POSIX
shell, Meson, and Markdown.  These standards are now automatically
enforced in the CI pipeline by the respective beautifiers (astyle,
perltidy, shfmt, muon, and markdownlint).  A convenience wrapper
script contrib/scripts/codefmt.sh has been added that can help you
reformat the entire codebase on the fly.  Code contributors no longer
have to manually care about formatting, which saves time and makes
diffs smaller.  Also, a uniform code style makes the codebase easier
to read and maintain overall.

All of the shell scripts have been refactored to be POSIX compliant
and run on the sh interpreter rather than bash.  This removes bash as
a dependency (for a slimmer container, for instance) and improves
cross-platform compatibility.

All of the Perl scripts (including the Webmin module code) have been
refactored to pass the strict and warning pragmas.  This prevents bugs
and makes execution more reliable and memory safe.

New Contributors

    @dependabot[bot] made their first contribution in #2235
    @andylemin made their first contribution in #2322


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 pkgsrc/net/netatalk4/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/net/netatalk4/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/net/netatalk4/distinfo
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/net/netatalk4/patches/patch-config_meson.build
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build \
    pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h
cvs rdiff -u -r1.7 -r1.8 pkgsrc/net/netatalk4/patches/patch-meson.build

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/netatalk4/Makefile
diff -u pkgsrc/net/netatalk4/Makefile:1.22 pkgsrc/net/netatalk4/Makefile:1.23
--- pkgsrc/net/netatalk4/Makefile:1.22  Sat Jul  5 12:30:16 2025
+++ pkgsrc/net/netatalk4/Makefile       Tue Aug 12 18:22:55 2025
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.22 2025/07/05 12:30:16 hauke Exp $
+# $NetBSD: Makefile,v 1.23 2025/08/12 18:22:55 hauke Exp $
 
 GITHUB_PROJECT=        netatalk
 GITHUB_TAG=    refs/tags/${DISTNAME}
 DISTNAME=      netatalk-${PKGVER:C/\./-/g}
-PKGREVISION=   1
 
 PKGNAME=       ${DISTNAME:C/-[0-9].*$//}-${PKGVER}
-PKGVER=                4.2.4
+PKGVER=                4.3.0
 CATEGORIES=    net
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=Netatalk/}
 
@@ -67,10 +66,10 @@ LDFLAGS.FreeBSD+=   -lpthread
 # into scripts, so replace manually
 SUBST_CLASSES+=                perlpath
 SUBST_STAGE.perlpath=  pre-configure
-SUBST_FILES.perlpath+= contrib/shell_utils/macusers.in
-SUBST_FILES.perlpath+= contrib/shell_utils/afpstats.in
-SUBST_FILES.perlpath+= contrib/shell_utils/addump.in
-SUBST_FILES.perlpath+= contrib/shell_utils/asip-status.in
+SUBST_FILES.perlpath+= contrib/bin_utils/macusers.pl
+SUBST_FILES.perlpath+= contrib/bin_utils/afpstats.pl
+SUBST_FILES.perlpath+= contrib/bin_utils/addump.pl
+SUBST_FILES.perlpath+= contrib/bin_utils/asip-status.pl
 SUBST_SED.perlpath=    -e 's|@PERL@|${PERL5}|g'
 
 # Keep Meson from installing rc.d files
@@ -168,6 +167,7 @@ post-install:
 .include "../../devel/iniparser/buildlink3.mk"
 BUILDLINK_API_DEPENDS.libevent+=        libevent>=2
 .include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/libbstring/buildlink3.mk"
 .include "../../security/cracklib/buildlink3.mk"
 .include "../../security/libgcrypt/buildlink3.mk"
 .include "../../security/openssl/buildlink3.mk"

Index: pkgsrc/net/netatalk4/PLIST
diff -u pkgsrc/net/netatalk4/PLIST:1.5 pkgsrc/net/netatalk4/PLIST:1.6
--- pkgsrc/net/netatalk4/PLIST:1.5      Mon Jun 16 09:35:36 2025
+++ pkgsrc/net/netatalk4/PLIST  Tue Aug 12 18:22:55 2025
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2025/06/16 09:35:36 hauke Exp $
+@comment $NetBSD: PLIST,v 1.6 2025/08/12 18:22:55 hauke Exp $
 ${PLIST.ea}bin/ad
 bin/addump
 ${PLIST.appletalk}bin/aecho
@@ -15,13 +15,13 @@ ${PLIST.appletalk}bin/nbprgstr
 ${PLIST.appletalk}bin/nbpunrgstr
 ${PLIST.appletalk}bin/pap
 ${PLIST.appletalk}bin/papstatus
+bin/rtmpqry
 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/ea.h
@@ -67,11 +67,6 @@ lib/netatalk/uams_randnum.so
 man/man1/ad.1
 man/man1/addump.1
 ${PLIST.appletalk}man/man1/aecho.1
-man/man1/afp_lantest.1
-man/man1/afp_logintest.1
-man/man1/afp_spectest.1
-man/man1/afp_speedtest.1
-man/man1/afparg.1
 man/man1/afpldaptest.1
 man/man1/afppasswd.1
 man/man1/afpstats.1
@@ -86,6 +81,7 @@ ${PLIST.appletalk}man/man1/nbplkup.1
 ${PLIST.appletalk}man/man1/nbprgstr.1
 ${PLIST.appletalk}man/man1/nbpunrgstr.1
 ${PLIST.appletalk}man/man1/pap.1
+man/man1/rtmpqry.1
 man/man3/atalk_aton.3
 man/man3/nbp_name.3
 man/man4/atalk.4

Index: pkgsrc/net/netatalk4/distinfo
diff -u pkgsrc/net/netatalk4/distinfo:1.11 pkgsrc/net/netatalk4/distinfo:1.12
--- pkgsrc/net/netatalk4/distinfo:1.11  Sat Jul  5 12:30:16 2025
+++ pkgsrc/net/netatalk4/distinfo       Tue Aug 12 18:22:55 2025
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.11 2025/07/05 12:30:16 hauke Exp $
+$NetBSD: distinfo,v 1.12 2025/08/12 18:22:55 hauke Exp $
 
-BLAKE2s (netatalk-4-2-4.tar.gz) = 8997001bcbca80561f2168ef141fc2df8f0d14997c2631232000d8c30b8614ab
-SHA512 (netatalk-4-2-4.tar.gz) = d3828ac95562f71601a588a22583abf28968b5608a83643d3aaef931108fa13da5c3f5f7aef02c30d690dd288966fd636700924247939616cb323746c4076e25
-Size (netatalk-4-2-4.tar.gz) = 1390425 bytes
-SHA1 (patch-config_meson.build) = 2bae343245bcd33869ccb2f47f802fb8e2290050
-SHA1 (patch-config_pam_meson.build) = f321c7bd246f1d82c287e745ea75c9561bc528a9
-SHA1 (patch-include_atalk_util.h) = a5808060e45831e0b096d1a0f5fc7be64d83051a
-SHA1 (patch-meson.build) = c23041cd9206085dd086a4ed7d8e62a03c1a475e
+BLAKE2s (netatalk-4-3-0.tar.gz) = 4bde9fe5f31633a048ae6a3826f6020e7dc88ce833bb3ad06079d6752f9cf60c
+SHA512 (netatalk-4-3-0.tar.gz) = 0b11db1f688695318eceddc22601468632b34837fd5ae4ce239f26f6d09d0989958030c2ec3498461b954f7f0d6e56dc28e41d61de532510ca59f727d3e5f60c
+Size (netatalk-4-3-0.tar.gz) = 1438687 bytes
+SHA1 (patch-config_meson.build) = 8fdc8f4d9da98d68003ef24347475983c4fbb35b
+SHA1 (patch-config_pam_meson.build) = f1d5d285f146ff88c58f7671b4f94fc3363b113f
+SHA1 (patch-include_atalk_util.h) = 419ea5f3bbdb38d7b18df682b36fb55e46bb9110
+SHA1 (patch-meson.build) = e40b41b2be15bc7172b9676b2f044097e579d662

Index: pkgsrc/net/netatalk4/patches/patch-config_meson.build
diff -u pkgsrc/net/netatalk4/patches/patch-config_meson.build:1.3 pkgsrc/net/netatalk4/patches/patch-config_meson.build:1.4
--- pkgsrc/net/netatalk4/patches/patch-config_meson.build:1.3   Mon May  5 13:57:00 2025
+++ pkgsrc/net/netatalk4/patches/patch-config_meson.build       Tue Aug 12 18:22:55 2025
@@ -1,17 +1,14 @@
-$NetBSD: patch-config_meson.build,v 1.3 2025/05/05 13:57:00 hauke Exp $
+$NetBSD: patch-config_meson.build,v 1.4 2025/08/12 18:22:55 hauke Exp $
 
 Leave installation of config files to pkgsrc framework
 
---- config/meson.build.orig    2025-04-27 20:58:10.000000000 +0000
+--- config/meson.build.orig    2025-08-05 13:56:32.000000000 +0000
 +++ config/meson.build
-@@ -4,47 +4,12 @@ afp_conf = configure_file(
+@@ -4,41 +4,12 @@ afp_conf = configure_file(
      configuration: cdata,
  )
  
--if (
--    fs.exists(pkgconfdir / 'afp.conf')
--    and not get_option('with-overwrite')
--)
+-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)
@@ -39,54 +36,47 @@ Leave installation of config files to pk
 -        fs.exists(dbus_sysconfpath / 'netatalk-dbus.conf')
 -        and not get_option('with-overwrite')
 -    )
--        message('will not replace existing', dbus_sysconfpath / 'netatalk-dbus.conf')
+-        message(
+-            'will not replace existing',
+-            dbus_sysconfpath / 'netatalk-dbus.conf',
+-        )
 -    else
 -        install_data('netatalk-dbus.conf', install_dir: dbus_sysconfpath)
 -    endif
--endif
--
--static_conf_files = ['extmap.conf']
--
--if have_appletalk
--    static_conf_files += ['atalkd.conf', 'macipgw.conf', 'papd.conf']
  endif
  
- cups_libdir = ''
-@@ -62,37 +27,7 @@ if have_appletalk and have_cups and get_
+ static_conf_files = ['extmap.conf']
+@@ -62,33 +33,17 @@ if have_appletalk and have_cups and get_
          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')
      )
+ 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
 -
--if (
--    fs.exists('/etc/ld.so.conf.d')
--    and get_option('with-ldsoconf')
--)
--    configure_file(
--        input: 'libatalk.conf.in',
--        output: 'libatalk.conf',
--        configuration: cdata,
+ if (fs.exists('/etc/ld.so.conf.d') and get_option('with-ldsoconf'))
+     configure_file(
+         input: 'libatalk.conf.in',
+         output: 'libatalk.conf',
+         configuration: cdata,
 -        install: true,
 -        install_dir: '/etc/ld.so.conf.d',
--    )
--endif
--
--if get_option('with-statedir-creation')
--    install_data('README', install_dir: localstatedir / 'netatalk/CNID')
+     )
  endif
  
+-if get_option('with-statedir-creation')
+-    install_data('README', install_dir: localstatedir / 'netatalk/CNID')
+-endif
+-
  if have_pam
+     subdir('pam')
+ endif

Index: pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build
diff -u pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build:1.1 pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build:1.2
--- pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build:1.1       Mon Dec 16 15:40:54 2024
+++ pkgsrc/net/netatalk4/patches/patch-config_pam_meson.build   Tue Aug 12 18:22:55 2025
@@ -1,18 +1,15 @@
-$NetBSD: patch-config_pam_meson.build,v 1.1 2024/12/16 15:40:54 hauke Exp $
+$NetBSD: patch-config_pam_meson.build,v 1.2 2025/08/12 18:22:55 hauke Exp $
 
 Leave installation of config files to pkgsrc framework
 
---- config/pam/meson.build.orig        2024-12-16 15:29:40.082881669 +0000
+--- config/pam/meson.build.orig        2025-08-12 18:02:56.730117401 +0000
 +++ config/pam/meson.build
-@@ -3,12 +3,3 @@ netatalk_pamd = configure_file(
+@@ -3,9 +3,3 @@ netatalk_pamd = configure_file(
      output: 'netatalk',
      configuration: cdata,
  )
 -
--if (
--    fs.exists(pam_confdir / 'netatalk')
--    and not get_option('with-overwrite')
--)
+-if (fs.exists(pam_confdir / 'netatalk') and not get_option('with-overwrite'))
 -    message('will not replace existing', pam_confdir / 'netatalk')
 -else
 -    install_data(netatalk_pamd, install_dir: pam_confdir)
Index: pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h
diff -u pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h:1.1 pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h:1.2
--- pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h:1.1 Sat Jul  5 12:30:16 2025
+++ pkgsrc/net/netatalk4/patches/patch-include_atalk_util.h     Tue Aug 12 18:22:55 2025
@@ -1,12 +1,14 @@
-$NetBSD: patch-include_atalk_util.h,v 1.1 2025/07/05 12:30:16 hauke Exp $
+$NetBSD: patch-include_atalk_util.h,v 1.2 2025/08/12 18:22:55 hauke Exp $
 
-From PR pkg/59509: There is a "special" hack in util.h that makes
-NetBSD load modules with RTLD_LAZY. Well, yes this appears to work,
-but does not really work since symbols from pam don't get resolved.
+There is a "special" hack in util.h that makes NetBSD load modules
+with RTLD_LAZY. Well, yes this appears to work, but does not really
+work since symbols from pam don't get resolved. 
 
---- include/atalk/util.h.orig  2025-07-04 10:23:35.330324979 -0400
-+++ include/atalk/util.h       2025-07-04 10:23:50.613808953 -0400
-@@ -122,7 +122,7 @@
+From PR pkg/59509
+
+--- include/atalk/util.h.orig  2025-08-05 13:56:32.000000000 +0000
++++ include/atalk/util.h
+@@ -124,7 +124,7 @@ extern void mod_close(void *);
   * OpenBSD currently does not use the second arg for dlopen(). For
   * future compatibility we define DL_LAZY */
  #ifdef __NetBSD__

Index: pkgsrc/net/netatalk4/patches/patch-meson.build
diff -u pkgsrc/net/netatalk4/patches/patch-meson.build:1.7 pkgsrc/net/netatalk4/patches/patch-meson.build:1.8
--- pkgsrc/net/netatalk4/patches/patch-meson.build:1.7  Wed Jun 11 11:24:19 2025
+++ pkgsrc/net/netatalk4/patches/patch-meson.build      Tue Aug 12 18:22:55 2025
@@ -1,4 +1,4 @@
-$NetBSD: patch-meson.build,v 1.7 2025/06/11 11:24:19 hauke Exp $
+$NetBSD: patch-meson.build,v 1.8 2025/08/12 18:22:55 hauke Exp $
 
 Add PREFIXed paths (include, lib) for all OSes.
 
@@ -6,7 +6,7 @@ Make PREFIX path configurable.
 
 Install at.h on Linux, we do it on NetBSD, too.
 
---- meson.build.orig   2025-05-31 04:47:29.000000000 +0000
+--- meson.build.orig   2025-08-05 13:56:32.000000000 +0000
 +++ meson.build
 @@ -152,16 +152,9 @@ include_dirs = [
      'include',
@@ -53,27 +53,18 @@ Install at.h on Linux, we do it on NetBS
  
  check_headers = [
      'acl/libacl.h',
-@@ -392,9 +378,7 @@ else
-     endif
+@@ -400,9 +386,7 @@ if 'dbd' in get_option('with-cnid-backen
+         endif
  
-     bdb_dirs += [
--        '/usr/local',
--        '/usr/pkg',
--        '/opt/local',
-+      get_option('prefix'),
-         '/usr',
-     ]
- endif
-@@ -834,7 +818,7 @@ if host_os == 'darwin'
-         bison = find_program(brew_prefix / 'opt/bison/bin/bison', required: false)
-     endif
-     if not bison.found()
--        bison = find_program('/opt/local/bin/bison', required: false)
-+        bison = find_program( get_option('prefix') / 'bison', required: false)
+         bdb_dirs += [
+-            '/usr/local',
+-            '/usr/pkg',
+-            '/opt/local',
++          get_option('prefix'),
+             '/usr',
+         ]
      endif
- else
-     bison = find_program('bison', required: false)
-@@ -1550,7 +1534,7 @@ else
+@@ -1567,7 +1551,7 @@ else
          pam_paths = [
              '/',
              '/usr',
@@ -82,7 +73,7 @@ Install at.h on Linux, we do it on NetBS
          ]
  
          foreach path : pam_paths
-@@ -1904,16 +1888,10 @@ cracklib_dict = ''
+@@ -1918,16 +1902,10 @@ cracklib_dict = ''
  
  if fs.is_dir('/usr/share/cracklib')
      cracklib_dict += '/usr/share/cracklib/pw_dict'
@@ -101,10 +92,10 @@ Install at.h on Linux, we do it on NetBS
  endif
  
  if not enable_cracklib
-@@ -2035,7 +2013,6 @@ if host_os.contains('freebsd')
+@@ -2051,7 +2029,6 @@ if host_os == 'freebsd'
      cdata.set('FREEBSD', 1)
      cdata.set('OPEN_NOFOLLOW_ERRNO', 'EMLINK')
- elif host_os.contains('linux')
+ elif host_os == 'linux'
 -    use_glibc_at_header = cc.has_header('netatalk/at.h')
      cdata.set('_GNU_SOURCE', 1)
      if cc.compiles(



Home | Main Index | Thread Index | Old Index