diff options
author | Stoyan Minaev | 2019-10-03 14:56:24 +0300 |
---|---|---|
committer | Stoyan Minaev | 2019-10-03 14:56:24 +0300 |
commit | fd5c706fcdd197ec9f881e519f19a5eb9aa414e3 (patch) | |
tree | 6229bb5a867f468b0f041c66afc0df456003f887 | |
download | aur-fd5c706fcdd197ec9f881e519f19a5eb9aa414e3.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 26 | ||||
-rw-r--r-- | cryptoplugin.install | 209 |
3 files changed, 252 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..76e963b65a4d --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = cryptoplugin + pkgdesc = PrivatBank Crypto Plugin + pkgver = 1.2.2 + pkgrel = 1 + install = cryptoplugin.install + arch = any + license = custom + depends = glibc + depends = gtk2 + depends = pcsclite + source = https://master.dl.sourceforge.net/project/host-privatbank-cryptoplugin/cryptoplugin-1.2.2-all.deb + source = cryptoplugin.install + md5sums = 0d8173b4f5c0c23616d6f4b90ca5b589 + md5sums = dbd0b80e618c8bee39b65c444eb05240 + +pkgname = cryptoplugin + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ddd0a3a7cc3b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,26 @@ +# Author PrivatBank <acsk@privatbank.ua> +# Maintainer Stoyan Minaev <stoyan.minaev@gmail.com> + +pkgname=cryptoplugin +pkgver=1.2.2 +pkgrel=1 +pkgdesc="PrivatBank Crypto Plugin" +license=('custom') +source=( + "https://master.dl.sourceforge.net/project/host-privatbank-cryptoplugin/$pkgname-$pkgver-all.deb" + "cryptoplugin.install" +) +arch=('any') +md5sums=( + '0d8173b4f5c0c23616d6f4b90ca5b589' + 'dbd0b80e618c8bee39b65c444eb05240' +) +depends=(glibc gtk2 pcsclite) +install=cryptoplugin.install + +package() { + cd $srcdir + tar xf data.tar.gz -C $pkgdir/ +} + +#vim: syntax=sh diff --git a/cryptoplugin.install b/cryptoplugin.install new file mode 100644 index 000000000000..246d382d3d20 --- /dev/null +++ b/cryptoplugin.install @@ -0,0 +1,209 @@ +X32_DIR=linux_32 +X64_DIR=linux_64 +LOG_DIR="/etc/cryptoplugin/log-dir" +LOG_FILE="$LOG_DIR/cryptoplugin.log" + +# Install plugin for mozilla +install_mozilla() { + echo "mkdir -p $1" >> $LOG_FILE + mkdir -p $1 + + echo "dd if=$INST_DIR/$LIB_FILE bs=1 count=$SIZE_LIB skip=2 of=$1/libnpcryptoplugin.so" >> $LOG_FILE + dd if=$INST_DIR/$LIB_FILE bs=1 count=$SIZE_LIB skip=2 of=$1/libnpcryptoplugin.so > /dev/null 2>&1 + chmod 0644 $1/libnpcryptoplugin.so + + echo "dd if=$INST_DIR/$BIN_FILE bs=1 count=$SIZE_BIN skip=2 of=$1/nmcryptoplugin" >> $LOG_FILE + dd if=$INST_DIR/$BIN_FILE bs=1 count=$SIZE_BIN skip=2 of=$1/nmcryptoplugin > /dev/null 2>&1 + chmod 0755 $1/nmcryptoplugin +} + +# Install plugin for Google Chrome +install_nmapi() { + echo "mkdir -p $1" >> $LOG_FILE + mkdir -p $1 + + echo "cp -f $INST_DIR/$2 $1" >> $LOG_FILE + cp -f $INST_DIR/$2 $1 +} + +# Remove plugin for mozilla +remove_mozilla() { + echo "Remove mozilla in dir $1" >> $LOG_FILE + + if [ -f "$1/$LIB_FILE" ]; then + echo "rm -f $1/$LIB_FILE" >> $LOG_FILE + rm -f $1/$LIB_FILE + fi + + if [ -f "$1/$BIN_FILE" ]; then + echo "rm -f $1/$BIN_FILE" >> $LOG_FILE + rm -f $1/$BIN_FILE + fi +} + +post_install() { + + # Create log. + mkdir -p $LOG_DIR + + echo "Install cryptoplugin." >> $LOG_FILE + date >> $LOG_FILE + + HOST_CPU=`uname -m` + case $HOST_CPU in + i[3456]86) CPU=x32 ;; + x86_64) CPU=x64 ;; + *) + echo Detected unsupported CPU: $HOST_CPU + print_supported_platform + exit 1 ;; + esac + + echo "Host type: $HOST_CPU." >> $LOG_FILE + + # The file NPAPI plugin + case $CPU in + x32) LIB_FILE=$X32_DIR/libnpcryptoplugin.so ;; + x64) LIB_FILE=$X64_DIR/libnpcryptoplugin.so ;; + esac + echo "Lib NPAPI: $LIB_FILE" >> $LOG_FILE + + # The file NMAPI plugin + case $CPU in + x32) BIN_FILE=$X32_DIR/nmcryptoplugin ;; + x64) BIN_FILE=$X64_DIR/nmcryptoplugin ;; + esac + echo "Bin NMAPI: $BIN_FILE" >> $LOG_FILE + + # The file manifest NMAPI + MANIFEST_FILE="com.privatbank.cryptoplugin.json" + echo "Manifest: $MANIFEST_FILE" >> $LOG_FILE + + # The installation directory + INST_DIR="/usr/lib/cryptoplugin" + echo "Install dir: $INST_DIR" >> $LOG_FILE + + echo "Find and remove local install." >> $LOG_FILE + + find /home/*/.mozilla/ -name nmcryptoplugin >> $LOG_FILE || true + find /home/*/.mozilla/ -name libnpcryptoplugin.so >> $LOG_FILE || true + find /home/*/.mozilla/ -name com.privatbank.cryptoplugin.json >> $LOG_FILE || true + find /home/*/.config/ -name com.privatbank.cryptoplugin.json >> $LOG_FILE || true + + find /home/*/.mozilla/ -name nmcryptoplugin -delete || true + find /home/*/.mozilla/ -name libnpcryptoplugin.so -delete || true + find /home/*/.mozilla/ -name com.privatbank.cryptoplugin.json -delete || true + find /home/*/.config/ -name com.privatbank.cryptoplugin.json -delete || true + + #Policy governs the access confined processes have to files. (Create files) + setsebool -P unconfined_mozilla_plugin_transition 0 > /dev/null 2>&1 || true + + # The installation directory of plugin Google Chrome + CHROME_DIR="/etc/opt/chrome/native-messaging-hosts" + echo "Chrome dir: $CHROME_DIR" >> $LOG_FILE + + # The installation directory of plugin Google Chrome + MOZILLA_DIR="/usr/lib/mozilla/native-messaging-hosts" + echo "Mozilla dir: $MOZILLA_DIR" >> $LOG_FILE + + # The installation directory of plugin Chromium" + CHROMIUM_DIR="/etc/chromium/native-messaging-hosts" + echo "Chromium dir: $CHROMIUM_DIR" >> $LOG_FILE + + SIZE_LIB=$(wc -c $INST_DIR/$LIB_FILE | sed 's/ .*//g') + SIZE_BIN=$(wc -c $INST_DIR/$BIN_FILE | sed 's/ .*//g') + + # Install plugin for mozilla + if [ -d "/usr/lib64" ]; then + install_mozilla "/usr/lib64/mozilla/plugins" + fi + + install_mozilla "/usr/lib/mozilla/plugins" + + # Install plugin for Google Chrome + install_nmapi "$CHROME_DIR" "$MANIFEST_FILE" + install_nmapi "$CHROMIUM_DIR" "$MANIFEST_FILE" + install_nmapi "$MOZILLA_DIR" "mozilla/$MANIFEST_FILE" + + # Install firefox extension + echo "mkdir -p /usr/lib/firefox-addons/extensions" >> $LOG_FILE + mkdir -p /usr/lib/firefox-addons/extensions + echo "cp -f $INST_DIR/mozilla/cryptoplugin_ext_id@privatbank.ua.xpi /usr/lib/firefox-addons/extensions" >> $LOG_FILE + cp -f $INST_DIR/mozilla/cryptoplugin_ext_id@privatbank.ua.xpi /usr/lib/firefox-addons/extensions + + # Kill NM API process + PID_NM=$(echo $(pidof nmcryptoplugin)) + echo "Find pid $PID_NM" >> $LOG_FILE + + if [ "$PID_NM" != "" ]; then + echo "kill $PID_NM" >> $LOG_FILE + kill $PID_NM + fi + + echo "Install cryptoplugin finish." >> $LOG_FILE + +} + +pre_remove() { + + # Create log. + LOG_DIR="/etc/cryptoplugin/log-dir" + LOG_FILE="$LOG_DIR/cryptoplugin.log" + mkdir -p $LOG_DIR + + echo "PostUninstall cryptoplugin." >> $LOG_FILE + date >> $LOG_FILE + + # The file NPAPI plugin + LIB_FILE="libnpcryptoplugin.so" + echo "Lib NPAPI: $LIB_FILE" >> $LOG_FILE + + # The file NMAPI plugin + BIN_FILE="nmcryptoplugin" + echo "Bin NMAPI: $BIN_FILE" >> $LOG_FILE + + # The file manifest NMAPI + MANIFEST_FILE="com.privatbank.cryptoplugin.json" + echo "Manifest: $MANIFEST_FILE" >> $LOG_FILE + + # The installation directory + INST_DIR="/usr/lib/cryptoplugin" + echo "Install dir: $INST_DIR" >> $LOG_FILE + + # The installation directory of plugin Google Chrome + CHROME_DIR="/etc/opt/chrome/native-messaging-hosts" + echo "Chrome dir: $CHROME_DIR" >> $LOG_FILE + + # The installation directory of plugin Mozilla + MOZILLA_DIR="/usr/lib/mozilla/native-messaging-hosts" + echo "Mozilla dir: $MOZILLA_DIR" >> $LOG_FILE + + # The installation directory of plugin Chromium + CHROMIUM_DIR="/etc/chromium/native-messaging-hosts" + echo "Chromium dir: $CHROMIUM_DIR" >> $LOG_FILE + + # The installation directory of plugin Mozilla Firefox + if [ -d "/usr/lib64" ]; then + remove_mozilla "/usr/lib64/mozilla/plugins" + fi + + remove_mozilla "/usr/lib/mozilla/plugins" + + # Remove plugin Google Chrome + echo "rm -f $CHROME_DIR/$MANIFEST_FILE" >> $LOG_FILE + rm -f $CHROME_DIR/$MANIFEST_FILE + + # Remove plugin Mozilla + echo "rm -f $MOZILLA_DIR/$MANIFEST_FILE" >> $LOG_FILE + rm -f $MOZILLA_DIR/$MANIFEST_FILE + + echo "rm -f /usr/lib/firefox-addons/extensions/cryptoplugin_ext_id@privatbank.ua.xpi" >> $LOG_FILE + rm -f /usr/lib/firefox-addons/extensions/cryptoplugin_ext_id@privatbank.ua.xpi + + # Remove plugin Chromium + echo "rm -f $CHROMIUM_DIR/$MANIFEST_FILE" >> $LOG_FILE + rm -f $CHROMIUM_DIR/$MANIFEST_FILE + + echo "Uninstall cryptoplugin finish." >> $LOG_FILE + +} |