summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonarev Alexander2022-03-13 19:49:17 +0300
committerKonarev Alexander2022-03-13 19:49:17 +0300
commit5739ca849c1ba9fa462896b79f28a6175d6aeb5d (patch)
tree790ed5074e212b827e01597789d752e6462bcce1
downloadaur-5739ca849c1ba9fa462896b79f28a6175d6aeb5d.tar.gz
First commit
-rwxr-xr-x.SRCINFO22
-rw-r--r--0001-patch.patch81
-rwxr-xr-xPKGBUILD69
-rw-r--r--download.py68
4 files changed, 240 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100755
index 000000000000..24ae9a720ca0
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = aksusbd-bin
+ pkgdesc = Sentinel AKSUSB daemon supporting Sentinel HASP, HASP HL, HASP4 and Hardlock keys.
+ pkgver = 8.31
+ pkgrel = 1
+ url = https://supportportal.thalesgroup.com
+ arch = i686
+ arch = x86_64
+ license = custom
+ makedepends = libarchive
+ makedepends = python
+ makedepends = python-pip
+ makedepends = firefox
+ makedepends = geckodriver
+ conflicts = ehaspd
+ conflicts = aksusbd
+ options = !strip
+ source = 0001-patch.patch
+ source = download.py
+ sha256sums = 6fcb6c4fcba1d01c1b3e68258e95297c323b2cbe8ee75c0a14ac0e9006926312
+ sha256sums = a3f8107436cb6242b040d2c761653685770bbbdb21e99f76daeb3629e2b95757
+
+pkgname = aksusbd-bin
diff --git a/0001-patch.patch b/0001-patch.patch
new file mode 100644
index 000000000000..b7bbaffe8990
--- /dev/null
+++ b/0001-patch.patch
@@ -0,0 +1,81 @@
+From f32bd3f04ae2ca0952d7d4912407e99f06ba608f Mon Sep 17 00:00:00 2001
+From: Konarev Alexander <avkonarev@gmail.com>
+Date: Sun, 13 Mar 2022 13:37:24 +0300
+Subject: [PATCH] patch
+
+---
+ etc/udev/rules.d/80-hasp.rules | 4 ++--
+ var/hasplm/init/aksusbd.service | 2 +-
+ var/hasplm/init/aksusbd_x86_64.service | 2 +-
+ var/hasplm/init/hasplmd.service | 2 +-
+ var/hasplm/init/hasplmd_x86_64.service | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/etc/udev/rules.d/80-hasp.rules b/etc/udev/rules.d/80-hasp.rules
+index b929049..8e81959 100644
+--- a/etc/udev/rules.d/80-hasp.rules
++++ b/etc/udev/rules.d/80-hasp.rules
+@@ -1,6 +1,6 @@
+ # HASP rules
+-ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0001", MODE="664", ENV{HASP}="1", SYMLINK+="aks/hasp/%k", RUN+="/usr/sbin/aksusbd_x86_64 -c $root/aks/hasp/$kernel"
+-ACTION=="remove", ENV{HASP}=="1", RUN+="/usr/sbin/aksusbd_x86_64 -r $root/aks/hasp/$kernel"
++ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0001", MODE="664", ENV{HASP}="1", SYMLINK+="aks/hasp/%k", RUN+="/usr/bin/aksusbd_x86_64 -c $root/aks/hasp/$kernel"
++ACTION=="remove", ENV{HASP}=="1", RUN+="/usr/bin/aksusbd_x86_64 -r $root/aks/hasp/$kernel"
+
+ # SENTINEL rules
+ ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0003", KERNEL!="hiddev*", MODE="666", GROUP="plugdev", ENV{SENTINELHID}="1", SYMLINK+="aks/sentinelhid/%k"
+diff --git a/var/hasplm/init/aksusbd.service b/var/hasplm/init/aksusbd.service
+index 14e30da..93cebd1 100644
+--- a/var/hasplm/init/aksusbd.service
++++ b/var/hasplm/init/aksusbd.service
+@@ -5,7 +5,7 @@ Requires=hasplmd.service
+
+ [Service]
+ Type=forking
+-ExecStart=/usr/sbin/aksusbd
++ExecStart=/usr/bin/aksusbd
+
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/var/hasplm/init/aksusbd_x86_64.service b/var/hasplm/init/aksusbd_x86_64.service
+index 0298baf..2c4d4b4 100644
+--- a/var/hasplm/init/aksusbd_x86_64.service
++++ b/var/hasplm/init/aksusbd_x86_64.service
+@@ -5,7 +5,7 @@ Requires=hasplmd.service
+
+ [Service]
+ Type=forking
+-ExecStart=/usr/sbin/aksusbd_x86_64
++ExecStart=/usr/bin/aksusbd_x86_64
+
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/var/hasplm/init/hasplmd.service b/var/hasplm/init/hasplmd.service
+index 7564492..4de88c0 100644
+--- a/var/hasplm/init/hasplmd.service
++++ b/var/hasplm/init/hasplmd.service
+@@ -5,7 +5,7 @@ After=aksusbd.service
+
+ [Service]
+ Type=forking
+-ExecStart=/usr/sbin/hasplmd -s
++ExecStart=/usr/bin/hasplmd -s
+
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/var/hasplm/init/hasplmd_x86_64.service b/var/hasplm/init/hasplmd_x86_64.service
+index 9961c5c..78900c4 100644
+--- a/var/hasplm/init/hasplmd_x86_64.service
++++ b/var/hasplm/init/hasplmd_x86_64.service
+@@ -5,7 +5,7 @@ After=aksusbd.service
+
+ [Service]
+ Type=forking
+-ExecStart=/usr/sbin/hasplmd_x86_64 -s
++ExecStart=/usr/bin/hasplmd_x86_64 -s
+
+ [Install]
+ WantedBy=multi-user.target
+--
+2.35.1
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100755
index 000000000000..bcf144ea26b1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer: Alexander Konarev (avkonarev) <AVKonarev@gmail.com>
+
+pkgname=aksusbd-bin
+pkgver=8.31
+pkgrel=1
+pkgdesc="Sentinel AKSUSB daemon supporting Sentinel HASP, HASP HL, HASP4 and Hardlock keys."
+arch=('i686' 'x86_64')
+url="https://supportportal.thalesgroup.com"
+license=('custom')
+
+_pkgname=aksusbd
+_ldk_filename="Sentinel_LDK_Linux_Run-time_Installer_script"
+
+source=(
+ "0001-patch.patch"
+ "download.py")
+sha256sums=('6fcb6c4fcba1d01c1b3e68258e95297c323b2cbe8ee75c0a14ac0e9006926312'
+ 'a3f8107436cb6242b040d2c761653685770bbbdb21e99f76daeb3629e2b95757')
+makedepends=('libarchive'
+ 'python'
+ 'python-pip'
+ 'firefox'
+ 'geckodriver')
+
+conflicts=('ehaspd' 'aksusbd')
+options=('!strip')
+
+
+prepare(){
+ cd $srcdir
+ python -m venv venv
+ pip install selenium
+ python download.py
+
+ tar -xvzf ${_ldk_filename}.tar.gz
+ tar -xvzf ${_ldk_filename}/aksusbd-${pkgver}.${pkgrel}.tar.gz
+
+ # Extract RPM into $srcdir:
+ bsdtar -xvf ${_pkgname}-${pkgver}.${pkgrel}/pkg/${_pkgname}-${pkgver}-${pkgrel}.${CARCH}.rpm
+
+ patch -p1 < 0001-patch.patch
+}
+
+package() {
+ cd $srcdir
+ if [ "${CARCH}" == "x86_64" ]; then
+ arch_suffix=_${CARCH}
+ fi
+
+ # Binaries:
+ install -dm755 ${pkgdir}/usr/bin
+ install -Dm755 usr/sbin/{aksusbd,hasplmd}${arch_suffix} ${pkgdir}/usr/bin/
+
+ # udev rules:
+ install -dm755 ${pkgdir}/usr/lib/udev/rules.d
+ install -m644 etc/udev/rules.d/* ${pkgdir}/usr/lib/udev/rules.d/
+
+ # systemd service
+ install -dm755 ${pkgdir}/usr/lib/systemd/system/
+ install -m644 var/hasplm/init/aksusbd${arch_suffix}.service ${pkgdir}/usr/lib/systemd/system/aksusbd.service
+ install -m644 var/hasplm/init/hasplmd${arch_suffix}.service ${pkgdir}/usr/lib/systemd/system/hasplmd.service
+
+ # Readme.html:
+ install -dm755 ${pkgdir}/usr/share/${_pkgname}/Readme
+ cp -R ${_ldk_filename}/Readme_HTML5/* ${pkgdir}/usr/share/${_pkgname}/Readme/
+ chmod -R 644 ${pkgdir}/usr/share/${_pkgname}/Readme/*
+
+}
diff --git a/download.py b/download.py
new file mode 100644
index 000000000000..3ba9b7a087b4
--- /dev/null
+++ b/download.py
@@ -0,0 +1,68 @@
+import os
+import sys
+import glob
+from time import sleep
+from selenium import webdriver
+from selenium.webdriver.common.by import By
+
+
+def humansize(nbytes):
+ suffixes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']
+ i = 0
+ while nbytes >= 1024 and i < len(suffixes)-1:
+ nbytes /= 1024.
+ i += 1
+ f = ('%.2f' % nbytes).rstrip('0').rstrip('.')
+ return '%s %s' % (f, suffixes[i])
+
+
+def message(msg):
+ bar = "\u2588"
+ sys.stdout.write(bar+"\r"+msg)
+ # sys.stdout.flush()
+
+
+def wait_downloading():
+ timeout_start = 60
+ timeout_download = 60*5
+ for wait_start in range(timeout_start-1):
+ if len(glob.glob(f'{os.getcwd()}/*.part')) > 0:
+ for wait_download in range(timeout_download-1):
+ tmpfiles = glob.glob(f'{os.getcwd()}/*.part')
+ if len(tmpfiles) > 0:
+ filesize = os.path.getsize(tmpfiles[0])
+ message(f"Downloading file: {humansize(filesize)}")
+ else:
+ print("Loading is complete")
+ return
+ sleep(1)
+ else:
+ if wait_download >= timeout_download:
+ print("Download interrupted by timeout")
+ return
+ sleep(1)
+
+ if wait_start >= timeout_start:
+ print("Waiting for download interrupted by timeout")
+
+
+options = webdriver.FirefoxOptions()
+options.headless = True
+options.set_preference("browser.download.folderList", 2)
+options.set_preference("browser.download.manager.showWhenStarting", False)
+options.set_preference("browser.download.dir", os.getcwd())
+options.set_preference(
+ "browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")
+
+browser = webdriver.Firefox(options=options)
+browser.implicitly_wait(60)
+
+browser.get(
+ 'https://supportportal.gemalto.com/csm?id=kb_article_view&sysparm_article=KB0018315#')
+browser.find_element(By.LINK_TEXT, "DOW0003342").click()
+sleep(10)
+browser.find_element(By.CSS_SELECTOR, ".btn-success").click()
+
+wait_downloading()
+
+browser.quit()