From bf9bc6a5476fbd1e2755a533d830a170f0c0db47 Mon Sep 17 00:00:00 2001 From: Dusan Klinec Date: Tue, 9 Feb 2021 18:45:38 +0100 Subject: [PATCH] fix osx package build --- virtualsmartcard/MacOSX/MacOSX_install/postinstall | 2 +- .../MacOSX/MacOSX_uninstall/postinstall | 2 +- virtualsmartcard/MacOSX/Makefile.am | 13 +++++++------ virtualsmartcard/configure.ac | 13 ++++++++++++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/virtualsmartcard/MacOSX/MacOSX_install/postinstall b/virtualsmartcard/MacOSX/MacOSX_install/postinstall index c751511..fc5ef00 100755 --- a/virtualsmartcard/MacOSX/MacOSX_install/postinstall +++ b/virtualsmartcard/MacOSX/MacOSX_install/postinstall @@ -13,7 +13,7 @@ else fi mkdir -p $DROPDIR -ln -sf /Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle $DROPDIR +ln -sf "/Library/VirtualSmartCard/${DROPDIR}/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 a504167..f204996 100755 --- a/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall +++ b/virtualsmartcard/MacOSX/MacOSX_uninstall/postinstall @@ -14,7 +14,7 @@ fi if [ -L "$DROPDIR" ] then - if [ "$(readlink $DROPDIR)" == "/Library/VirtualSmartCard/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle" ] + if [ "$(readlink $DROPDIR)" == "/Library/VirtualSmartCard${DROPDIR}/ifd-vpcd.bundle" ] then rm $DROPDIR fi diff --git a/virtualsmartcard/MacOSX/Makefile.am b/virtualsmartcard/MacOSX/Makefile.am index 8021519..846375e 100644 --- a/virtualsmartcard/MacOSX/Makefile.am +++ b/virtualsmartcard/MacOSX/Makefile.am @@ -13,20 +13,21 @@ osx: $(OPENPACE_MAKEFILE) $(MAKE) -C $(OPENPACE) osx rm -rf $(OSX_TARGETDIR) dmg $(top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_osx.dmg @echo Configuring virtualsmartcard for IFD bundle - cd $(top_builddir) && ./configure --prefix=/Library/VirtualSmartCard \ + cd $(top_builddir) && ./configure --enable-infoplist --prefix=/Library/VirtualSmartCard \ CFLAGS="-arch x86_64" \ - --enable-serialdropdir=/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents/MacOS \ - --enable-serialconfdir=/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents + --enable-serialdropdir=/usr$(OSX_SERIAL_LOCAL_PREFIX)/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents/MacOS \ + --enable-serialconfdir=/usr$(OSX_SERIAL_LOCAL_PREFIX)/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents @echo Compiling virtualsmartcard make -C $(top_builddir) clean install DESTDIR=$(OSX_TARGETDIR) @echo Configuring virtualsmartcard for builtin libpcsclite - cd $(top_builddir) && ./configure --prefix=/Library/VirtualSmartCard \ + cd $(top_builddir) && ./configure --enable-infoplist --prefix=/Library/VirtualSmartCard \ CFLAGS="-arch x86_64" \ - --enable-serialdropdir=/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents/MacOS \ - --enable-serialconfdir=/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents \ + --enable-serialdropdir=/usr$(OSX_SERIAL_LOCAL_PREFIX)/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents/MacOS \ + --enable-serialconfdir=/usr$(OSX_SERIAL_LOCAL_PREFIX)/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Contents \ --enable-libpcsclite @echo Compiling virtualsmartcard make -C $(top_builddir) clean install DESTDIR=$(OSX_TARGETDIR) + mv $(OSX_TARGETDIR)/usr $(OSX_TARGETDIR)/Library/VirtualSmartCard/usr pkgbuild --root $(OSX_TARGETDIR) --scripts MacOSX_install --identifier com.vsmartcard.virtualsmartcard.mac --version $(PACKAGE_VERSION) --install-location / VirtualSmartCard-$(PACKAGE_VERSION)_install.pkg pkgbuild --nopayload --identifier com.vsmartcard.virtualsmartcard.mac.uninstall --scripts MacOSX_uninstall Uninstall_VirtualSmartCard.pkg mkdir -p dmg diff --git a/virtualsmartcard/configure.ac b/virtualsmartcard/configure.ac index c00ba9f..c5f530f 100644 --- a/virtualsmartcard/configure.ac +++ b/virtualsmartcard/configure.ac @@ -28,6 +28,12 @@ case "${host}" in *-cygwin*) WIN32="yes" ;; + *-*-darwin*) + OSX="yes" + OSX_VERSION="$(sw_vers -productVersion | awk -F '.' '{print $1 * 1000 + $2}')" + OSX_GE_CAPITAN=$(test "${OSX_VERSION}" -gt 10011 && echo "yes") + OSX_SERIAL_LOCAL_PREFIX=$(test "${OSX_GE_CAPITAN}" = "yes" && echo "/local") + ;; esac AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) @@ -62,8 +68,12 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) # Checks for libraries. +# --enable-infoplist +AC_ARG_ENABLE(infoplist, + AC_HELP_STRING([--enable-infoplist],[Builds Info.plist for OSX @<:@default=no@:>@]), + [infoplist="yes"], [infoplist=no]) + # --enable-libpcsclite -infoplist=no AC_ARG_ENABLE(libpcsclite, AC_HELP_STRING([--enable-libpcsclite],[Build a lightweight version of libpcsclite, conflicts with PCSC-Lite @<:@default=no@:>@]), @@ -268,6 +278,7 @@ AC_SUBST(DYN_LIB_EXT) AC_SUBST(LIB_PREFIX) AC_SUBST(serialdropdir) AC_SUBST(serialconfdir) +AC_SUBST(OSX_SERIAL_LOCAL_PREFIX) case "$host" in *-*-darwin*) BUNDLE_HOST="MacOS"