From bb2256f43fcd7cd57053854e115c0e3dd9e75d8f Mon Sep 17 00:00:00 2001 From: Karsten Ohme Date: Sat, 26 Sep 2020 01:53:08 +0200 Subject: [PATCH] Doc updates, GPShell version update to 2.0.0 --- README.md | 14 ++++++++++++-- globalplatform/CMakeLists.txt | 2 +- globalplatform/README.md | 11 ++++++++++- gppcscconnectionplugin/README.md | 5 +---- gpshell/CMakeLists.txt | 6 +++--- gpshell/ChangeLog | 4 +++- gpshell/README.md | 5 +---- gpshell/src/gpshell.1.md | 5 ++++- 8 files changed, 35 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 4036469..eae42b9 100644 --- a/README.md +++ b/README.md @@ -36,17 +36,21 @@ Use a suitable packet manager for your OS or install the programs and libraries * [OpenSSL](http://www.openssl.org/) (MacOS is already providing this as LibreSSL) * [zlib](http://www.zlib.net/) (MacOS should already bundle this, for Windows a pre-built version is included) * [cmocka](https://cmocka.org/) for running the tests +* [Pandoc](https://pandoc.org/installing.html) for generating the man page the tests ## Unix -Install the dependencies with `brew` or your distribution's package system: +Install the dependencies with `brew` or your distribution's package manager: ~~~ -brew install openssl doxygen pandoc cmake cmocka zlib graphviz +brew install openssl doxygen pandoc cmake cmocka zlib graphviz pcsc-lite ~~~ ### Compile +__NOTE:__ If using Homebrew in parallel and having not used Homebrew for installing the dependencies but the distribution's package manager then several tools and libraries can be hidden by Homebrew or are not installed in Homebrew (`pkgconfig`, `PC/SC Lite`, `cmocka`, ...). One option is to install these tools and libraries with `brew` or remove the Homebrew path from the `PATH` variable temporarily +(which should be `./home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin`). + ``` cd \path\to\globalplatform cmake . @@ -55,6 +59,12 @@ make doc make install ``` +__NOTE:__ The Homebrew version of pcsc-lite is not a fully functional version. It is missing the USB drivers and is also not started as a system service. The distribution's version of pcscd should be installed. Under Linux the Homebrew version of pcsc-lite must be unlinked: + +~~~ +brew remove --ignore-dependencies pcsc-lite +~~~ + ## MacOS The compilation was executed on a system with [Homebrew](https://brew.sh) as package manager. diff --git a/globalplatform/CMakeLists.txt b/globalplatform/CMakeLists.txt index f6e372a..b74e75d 100644 --- a/globalplatform/CMakeLists.txt +++ b/globalplatform/CMakeLists.txt @@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) cmake_policy(VERSION 2.8) -SET( ${PROJECT_NAME}_CURRENT 6+7 ) +SET( ${PROJECT_NAME}_CURRENT 7 ) SET( ${PROJECT_NAME}_REVISION 0 ) SET( ${PROJECT_NAME}_AGE 0 ) SET(VERSION "${${PROJECT_NAME}_CURRENT}.${${PROJECT_NAME}_REVISION}.${${PROJECT_NAME}_AGE}") diff --git a/globalplatform/README.md b/globalplatform/README.md index b9f947d..cb27004 100644 --- a/globalplatform/README.md +++ b/globalplatform/README.md @@ -28,11 +28,14 @@ Use a suitable packet manager for your OS or install the programs and libraries Install the dependencies with `brew` or your distribution's package system: ~~~ -brew install openssl doxygen pandoc cmake cmocka zlib graphviz +brew install openssl doxygen cmake cmocka zlib graphviz pcsc-lite ~~~ ### Compile +__NOTE:__ If using Homebrew in parallel and having not used Homebrew for installing the dependencies but the distribution's package manager then several tools and libraries can be hidden by Homebrew or are not installed in Homebrew (`pkgconfig`, `PC/SC Lite`, `cmocka`, ...). One option is to install these tools and libraries with `brew` or remove the Homebrew path from the `PATH` variable temporarily +(which should be `./home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin`). + ``` cd \path\to\globalplatform cmake . @@ -41,6 +44,12 @@ make doc make install ``` +__NOTE:__ The Homebrew version of pcsc-lite is not a fully functional version. It is missing the USB drivers and is also not started as a system service. The distribution's version of pcscd should be installed. Under Linux the Homebrew version of pcsc-lite must be unlinked: + +~~~ +brew remove --ignore-dependencies pcsc-lite +~~~ + ### Set Library Search Directory It might be necessary to create a symlink to the correct library search directory, e.g. under Ubuntu 18.04 execute: diff --git a/gppcscconnectionplugin/README.md b/gppcscconnectionplugin/README.md index 8f36e0f..7049348 100644 --- a/gppcscconnectionplugin/README.md +++ b/gppcscconnectionplugin/README.md @@ -16,13 +16,10 @@ Use a suitable packet manager for your OS or install the programs and libraries * Windows: Visual Studio and SDK * [CMake 3.5.0](http://www.cmake.org/) or higher is needed * [PC/SC Lite](https://pcsclite.apdu.fr) (only for UNIXes, Windows and MacOS is already including this) -* [GlobalPlatform](http://sourceforge.net/projects/globalplatform/) +* [GlobalPlatform](https://github.com/kaoh/globalplatform) ## Unix/MacOS -You must have CMake installed. http://www.cmake.org/ -This can be obtained in standard Unix distributions over the integrated package system. - On a command line type: ``` diff --git a/gpshell/CMakeLists.txt b/gpshell/CMakeLists.txt index f627340..2daada4 100644 --- a/gpshell/CMakeLists.txt +++ b/gpshell/CMakeLists.txt @@ -3,9 +3,9 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) cmake_policy(VERSION 2.8) -SET( ${PROJECT_NAME}_CURRENT 1 ) -SET( ${PROJECT_NAME}_REVISION 4 ) -SET( ${PROJECT_NAME}_AGE 4+5 ) +SET( ${PROJECT_NAME}_CURRENT 2 ) +SET( ${PROJECT_NAME}_REVISION 0 ) +SET( ${PROJECT_NAME}_AGE 0 ) SET(VERSION "${${PROJECT_NAME}_CURRENT}.${${PROJECT_NAME}_REVISION}.${${PROJECT_NAME}_AGE}") SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules/;${PROJECT_SOURCE_DIR}/../globalplatform/cmake_modules/) diff --git a/gpshell/ChangeLog b/gpshell/ChangeLog index 2ab872d..0dc3620 100644 --- a/gpshell/ChangeLog +++ b/gpshell/ChangeLog @@ -5,11 +5,13 @@ SCP03 supported getting key information templates getting extended card resources information -06/01/2020 1.4.5 Karsten Ohme +09/26/2020 2.0.0 Karsten Ohme CMake Build System SCP03 supported + SCP03 AES-192 and AES-256 keys supported getting key information templates getting extended card resources information + noStop option added Added LGPL OpenSSL Exception Compiled against GlobalPlatform 7.0.0 diff --git a/gpshell/README.md b/gpshell/README.md index 4044f74..f593064 100644 --- a/gpshell/README.md +++ b/gpshell/README.md @@ -50,13 +50,10 @@ Use a suitable packet manager for your OS or install the programs and libraries * [CMake 3.5.0](http://www.cmake.org/) or higher is needed * [PC/SC Lite](https://pcsclite.apdu.fr) (only for UNIXes, Windows and MacOS is already including this) * [zlib](http://www.zlib.net/) (MacOS should already bundle this, for Windows a pre-built version is included) -* [GlobalPlatform](http://sourceforge.net/projects/globalplatform/) +* [GlobalPlatform](https://github.com/kaoh/globalplatform) ## Unix/MacOS -You must have CMake installed. http://www.cmake.org/ -This can be obtained in standard Unix distributions over the integrated package system. - On a command line type: ``` diff --git a/gpshell/src/gpshell.1.md b/gpshell/src/gpshell.1.md index aa3bd19..69d11d1 100644 --- a/gpshell/src/gpshell.1.md +++ b/gpshell/src/gpshell.1.md @@ -1,4 +1,4 @@ -% GPSHELL(1) 1.4.5 | GPShell Documentation +% GPSHELL(1) 2.0.0 | GPShell Documentation # NAME @@ -17,6 +17,9 @@ Additional key management commands are provided. The most common way to use gpshell is a script file. But it is also possible to read the commands from stdin if no script file is provided. +Reading the commands from stdin allows to feed in the commands dynamically and use conditionals when using the [Expect](https://en.wikipedia.org/wiki/Expect) pattern. Tools +are available for a variety of script languages, shells and programming languages. Example are to support environment variables and handle results and output conditionally. + There are several `txt` example scripts provided which gets installed into `usr/local/share/docs` or `/home/linuxbrew/.linuxbrew/opt/globalplatform/share/doc/gpshell1/` or can be found [online](https://github.com/kaoh/globalplatform/tree/master/gpshell). # COMMANDS