macos: Add support for MacOS 14.X (Sonoma)

This commit introduces the new set of changes/ files required
to successfully build and package the OpenAFS source code on
MacOS 14.X "Sonoma".

Signed-off-by: GANESH CHAUDHARI <gangovind@in.ibm.com>
Reviewed-on: https://gerrit.openafs.org/15591
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit f379e1b255ebb5094c5acc11a9234d5a321818c2)

Change-Id: I913bf9ae5eda0ae571c727e95f9f3ac113df9f64
Reviewed-on: https://gerrit.openafs.org/15602
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
Ganesh Chaudhari 2023-10-20 16:16:16 +05:30 committed by Stephan Wiesand
parent 88d3cbbf7e
commit 519918dfed
8 changed files with 298 additions and 1 deletions

View File

@ -347,7 +347,7 @@ case $AFS_SYSNAME in
XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
*_darwin_190 | *_darwin_200 | *_darwin_210 | *_darwin_220)
*_darwin_190 | *_darwin_200 | *_darwin_210 | *_darwin_220 | *_darwin_230)
AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
MT_CFLAGS="-D_REENTRANT"
MT_LIBS='${XLIBS}'

View File

@ -226,6 +226,18 @@ else
AFS_SYSNAME="arm_darwin_220"
OSXSDK="macosx13.0"
;;
x86_64-apple-darwin23.*)
AFS_SYSNAME="x86_darwin_230"
OSXSDK="macosx14.0"
;;
arm-apple-darwin23.*)
AFS_SYSNAME="arm_darwin_230"
OSXSDK="macosx14.0"
;;
aarch64-apple-darwin23.*)
AFS_SYSNAME="arm_darwin_230"
OSXSDK="macosx14.0"
;;
sparc-sun-solaris2.8)
AFS_SYSNAME="sun4x_58"
;;
@ -426,6 +438,9 @@ case $AFS_SYSNAME in
*_darwin_220)
AFS_PARAM=param.darwin_220.h
;;
*_darwin_230)
AFS_PARAM=param.darwin_230.h
;;
*)
AFS_PARAM=param.${AFS_SYSNAME}.h
;;

View File

@ -101,6 +101,8 @@
#define SYS_NAME_ID_arm_darwin_210 548
#define SYS_NAME_ID_amd64_darwin_220 549
#define SYS_NAME_ID_arm_darwin_220 550
#define SYS_NAME_ID_amd64_darwin_230 551
#define SYS_NAME_ID_arm_darwin_230 552
#define SYS_NAME_ID_next_mach20 601
#define SYS_NAME_ID_next_mach30 602

View File

