diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | fetch_uos_wechat_release.py | 73 |
3 files changed, 57 insertions, 48 deletions
@@ -1,7 +1,7 @@ pkgbase = wechat-universal-privileged pkgdesc = WeChat (Universal) with full access to the system - pkgver = 1.0.0.238 - pkgrel = 10 + pkgver = 1.0.0.241 + pkgrel = 1 url = https://weixin.qq.com arch = x86_64 arch = aarch64 @@ -29,9 +29,9 @@ pkgbase = wechat-universal-privileged provides = wechat-universal conflicts = wechat-universal conflicts = wechat-universal-bwrap - noextract = wechat-universal_1.0.0.238_x86_64.deb - noextract = wechat-universal_1.0.0.238_aarch64.deb - noextract = wechat-universal_1.0.0.238_loong64.deb + noextract = wechat-universal_1.0.0.241_x86_64.deb + noextract = wechat-universal_1.0.0.241_aarch64.deb + noextract = wechat-universal_1.0.0.241_loong64.deb options = !strip options = !debug options = emptydirs @@ -41,11 +41,11 @@ pkgbase = wechat-universal-privileged sha256sums = 53760079c1a5b58f2fa3d5effe1ed35239590b288841d812229ef4e55b2dbd69 sha256sums = 730c1e30d92e935d7bcbd4a98c8453f759fdcfd2df3457d58d5333d6a25dadda sha256sums = b783b7b0035efb5a0fcb4ddba6446f645a4911e4a9f71475e408a5c87ef04c30 - source_x86_64 = wechat-universal_1.0.0.238_x86_64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.238_amd64.deb - sha256sums_x86_64 = 371026679dba25a033023b4077dc527059d906ec03ea2db05f6fc012ab40c96b - source_aarch64 = wechat-universal_1.0.0.238_aarch64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.238_arm64.deb - sha256sums_aarch64 = debbba2b20585e2b80959b96872cafb500966ce261198ce47abdc54b4efcf111 - source_loong64 = wechat-universal_1.0.0.238_loong64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.238_loongarch64.deb - sha256sums_loong64 = 8ae25e2cc283eaff09f222b0dfe73238337b3d942b2e98bda74fff9a4234ba31 + source_x86_64 = wechat-universal_1.0.0.241_x86_64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.241_amd64.deb + sha256sums_x86_64 = 2768a97376f2073bd515ef81d64fa7b20668fa6c11a4177a2ed17fc9b03398a3 + source_aarch64 = wechat-universal_1.0.0.241_aarch64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.241_arm64.deb + sha256sums_aarch64 = e4a0387a4855757a229ffed586e31b1bc5c8971d30eef1c079d6757e704e058a + source_loong64 = wechat-universal_1.0.0.241_loong64.deb::https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.241_loongarch64.deb + sha256sums_loong64 = 90c3276fd8e338eb50162bcb0eef9a41cb553187851d0d5f360e3d010138c8b9 pkgname = wechat-universal-privileged @@ -2,8 +2,8 @@ _pkgname=wechat-universal pkgname=${_pkgname}-privileged -pkgver=1.0.0.238 -pkgrel=10 +pkgver=1.0.0.241 +pkgrel=1 pkgdesc="WeChat (Universal) with full access to the system" arch=('x86_64' 'aarch64' 'loong64') url="https://weixin.qq.com" @@ -62,13 +62,13 @@ sha256sums=( ) sha256sums_x86_64=( - '371026679dba25a033023b4077dc527059d906ec03ea2db05f6fc012ab40c96b' + '2768a97376f2073bd515ef81d64fa7b20668fa6c11a4177a2ed17fc9b03398a3' ) sha256sums_aarch64=( - 'debbba2b20585e2b80959b96872cafb500966ce261198ce47abdc54b4efcf111' + 'e4a0387a4855757a229ffed586e31b1bc5c8971d30eef1c079d6757e704e058a' ) sha256sums_loong64=( - '8ae25e2cc283eaff09f222b0dfe73238337b3d942b2e98bda74fff9a4234ba31' + '90c3276fd8e338eb50162bcb0eef9a41cb553187851d0d5f360e3d010138c8b9' ) package() { diff --git a/fetch_uos_wechat_release.py b/fetch_uos_wechat_release.py index e98b12d022e9..2d807f54c391 100644..100755 --- a/fetch_uos_wechat_release.py +++ b/fetch_uos_wechat_release.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 # Fetcher for UOS com.tencent.wechat release # Copyright (C) 2024-present Guoxin "7Ji" Pu @@ -31,6 +32,7 @@ import zlib import hashlib import os + class Architecture: arch_uos: str arch_archlinux: str @@ -53,39 +55,43 @@ class Architecture: self.md5 = None def fetch(self, url_appstore: str, session: requests.Session): - print(f"=> Fetching for architecture '{self.arch_uos}' (Uniontech OS) / '{self.arch_archlinux}' (Arch Linux)") - url = f'{url_appstore}/dists/eagle/appstore/binary-{self.arch_uos}/Packages.gz' - response = session.get(url, stream = True) + print( + f"=> Fetching for architecture '{self.arch_uos}' (Uniontech OS) / '{self.arch_archlinux}' (Arch Linux)" + ) + url = f"{url_appstore}/dists/eagle/appstore/binary-{self.arch_uos}/Packages.gz" + response = session.get(url, stream=True) if response.status_code != 200: - raise Exception(f'Request code is {response.status_code}') - decompressor = zlib.decompressobj(wbits = 31) + raise Exception(f"Request code is {response.status_code}") + decompressor = zlib.decompressobj(wbits=31) data = bytearray() for chunk in response.iter_content(0x100000): data += decompressor.decompress(chunk) data += decompressor.flush() - + wechat = None - for package in data.split(b'\n\n'): - if package.startswith(b'Package: com.tencent.wechat\n'): - wechat=package + for package in data.split(b"\n\n"): + if package.startswith(b"Package: com.tencent.wechat\n"): + wechat = package break if wechat is None: - raise Exception(f"Failed to find package com.tencent.wechat for arch '{self.arch_uos}'") + raise Exception( + f"Failed to find package com.tencent.wechat for arch '{self.arch_uos}'" + ) filename = None - for line in package.split(b'\n'): - if line.startswith(b'Version: '): - self.version = line[9:].decode('utf-8') - elif line.startswith(b'Filename: '): - filename = line[10:].decode('utf-8') - elif line.startswith(b'Size: '): + for line in package.split(b"\n"): + if line.startswith(b"Version: "): + self.version = line[9:].decode("utf-8") + elif line.startswith(b"Filename: "): + filename = line[10:].decode("utf-8") + elif line.startswith(b"Size: "): self.size = int(line[6:]) - elif line.startswith(b'SHA256: '): - self.sha256 = line[8:].decode('utf-8') - elif line.startswith(b'SHA1: '): - self.sha1 = line[6:].decode('utf-8') - elif line.startswith(b'MD5sum: '): - self.md5 = line[8:].decode('utf-8') + elif line.startswith(b"SHA256: "): + self.sha256 = line[8:].decode("utf-8") + elif line.startswith(b"SHA1: "): + self.sha1 = line[6:].decode("utf-8") + elif line.startswith(b"MD5sum: "): + self.md5 = line[8:].decode("utf-8") if self.version is None: raise Exception("Failed to get version") if filename is None: @@ -94,9 +100,11 @@ class Architecture: self.file = f"wechat-universal_{self.version}_{self.arch_archlinux}.deb" if self.size is None: raise Exception("Failed to get size") - + def cache(self, session: requests.Session): - print(f"=> Caching for architecture '{self.arch_uos}' (Uniontech OS) / '{self.arch_archlinux}' (Arch Linux)") + print( + f"=> Caching for architecture '{self.arch_uos}' (Uniontech OS) / '{self.arch_archlinux}' (Arch Linux)" + ) if os.path.exists(self.file): with open(self.file, "rb") as f: data = f.read() @@ -121,7 +129,7 @@ class Architecture: response = session.get(self.url) if response.status_code != 200: - raise Exception(f'Request code is {response.status_code}') + raise Exception(f"Request code is {response.status_code}") sha256 = hashlib.sha256(response.content).hexdigest() sha1 = hashlib.sha1(response.content).hexdigest() md5 = hashlib.md5(response.content).hexdigest() @@ -143,21 +151,22 @@ class Architecture: f.write(response.content) -architectures=( - Architecture('amd64', 'x86_64'), - Architecture('arm64', 'aarch64'), - Architecture('loongarch64', 'loong64') +architectures = ( + Architecture("amd64", "x86_64"), + Architecture("arm64", "aarch64"), + Architecture("loongarch64", "loong64"), ) - -url_appstore='https://home-store-packages.uniontech.com/appstore' +url_appstore = "https://home-store-packages.uniontech.com/appstore" session = requests.Session() for architecture in architectures: architecture.fetch(url_appstore, session) for architecture in architectures: - print(f"source_{architecture.arch_archlinux}=(\n\t'{architecture.file}::{architecture.url}'\n)") + print( + f"source_{architecture.arch_archlinux}=(\n\t'{architecture.file}::{architecture.url}'\n)" + ) for architecture in architectures: print(f"sha256sums_{architecture.arch_archlinux}=(\n\t'{architecture.sha256}'\n)") for architecture in architectures: |