mirror of
https://github.com/wcbing/wcbing-apt-repo.git
synced 2025-12-28 18:18:31 +08:00
fix: split packages
This commit is contained in:
parent
010535786f
commit
e0bdc4f0c2
@ -68,9 +68,9 @@ def get_remote_packages(repo_url, file_path):
|
|||||||
|
|
||||||
|
|
||||||
def get_latest(deb_packages):
|
def get_latest(deb_packages):
|
||||||
# divide the information of each packet, store it in infoList
|
# split the information of each packet, store it in infoList
|
||||||
# 将每个包的信息分割开,存放到 infoList 中
|
# 将每个包的信息分割开,存放到 infoList 中
|
||||||
deb_packages = deb_packages.replace(b"Package: ", b"{{start}}Package: ")
|
deb_packages = re.sub(rb"^Package: ", b"{{start}}Package: ", deb_packages, flags=re.MULTILINE)
|
||||||
info_list = deb_packages.split(b"{{start}}")[1:]
|
info_list = deb_packages.split(b"{{start}}")[1:]
|
||||||
|
|
||||||
find_name = re.compile(rb"Package: (.+)")
|
find_name = re.compile(rb"Package: (.+)")
|
||||||
@ -78,19 +78,22 @@ def get_latest(deb_packages):
|
|||||||
find_version = re.compile(rb"Version: (.+)")
|
find_version = re.compile(rb"Version: (.+)")
|
||||||
|
|
||||||
for v in info_list:
|
for v in info_list:
|
||||||
name = find_name.search(v).group(1).decode()
|
try:
|
||||||
arch = find_arch.search(v).group(1).decode()
|
name = find_name.search(v).group(1).decode()
|
||||||
tmp_version = find_version.search(v).group(1).decode()
|
arch = find_arch.search(v).group(1).decode()
|
||||||
with lock[arch]:
|
tmp_version = find_version.search(v).group(1).decode()
|
||||||
if (
|
with lock[arch]:
|
||||||
name not in package_version[arch]
|
if (
|
||||||
or os.system(
|
name not in package_version[arch]
|
||||||
f"dpkg --compare-versions {tmp_version} gt {package_version[arch][name]}"
|
or os.system(
|
||||||
)
|
f"dpkg --compare-versions {tmp_version} gt {package_version[arch][name]}"
|
||||||
== 0
|
)
|
||||||
):
|
== 0
|
||||||
package_version[arch][name] = tmp_version
|
):
|
||||||
package_info[arch][name] = v
|
package_version[arch][name] = tmp_version
|
||||||
|
package_info[arch][name] = v
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(f"Error processing package {name}: {e}")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user