@ -0,0 +1,203 @@
#ifndef AFS_PARAM_H
# define AFS_PARAM_H
# ifndef UKERNEL
/* This section for kernel libafs compiles only */
# define AFS_ENV 1
# define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
# define AFS_64BIT_CLIENT 1
# define AFS_64BIT_IOPS_ENV 1
# define AFS_64BIT_SIZEOF 1 /* seriously? */
# include <afs/afs_sysnames.h>
# define AFS_DARWIN_ENV
# define AFS_DARWIN70_ENV
# define AFS_DARWIN80_ENV
# define AFS_DARWIN90_ENV
# define AFS_DARWIN100_ENV
# define AFS_DARWIN110_ENV
# define AFS_DARWIN120_ENV
# define AFS_DARWIN130_ENV
# define AFS_DARWIN140_ENV
# define AFS_DARWIN150_ENV
# define AFS_DARWIN160_ENV
# define AFS_DARWIN170_ENV
# define AFS_DARWIN180_ENV
# define AFS_DARWIN190_ENV
# define AFS_DARWIN200_ENV
# define AFS_DARWIN210_ENV
# define AFS_DARWIN220_ENV
# define AFS_DARWIN230_ENV
# undef AFS_NONFSTRANS
# define AFS_NONFSTRANS
# define AFS_SYSCALL 230
# define AFS_NAMEI_ENV 1
# define DARWIN_REFBASE 3
# define AFS_WARNUSER_MARINER_ENV 1
# define AFS_CACHE_VNODE_PATH
# define AFS_NEW_BKG 1
# define NEED_IOCTL32
/* File system entry (used if mount.h doesn't define MOUNT_AFS) */
# define AFS_MOUNT_AFS "afs"
# define AFS_HAVE_FFS 1 /* Use system's ffs. */
# define AFS_GCPAGS 0
# define RXK_UPCALL_ENV 1
# define RXK_TIMEDSLEEP_ENV 1
# define AFS_USERSPACE_IP_ADDR 1
# define AFS_SOCKPROXY_ENV 1
# ifdef KERNEL
# undef MACRO_BEGIN
# undef MACRO_END
# include <kern/macro_help.h>
# define AFS_GLOBAL_SUNLOCK 1
# define AFS_VFS34 1 /* What is VFS34??? */
# define afsio_iov uio_iov
# define afsio_iovcnt uio_iovcnt
# define afsio_offset uio_offset
# define afsio_seg uio_segflg
# define afsio_resid uio_resid
# define AFS_UIOSYS UIO_SYSSPACE
# define AFS_UIOUSER UIO_USERSPACE
# define AFS_CLBYTES CLBYTES
# define AFS_KALLOC(x) _MALLOC(x, M_TEMP, M_WAITOK)
# define AFS_KFREE(x,y) _FREE(x,M_TEMP)
# define v_count v_usecount
# define v_vfsp v_mount
# define vfs_bsize mnt_stat.f_bsize
# define vfs_fsid mnt_stat.f_fsid
# define va_nodeid va_fileid
# define vfs_vnodecovered mnt_vnodecovered
# define direct dirent
# define BIND_8_COMPAT
# endif /* KERNEL */
# else /* !defined(UKERNEL) */
/* This section for user space compiles only */
# define AFS_ENV 1
# define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
# define AFS_64BIT_CLIENT 1
# include <afs/afs_sysnames.h>
# define AFS_USERSPACE_ENV
# define AFS_USR_DARWIN_ENV
# define AFS_USR_DARWIN70_ENV
# define AFS_USR_DARWIN80_ENV
# define AFS_USR_DARWIN90_ENV
# define AFS_USR_DARWIN100_ENV
# define AFS_USR_DARWIN110_ENV
# define AFS_USR_DARWIN120_ENV
# define AFS_USR_DARWIN130_ENV
# define AFS_USR_DARWIN140_ENV
# define AFS_USR_DARWIN150_ENV
# define AFS_USR_DARWIN160_ENV
# define AFS_USR_DARWIN170_ENV
# define AFS_USR_DARWIN180_ENV
# define AFS_USR_DARWIN190_ENV
# define AFS_USR_DARWIN200_ENV
# define AFS_USR_DARWIN210_ENV
# define AFS_USR_DARWIN220_ENV
# define AFS_USR_DARWIN230_ENV
# undef AFS_NONFSTRANS
# define AFS_NONFSTRANS
# define AFS_SYSCALL 230
# define DARWIN_REFBASE 0
# define AFS_WARNUSER_MARINER_ENV 1
/* File system entry (used if mount.h doesn't define MOUNT_AFS) */
# define AFS_MOUNT_AFS "afs"
# define AFS_HAVE_FFS 1 /* Use system's ffs. */
# define AFS_UIOSYS UIO_SYSSPACE
# define AFS_UIOUSER UIO_USERSPACE
# define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
# define RXK_LISTENER_ENV 1
# define AFS_VFS34 1 /* What is VFS34??? */
# define afsio_iov uio_iov
# define afsio_iovcnt uio_iovcnt
# define afsio_offset uio_offset
# define afsio_seg uio_segflg
# define afsio_resid uio_resid
# define VATTR_NULL usr_vattr_null
# define AFS_DIRENT
# ifndef CMSERVERPREF
# define CMSERVERPREF
# endif
# define BIND_8_COMPAT
# endif /* !defined(UKERNEL) */
/* Machine / Operating system information */
# if defined(__amd64__)
# define AFS_X86_ENV 1
# define AFS_64BITUSERPOINTER_ENV 1
# define sys_x86_darwin_12 1
# define sys_x86_darwin_13 1
# define sys_x86_darwin_14 1
# define sys_x86_darwin_60 1
# define sys_x86_darwin_70 1
# define sys_x86_darwin_80 1
# define sys_x86_darwin_90 1
# define sys_x86_darwin_100 1
# define sys_amd64_darwin_100 1
# define sys_amd64_darwin_110 1
# define sys_amd64_darwin_120 1
# define sys_amd64_darwin_130 1
# define sys_amd64_darwin_140 1
# define sys_amd64_darwin_150 1
# define sys_amd64_darwin_160 1
# define sys_amd64_darwin_170 1
# define sys_amd64_darwin_180 1
# define sys_amd64_darwin_190 1
# define sys_amd64_darwin_200 1
# define sys_amd64_darwin_210 1
# define sys_amd64_darwin_220 1
# define sys_amd64_darwin_230 1
# define SYS_NAME "amd64_darwin_230"
# define SYS_NAME_ID SYS_NAME_ID_amd64_darwin_230
# define AFSLITTLE_ENDIAN 1
# elif defined(__arm64__)
# define AFS_ARM_ENV 1
# define AFS_ARM64_DARWIN_ENV 1
# define sys_arm_darwin_200 1
# define sys_arm_darwin_210 1
# define sys_arm_darwin_220 1
# define sys_arm_darwin_230 1
# define SYS_NAME "arm_darwin_230"
# define SYS_NAME_ID SYS_NAME_ID_arm_darwin_230
# define AFSLITTLE_ENDIAN 1
# else
# error Unsupported architecture
# endif /* __amd64__ */
#endif /* AFS_PARAM_H */

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>afs</string>
<key>CFBundleIdentifier</key>
<string>org.openafs.filesystems.afs</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>8.0</string>
<key>CFBundleName</key>
<string>afs</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>@MACOS_VERSION@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@MACOS_VERSION@</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.bsd</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0</string>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>afs</string>
<key>CFBundleIdentifier</key>
<string>org.openafs.filesystems.afs</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>8.0</string>
<key>CFBundleName</key>
<string>afs</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>@MACOS_VERSION@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@MACOS_VERSION@</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.bsd</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0</string>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,7 @@
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh9000\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\fs24 \cf0 This release of OpenAFS is targeted at MacOS 14.X (Sonoma) and is not recommended for use with any other version.}

View File

@ -177,6 +177,10 @@ elif [ x"$majorvers" = x22 ]; then
RELNAME="Ventura"
THISREL=18
OSVER=13
elif [ x"$majorvers" = x23 ]; then
RELNAME="Sonoma"
THISREL=19
OSVER=14
elif [ x"$majorvers" = x ] ; then