OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_14-22-g5bbc578

Gerrit Code Review gerrit@openafs.org
Thu, 18 Dec 2025 15:53:41 -0500


The following commit has been merged in the openafs-stable-1_8_x branch:
commit 5bbc578f0852c6f953fbae679fa33671e15e16cb
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Dec 11 17:38:43 2025 -0500

    DARWIN: Use AFS_LDRULE for privhelper
    
    The OpenAFS macOS (DARWIN) build process supports a builder-supplied
    ARCHFLAGS with multiple values.  This allows building a single package
    that can install and run on any supported architecture (currently x86_64
    and arm64).  Executables created this way are known as "Universal"
    binaries.
    
    However, since its introduction (120871f03f38 "DARWIN: Add 'privhelper'
    tool for PrefPane"), the privhelper has only been built for the native
    platform.  This is because its makefile ignores ARCHFLAGS.
    
    This results in the following symptoms:
    - If the package is built on x86 but installed on arm64:
      The org.openafs.privhelper will be x86-only and so requires and runs
      under Rosetta 2.
      If the OpenAFS cache manager is started using the prefpane (via the
      privhelper), this also results in the afsd threads running as x86 under
      Rosetta 2.
      However, both the prefpane and Cache Manager seems to work correctly
      under Rosetta 2.
    
    - If the package is built on arm64 but installed on x86:
      The org.openafs.privhelper will be arm-only and will fail to start.
      Therefore any prefpane operation requiring the privhelper will either
      fail or hang.
      However, the Cache Manager will work correctly.
    
    Modify the makefile to use AFS_LDRULE, so we respect ARCHFLAGS, CFLAGS,
    and any other related flags.
    For example, now ARCHFLAGS='-arch arm64 -arch x86_64' will build a universal
    package (including a universal privhelper) that will run natively
    regardless of the architecture of the build host or the install host.
    
    Reviewed-on: https://gerrit.openafs.org/16654
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    (cherry picked from commit 755cdbe546581746af1c819468d584c9cd414bf0)
    
    Change-Id: I9a750c36f7d06750eb15922f1e1baded9d9f8953
    Reviewed-on: https://gerrit.openafs.org/16662
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

 src/platform/DARWIN/PrivilegedHelper/Makefile.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
OpenAFS Master Repository