From 3b31a0347bec069c5c5bd9948e6e5cc730499eb1 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Sun, 9 Aug 2015 14:48:20 +0200 Subject: [PATCH] MacOSX (un)install: use /usr/local/libexec/... on El Capitan For Mac OS X El Capitan 10.11 it is no more possible to add files in /usr/libexec/SmartCardServices/drivers/. Third party smart card drivers must use /usr/local/libexec/SmartCardServices/drivers/ instead. --- .../MacOSX/MacOSX_install/postinstall | 16 ++++++++++++++-- .../MacOSX/MacOSX_uninstall/postinstall | 18 +++++++++++++++--- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/virtualsmartcard/MacOSX/MacOSX_install/postinstall b/virtualsmartcard/MacOSX/MacOSX_install/postinstall index ba33966..c751511 100755 --- a/virtualsmartcard/MacOSX/MacOSX_install/postinstall +++ b/virtualsmartcard/MacOSX/MacOSX_install/postinstall @@ -1,7 +1,19 @@ #!/bin/bash -mkdir -p /usr/libexec/SmartCardServices/drivers -ln -sf /Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle /usr/libexec/SmartCardServices/drivers +# get the Mac OS X major version. Example: El Capitan 10.11 -> 10011 +MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 * 1000 + $2}') + +if [ 10011 -gt $MAC_VERSION ] +then + # Mac OS X < 10.11 + DROPDIR="/usr/libexec/SmartCardServices/drivers" +else + # Mac OS X >= 10.11 (El Capitan) + DROPDIR="/usr/local/libexec/SmartCardServices/drivers" +fi + +mkdir -p $DROPDIR +ln -sf /Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle $DROPDIR for f in /Library/VirtualSmartCard/bin/* do diff --git a/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall b/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall index d9e2551..a504167 100755 --- a/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall +++ b/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall @@ -1,10 +1,22 @@ #!/bin/bash -if [ -L "/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle" ] +# get the Mac OS X major version. Example: El Capitan 10.11 -> 10011 +MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 * 1000 + $2}') + +if [ 10011 -gt $MAC_VERSION ] then - if [ "$(readlink /usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle)" == "/Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle" ] + # Mac OS X < 10.11 + DROPDIR="/usr/libexec/SmartCardServices/drivers" +else + # Mac OS X >= 10.11 (El Capitan) + DROPDIR="/usr/local/libexec/SmartCardServices/drivers" +fi + +if [ -L "$DROPDIR" ] +then + if [ "$(readlink $DROPDIR)" == "/Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle" ] then - rm /usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle + rm $DROPDIR fi fi