From bf3707ccbf98f44103171f4a5c6fb5bcd0744bfc Mon Sep 17 00:00:00 2001 From: Dave Botsch Date: Wed, 28 Oct 2015 11:28:01 -0400 Subject: [PATCH] Initial set of changes for El Capitan OS X 10.11 . Mainly new El Capitan specific config files and defitions of Darwin 15 variables and config tests/etc. Change-Id: I87b926109561f41ee95a2f3f94fbdbcf2903691a Reviewed-on: http://gerrit.openafs.org/12072 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- acinclude.m4 | 8 + src/cf/osconf.m4 | 2 +- src/config/afs_sysnames.h | 3 + src/config/param.x86_darwin_150.h | 264 +++++++++++++++++++++++ src/libafs/afs.x86_darwin_150.plist.in | 33 +++ src/packaging/MacOS/InstallationCheck.15 | 19 ++ src/packaging/MacOS/InstallationCheck.strings.15 | 1 + src/packaging/MacOS/ReadMe.rtf.15 | 7 + src/packaging/MacOS/buildpkg.sh.in | 3 + 9 files changed, 339 insertions(+), 1 deletion(-) create mode 100644 src/config/param.x86_darwin_150.h create mode 100644 src/libafs/afs.x86_darwin_150.plist.in create mode 100644 src/packaging/MacOS/InstallationCheck.15 create mode 100644 src/packaging/MacOS/InstallationCheck.strings.15 create mode 100644 src/packaging/MacOS/ReadMe.rtf.15 diff --git a/acinclude.m4 b/acinclude.m4 index 3026d31..fdd5554 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -685,6 +685,14 @@ else AFS_SYSNAME="x86_darwin_140" OSXSDK="macosx10.10" ;; + x86_64-apple-darwin15.*) + AFS_SYSNAME="x86_darwin_150" + OSXSDK="macosx10.11" + ;; + i?86-apple-darwin15.*) + AFS_SYSNAME="x86_darwin_150" + OSXSDK="macosx10.11" + ;; sparc-sun-solaris2.8) AFS_SYSNAME="sun4x_58" ;; diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 6c9fe68..becfac8 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -344,7 +344,7 @@ case $AFS_SYSNAME in XLIBS="${LIB_AFSDB} -framework CoreFoundation" ;; - *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 ) + *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 ) AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation" MT_CFLAGS="-D_REENTRANT" MT_LIBS='${XLIBS}' diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index 9aeea06..a0328cc 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -79,6 +79,9 @@ #define SYS_NAME_ID_x86_darwin_140 526 #define SYS_NAME_ID_amd64_darwin_140 527 #define SYS_NAME_ID_arm_darwin_140 528 +#define SYS_NAME_ID_x86_darwin_150 529 +#define SYS_NAME_ID_amd64_darwin_150 530 +#define SYS_NAME_ID_arm_darwin_150 531 #define SYS_NAME_ID_next_mach20 601 #define SYS_NAME_ID_next_mach30 602 diff --git a/src/config/param.x86_darwin_150.h b/src/config/param.x86_darwin_150.h new file mode 100644 index 0000000..6c0df11 --- /dev/null +++ b/src/config/param.x86_darwin_150.h @@ -0,0 +1,264 @@ +#ifndef UKERNEL +/* This section for kernel libafs compiles only */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#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 +#if defined(__ppc__) +#define AFS_PPC_ENV 1 +#elif defined(__i386__) || defined(__amd64__) +#define AFS_X86_ENV 1 +#else +#error Unsupported architecture +#endif +#ifdef __amd64__ +#define AFS_64BITUSERPOINTER_ENV 1 +#endif +#define AFS_64BIT_SIZEOF 1 /* seriously? */ +#include + +#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 +#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" + +/* Machine / Operating system information */ +#if defined(__ppc__) +#define sys_ppc_darwin_12 1 +#define sys_ppc_darwin_13 1 +#define sys_ppc_darwin_14 1 +#define sys_ppc_darwin_60 1 +#define sys_ppc_darwin_70 1 +#define sys_ppc_darwin_80 1 +#define sys_ppc_darwin_90 1 +#define sys_ppc_darwin_100 1 +#define SYS_NAME "ppc_darwin_100" +#define SYS_NAME_ID SYS_NAME_ID_ppc_darwin_100 +#define AFSBIG_ENDIAN 1 +#elif defined(__ppc64__) +#define sys_ppc_darwin_12 1 +#define sys_ppc_darwin_13 1 +#define sys_ppc_darwin_14 1 +#define sys_ppc_darwin_60 1 +#define sys_ppc_darwin_70 1 +#define sys_ppc_darwin_80 1 +#define sys_ppc_darwin_90 1 +#define sys_ppc_darwin_100 1 +#define sys_ppc64_darwin_100 1 +#define SYS_NAME "ppc64_darwin_100" +#define SYS_NAME_ID SYS_NAME_ID_ppc64_darwin_100 +#define AFSBIG_ENDIAN 1 +#elif defined(__i386__) +#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_x86_darwin_110 1 +#define sys_x86_darwin_120 1 +#define sys_x86_darwin_130 1 +#define sys_x86_darwin_140 1 +#define sys_x86_darwin_150 1 +#define SYS_NAME "x86_darwin_150" +#define SYS_NAME_ID SYS_NAME_ID_x86_darwin_150 +#define AFSLITTLE_ENDIAN 1 +#elif defined(__amd64__) +#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_NAME "amd64_darwin_150" +#define SYS_NAME_ID SYS_NAME_ID_amd64_darwin_150 +#define AFSLITTLE_ENDIAN 1 +#else +#error Unsupported architecture +#endif +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ + +#define AFS_GCPAGS 0 +#define RXK_UPCALL_ENV 1 +#define RXK_TIMEDSLEEP_ENV 1 + +#ifdef KERNEL +#undef MACRO_BEGIN +#undef MACRO_END +#include +#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 osi_GetTime(x) microtime(x) +#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 +#endif /* AFS_PARAM_H */ + +#else /* !defined(UKERNEL) */ + +/* This section for user space compiles only */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_ENV 1 +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ +#define AFS_64BIT_CLIENT 1 +#if defined(__ppc__) +#define AFS_PPC_ENV 1 +#elif defined(__i386__) || defined(__amd64__) +#define AFS_X86_ENV 1 +#else +#error Unsupported architecture +#endif +#ifdef __amd64__ +#define AFS_64BITUSERPOINTER_ENV 1 +#endif + +#include +#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 +#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" + +/* Machine / Operating system information */ +#if defined(__ppc__) +#define sys_ppc_darwin_12 1 +#define sys_ppc_darwin_13 1 +#define sys_ppc_darwin_14 1 +#define sys_ppc_darwin_60 1 +#define sys_ppc_darwin_70 1 +#define sys_ppc_darwin_80 1 +#define sys_ppc_darwin_90 1 +#define sys_ppc_darwin_100 1 +#define SYS_NAME "ppc_darwin_100" +#define SYS_NAME_ID SYS_NAME_ID_ppc_darwin_100 +#define AFSBIG_ENDIAN 1 +#elif defined(__i386__) +#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_100 1 +#define sys_x86_darwin_110 1 +#define sys_x86_darwin_120 1 +#define sys_x86_darwin_130 1 +#define sys_x64_darwin_140 1 +#define sys_x64_darwin_150 1 +#define SYS_NAME "x86_darwin_150" +#define SYS_NAME_ID SYS_NAME_ID_x86_darwin_150 +#define AFSLITTLE_ENDIAN 1 +#elif defined(__amd64__) +#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_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_NAME "amd64_darwin_150" +#define SYS_NAME_ID SYS_NAME_ID_amd64_darwin_150 +#define AFSLITTLE_ENDIAN 1 +#else +#error Unsupported architecture +#endif +#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 AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define VATTR_NULL usr_vattr_null + +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif + +#define BIND_8_COMPAT +#endif /* AFS_PARAM_H */ + +#endif /* !defined(UKERNEL) */ diff --git a/src/libafs/afs.x86_darwin_150.plist.in b/src/libafs/afs.x86_darwin_150.plist.in new file mode 100644 index 0000000..a138571 --- /dev/null +++ b/src/libafs/afs.x86_darwin_150.plist.in @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + afs + CFBundleIdentifier + org.openafs.filesystems.afs + CFBundleInfoDictionaryVersion + 8.0 + CFBundleName + afs + CFBundlePackageType + KEXT + CFBundleShortVersionString + @MACOS_VERSION@ + CFBundleSignature + ???? + CFBundleVersion + @MACOS_VERSION@ + OSBundleLibraries + + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.libkern + 8.0 + + + diff --git a/src/packaging/MacOS/InstallationCheck.15 b/src/packaging/MacOS/InstallationCheck.15 new file mode 100644 index 0000000..16db398 --- /dev/null +++ b/src/packaging/MacOS/InstallationCheck.15 @@ -0,0 +1,19 @@ +#!/bin/sh +majorvers=`uname -r | sed 's/\..*//'` +if [ $majorvers -ne 15 ]; then + exit 112 +fi + +# check for temporary versions of ThisCell and CellAlias +# and move them aside +tmpthiscell=/private/tmp/org.OpenAFS.Install.ThisCell.$USER +tmpcellalias=/private/tmp/org.OpenAFS.Install.CellAlias.$USER +date=`date +%Y%m%d%H%M` +if [ -e $tmpthiscell ]; then + mv -f $tmpthiscell $tmpthiscell.$date +fi +if [ -e $tmpcellalias ]; then + mv -f $tmpcellalias $tmpcellalias.$date +fi + +exit 0 diff --git a/src/packaging/MacOS/InstallationCheck.strings.15 b/src/packaging/MacOS/InstallationCheck.strings.15 new file mode 100644 index 0000000..97350ce --- /dev/null +++ b/src/packaging/MacOS/InstallationCheck.strings.15 @@ -0,0 +1 @@ +"16" = "This OpenAFS release requires El Capitan (10.11)"; diff --git a/src/packaging/MacOS/ReadMe.rtf.15 b/src/packaging/MacOS/ReadMe.rtf.15 new file mode 100644 index 0000000..f372209 --- /dev/null +++ b/src/packaging/MacOS/ReadMe.rtf.15 @@ -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 10.11 (El Capitan) and is not recommended for use with any other version.} diff --git a/src/packaging/MacOS/buildpkg.sh.in b/src/packaging/MacOS/buildpkg.sh.in index 93b7049..143bda7 100644 --- a/src/packaging/MacOS/buildpkg.sh.in +++ b/src/packaging/MacOS/buildpkg.sh.in @@ -49,6 +49,9 @@ fi if [ $majorvers -eq 14 ]; then RELNAME="Yosemite" fi +if [ $majorvers -eq 15 ]; then + RELNAME="El Capitan" +fi PKGROOT=$CURDIR/pkgroot -- 1.9.4