add firefox (offical repo)

This commit is contained in:
wcbing 2024-09-05 14:45:10 +08:00
parent b0614b9da5
commit f8b93ab35c
4 changed files with 57 additions and 1 deletions

View File

@ -44,6 +44,7 @@ echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/d
|termius|termius-app<br />termius-beta|官方仓库| |termius|termius-app<br />termius-beta|官方仓库|
|Sublime Text|sublime-text|[官网](https://www.sublimetext.com/download)| |Sublime Text|sublime-text|[官网](https://www.sublimetext.com/download)|
|Xmind|xmind-vana|[官网](https://xmind.cn/download/)| |Xmind|xmind-vana|[官网](https://xmind.cn/download/)|
|Mozilla Firefox|firefox<br />firefox_beta<br />firefox_devedition<br />firefox_esr<br />firefox_nightly<br />|官方仓库|
## 自行建立仓库 ## 自行建立仓库

40
merge_latest/firefox.py Normal file
View File

@ -0,0 +1,40 @@
import requests
import re
from module.merge_deb import merge_latest_deb
deb_repo = "https://packages.mozilla.org/apt/"
x64_deb_Packages_path = "dists/mozilla/main/binary-amd64/Packages"
x64_deb_Packages = requests.get(deb_repo + x64_deb_Packages_path).text
x64_debs = re.split("(?=Package: )", x64_deb_Packages)[1:]
# firefox 的 Packages 按照版本升序排列,最后一个即为最新版本
firefox_x64_debs = []
firefox_beta_x64_debs = []
firefox_devedition_x64_debs = []
firefox_esr_x64_debs = []
firefox_nightly_x64_debs = []
for x64_deb in x64_debs:
if "Package: firefox\n" in x64_deb:
firefox_x64_debs.append(x64_deb)
elif "Package: firefox-beta\n" in x64_deb:
firefox_beta_x64_debs.append(x64_deb)
elif "Package: firefox-devedition\n" in x64_deb:
firefox_devedition_x64_debs.append(x64_deb)
elif "Package: firefox-esr\n" in x64_deb:
firefox_esr_x64_debs.append(x64_deb)
elif "Package: firefox-nightly\n" in x64_deb:
firefox_nightly_x64_debs.append(x64_deb)
x64_deb_latest = (
firefox_x64_debs[-1]
+ firefox_beta_x64_debs[-1]
+ firefox_devedition_x64_debs[-1]
+ firefox_esr_x64_debs[-1]
+ firefox_nightly_x64_debs[-1]
+ "\n"
)
merge_latest_deb("firefox", deb_repo, x64_deb_latest)

View File

@ -0,0 +1,14 @@
def merge_latest_deb(name, repo, deb_latest, local_Packages_path="deb/Packages"):
r"""Merge latest deb packages info from a repo to a Packages file
:param name: repo name
:param repo: repo url, end with "/"
:param deb_latest: latest deb package info manually organized
:param local_Packages_path: local Packages file path, default is "deb/Packages"
:return: None
"""
with open(local_Packages_path, "a+") as f:
f.write(deb_latest.replace("Filename: ", "Filename: " + repo))
f.close()
print(name + " repo: done")

View File

@ -10,7 +10,8 @@ apt-ftparchive packages . > Packages
# merge the Packages files of third-party repositories # merge the Packages files of third-party repositories
cd .. cd ..
find merge -maxdepth 1 -type f -name "*.py" -exec python3 {} \; find merge_latest -maxdepth 1 -type f -name "*.py" -exec python3 {} \;
python3 merge_all/merge_all.py
# generate the Release file # generate the Release file
cd deb cd deb