diff --git a/npa/cross/MacOSX_install/postinstall b/npa/cross/MacOSX_install/postinstall new file mode 100755 index 0000000..a1b7923 --- /dev/null +++ b/npa/cross/MacOSX_install/postinstall @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ -e "/Library/OpenSC/etc/opensc.conf" ] +then + mv /Library/OpenSC/etc/opensc.conf /Library/OpenSC/etc/opensc.conf.orig +fi +mkdir -p /Library/OpenSC/etc +ln -sf /Library/nPA/etc/opensc.conf /Library/OpenSC/etc + +for f in /Library/nPA/bin/* +do + ln -sf $f /usr/local/bin +done diff --git a/npa/cross/MacOSX_uninstall/postinstall b/npa/cross/MacOSX_uninstall/postinstall new file mode 100755 index 0000000..f17024f --- /dev/null +++ b/npa/cross/MacOSX_uninstall/postinstall @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ -L "/Library/OpenSC/etc/opensc.conf" ] +then + if [ "$(readlink /Library/OpenSC/etc/opensc.conf)" == "/Library/nPA/etc/opensc.conf" ] + then + rm /Library/OpenSC/etc/opensc.conf + mv /Library/OpenSC/etc/opensc.conf.orig /Library/OpenSC/etc/opensc.conf + fi +fi + +# Remove symlinks to commands +for file in /Library/nPA/bin/*; do + test -L "/usr/local/bin/$(basename $file)" && rm -f "/usr/local/bin/$(basename $file)" +done + +# Remove installed files +rm -rf /Library/nPA + +echo "nPA Smart Card Library has been removed from your system. See you again!" diff --git a/npa/cross/Makefile.am b/npa/cross/Makefile.am index 541b2f8..7391e9b 100644 --- a/npa/cross/Makefile.am +++ b/npa/cross/Makefile.am @@ -12,7 +12,7 @@ OSX_TARGETDIR = $(abs_top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_osx osx: $(OPENPACE_MAKEFILE) $(OPENSC_CONFIGURE) @echo Compiling OpenPACE $(MAKE) -C $(OPENPACE) osx - rm -rf $(OSX_TARGETDIR) + rm -rf $(OSX_TARGETDIR) dmg $(top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_osx.dmg cp -r $(OPENPACE)/*_osx $(OSX_TARGETDIR) @echo Configuring OpenSC grep _sc_card_add_ec_alg $(OPENSC)/src/libopensc/libopensc.exports || echo _sc_card_add_ec_alg >> $(OPENSC)/src/libopensc/libopensc.exports @@ -21,19 +21,26 @@ osx: $(OPENPACE_MAKEFILE) $(OPENSC_CONFIGURE) grep sc_apdu_get_octets $(OPENSC)/src/libopensc/libopensc.exports || echo sc_apdu_get_octets >> $(OPENSC)/src/libopensc/libopensc.exports grep sc_pkcs15_pincache_add $(OPENSC)/src/libopensc/libopensc.exports || echo sc_pkcs15_pincache_add >> $(OPENSC)/src/libopensc/libopensc.exports @echo Compiling OpenSC - cd $(OPENSC) && OPENSSL_LIBS="-L$(OSX_TARGETDIR)/lib -lcrypto" OPENSSL_CFLAGS="-I$(OSX_TARGETDIR)/include" MacOSX/build - cp $(OPENSC)/*.pkg $(OSX_TARGETDIR) + cd $(OPENSC) && OPENSSL_LIBS="-L$(OSX_TARGETDIR)/Library/OpenPACE/lib -lcrypto" OPENSSL_CFLAGS="-I$(OSX_TARGETDIR)/Library/OpenPACE/include" MacOSX/build @echo Configuring libnpa - cd $(top_builddir) && ./configure --prefix=/usr/local \ + cd $(top_builddir) && ./configure --prefix=/Library/nPA \ PKG_CONFIG_SYSROOT_DIR=$(OSX_TARGETDIR) \ - PKG_CONFIG_LIBDIR=$(OSX_TARGETDIR)/usr/local/lib/pkgconfig \ - PKG_CONFIG_PATH=$(OSX_TARGETDIR)/usr/local/lib/pkgconfig \ + PKG_CONFIG_PATH=$(OSX_TARGETDIR)/Library/OpenPACE/lib/pkgconfig \ OPENSC_LIBS="-L$(OPENSC)/target/Library/OpenSC/lib -lopensc" \ CFLAGS="-arch i386 -arch x86_64" @echo Compiling libnpa make -C $(top_builddir) install DESTDIR=$(OSX_TARGETDIR) - cp $(top_builddir)/opensc.conf $(OSX_TARGETDIR) - hdiutil create -srcfolder $(OSX_TARGETDIR) -volname "$(PACKAGE_STRING) for Mac OS X" $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_osx.dmg + mkdir -p $(OSX_TARGETDIR)/Library/nPA/etc + cp $(top_builddir)/opensc.conf $(OSX_TARGETDIR)/Library/nPA/etc/opensc.conf + rm -rf $(OSX_TARGETDIR)/Library/OpenPACE + pkgbuild --root $(OSX_TARGETDIR) --scripts MacOSX_install --identifier com.vsmartcard.npa.mac --version $(PACKAGE_VERSION) --install-location / nPA-$(PACKAGE_VERSION)_install.pkg + pkgbuild --nopayload --identifier com.vsmartcard.npa.mac.uninstall --scripts MacOSX_uninstall Uninstall_nPA.pkg + mkdir -p dmg + cp *.pkg dmg + cp $(OPENPACE)/cross/*.pkg dmg + cp $(OPENSC)/OpenSC-*.pkg dmg + cp $(OPENSC)/Uninstall_OpenSC.pkg dmg + hdiutil create -srcfolder dmg -volname "$(PACKAGE_STRING) for Mac OS X" $(top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_osx.dmg