summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Konarev2022-05-05 13:01:49 +0300
committerAlexander Konarev2022-05-05 13:01:49 +0300
commit076b5d24c199ad54575253c2784c64f452614a02 (patch)
tree82ea59389a66595d81d1be25f97f55b1d05d2233
parent8620a9f824a7755c24b6099ed20413c2eea8e0f8 (diff)
downloadaur-076b5d24c199ad54575253c2784c64f452614a02.tar.gz
add version autoupdate
-rwxr-xr-xPKGBUILD20
-rw-r--r--download.py61
2 files changed, 51 insertions, 30 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0d31cdac558a..b29cb3f00fe2 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Alexander Konarev (avkonarev) <AVKonarev@gmail.com>
pkgname=aksusbd-bin
-pkgver=8.41
+pkgver=8.41.1
pkgrel=1
pkgdesc="Sentinel AKSUSB daemon supporting Sentinel HASP, HASP HL, HASP4 and Hardlock keys."
arch=('i686' 'x86_64')
@@ -16,16 +16,22 @@ source=(
"0001-patch.patch"
"download.py")
sha256sums=('6fcb6c4fcba1d01c1b3e68258e95297c323b2cbe8ee75c0a14ac0e9006926312'
- 'ad5b14c3eea8acd0195cd2d610958ada9eda05b152a09cf37fa08b934c70593b')
+ '91cb42b81b77b21f29552da1affa3e4d801fef5cbf2910c96f5a728cded952b3')
makedepends=('libarchive'
'python'
'python-pip'
'firefox'
- 'geckodriver')
+ 'geckodriver'
+ 'tar')
conflicts=('ehaspd' 'aksusbd')
options=('!strip')
+_nver=""
+_nrel=""
+pkgver() {
+ echo $_nver.$_nrel
+}
prepare(){
cd $srcdir
@@ -34,11 +40,11 @@ prepare(){
pip install selenium
python download.py
- tar -xvzf ${_ldk_filename}.tar.gz
- tar -xvzf ${_ldk_filename}/aksusbd-${pkgver}.${pkgrel}.tar.gz
+ _nver=$(cat version.txt| cut -d' ' -f 1)
+ _nrel=$(cat version.txt| cut -d' ' -f 2)
+ tar -xvzf ${_ldk_filename}/aksusbd-${_nver}.${_nrel}.tar.gz
- # Extract RPM into $srcdir:
- bsdtar -xvf ${_pkgname}-${pkgver}.${pkgrel}/pkg/${_pkgname}-${pkgver}-${pkgrel}.${CARCH}.rpm
+ bsdtar -xvf ${_pkgname}-${_nver}.${_nrel}/pkg/${_pkgname}-${_nver}-${_nrel}.${CARCH}.rpm
patch -p1 < 0001-patch.patch
}
diff --git a/download.py b/download.py
index 644aec66637f..d99063e53d2c 100644
--- a/download.py
+++ b/download.py
@@ -1,6 +1,8 @@
import os
import sys
import glob
+import re
+from pathlib import Path
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
@@ -22,31 +24,35 @@ def message(msg):
# sys.stdout.flush()
+_ldk_filename = "Sentinel_LDK_Linux_Run-time_Installer_script.tar.gz"
+
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)
+ target_path = Path(_ldk_filename)
+
+ if not (target_path.exists() and target_path.stat().st_size>0):
+ message(f"waiting for download to start {timeout_start} sec.")
+ while not list(Path('.').glob('*.part')) and timeout_start:
+ sleep(1)
+ timeout_start-=1
+
+ if not list(Path('.').glob('*.part')):
+ raise Exception("Download failed")
+
+ while (tmp_files:=list(Path('.').glob('*.part'))) and timeout_download:
+ filesize = os.path.getsize(tmp_files[0])
+ message(f"Downloading file: {humansize(filesize)} wait {timeout_download} sec.")
+ sleep(1)
+ timeout_download-=1
+
+ if not (target_path.exists() and target_path.stat().st_size>0):
+ raise Exception("Download failed")
- if wait_start >= timeout_start:
- print("Waiting for download interrupted by timeout")
+ message("Downloading complete\n")
-print("Download start..")
+print("Download init..")
options = webdriver.FirefoxOptions()
options.headless = True
options.set_preference("browser.download.folderList", 2)
@@ -64,9 +70,18 @@ try:
browser.find_element(By.LINK_TEXT, "DOW0003342").click()
browser.find_element(By.CSS_SELECTOR, ".btn-success").click()
-except:
- pass
-else:
+
wait_downloading()
+except:
+ exit(1)
+finally:
+ browser.quit()
-browser.quit()
+os.system(f"tar -xvzf {_ldk_filename}")
+for root, dirs, files in os.walk(os.getcwd()):
+ for file in files:
+ if match:=re.match("aksusbd-(\d+\.\d+)\.(\d+)", file):
+ _vers, _rel = match.groups()
+ os.system(f'echo "{_vers} {_rel}">version.txt')
+ exit(0)
+exit(1) \ No newline at end of file