Compare commits

...

3 Commits

Author SHA1 Message Date
d2f19aaede add neovide, himalaya repo; remove black-desk repo 2025-05-09 12:12:21 +08:00
7b98001cde add arm64 version of flclash 2025-05-01 10:18:34 +08:00
99a1d83459 refactor: repo structure 2025-04-14 16:23:18 +08:00
6 changed files with 42 additions and 41 deletions

View File

@ -51,7 +51,7 @@
| 软件名 | 包名 | amd64 | arm64 |
| ----- | ---- | ----- | ----- |
| [Clash Verge Rev](https://github.com/clash-verge-rev/clash-verge-rev) | clash-verge | ✅ | ✅ |
| [FlClash](https://github.com/chen08209/FlClash) | flclash | ✅ | |
| [FlClash](https://github.com/chen08209/FlClash) | flclash | ✅ | |
| [mihomo](https://github.com/MetaCubeX/mihomo) | mihomo | ✅ | ✅ |
| [hugo](https://github.com/gohugoio/hugo) | hugo | ✅ | ✅ |
| [RustDesk](https://github.com/rustdesk/rustdesk) | rustdesk | ✅ | ✅ |
@ -83,7 +83,8 @@
| [Sublime Text<br />Sublime Merge](https://www.sublimetext.com/docs/linux_repositories.html) | sublime-text<br />sublime-merge | ✅ | ✅ |
| [Steam](https://repo.steampowered.com/steam/) | steam-launcher<br />steam-libs-amd64 | ✅ | |
| [Tailscale](https://pkgs.tailscale.com/stable/) | tailscale<br />tailscale-nginx-auth | ✅ | ✅ |
| [black-desk 打包](https://github.com/black-desk/debs) | app.typst.typst<br />dev.neovide.neovide<br />dev.zed.zed<br />dev.zed.zed-pre<br />~~io.github.black-desk.debian-tweak<br />io.neovim.neovim<br />io.neovim.neovim-nightly<br />one.metacubex.clash-meta~~<br />org.pimalaya.himalaya | ✅ | |
| [neovide: wcbing 打包](https://github.com/wcbing-build/neovide-debs) | neovide | ✅ | |
| [himalaya: wcbing 打包](https://github.com/wcbing-build/himalaya-debs) | himalaya | ✅ | ✅ |
| [Typora](https://typora.io/#linux) | typora | ✅ | ✅ |
| [Zotero](https://zotero.retorque.re/file/apt-package-archive/index.html) | zotero<br />zotero-beta<br />zotero6 | ✅ | |
| [Github CLI](https://cli.github.com/) | gh | ✅ | ✅ |

View File

@ -16,7 +16,8 @@
"flclash": {
"repo": "chen08209/FlClash",
"file_list": {
"amd64": "FlClash-{version}-linux-amd64.deb"
"amd64": "FlClash-{version}-linux-amd64.deb",
"arm64": "FlClash-{version}-linux-arm64.deb"
}
},
"hugo": {

View File

@ -62,12 +62,6 @@
"mix": "apt/stable/Packages.gz"
}
},
"black-desk": {
"repo": "https://github.com/black-desk/debs/releases/latest/download/",
"path": {
"amd64": "Packages"
}
},
"typora": {
"repo": "https://typoraio.cn/linux/",
"path": {
@ -129,5 +123,17 @@
"amd64": "dists/gitea/main/binary-amd64/Packages",
"arm64": "dists/gitea/main/binary-arm64/Packages"
}
},
"neovide": {
"repo": "https://github.com/wcbing-build/neovide-debs/releases/latest/download/",
"path": {
"mix": "Packages"
}
},
"himalaya": {
"repo": "https://github.com/wcbing-build/himalaya-debs/releases/latest/download/",
"path": {
"mix": "Packages"
}
}
}

View File

@ -41,11 +41,11 @@ if __name__ == "__main__":
)
# get latest releases tag 获取最新版本标签
location = requests.head(release_url + "/latest").headers.get("Location", "")
match = re.search(r".*releases/tag/([^/]+)", location)
match = re.search(r".*releases/tag/(.*)", location)
if not match:
continue
releases_tag = match.group(1)
version = match.group() if (match := re.search("[0-9].*", releases_tag)) else ""
version = match.group() if (match := re.search("[0-9][^_]*", releases_tag)) else ""
for arch, file_name in repo["file_list"].items():

View File

@ -111,10 +111,8 @@ def process_repo(r: dict):
获取仓库中不同架构子仓库的内容最后调用 get_latest 去重并保存
"""
try:
deb_packages = b""
for arch, path in r["path"].items():
deb_packages += get_remote_packages(r["repo"], path)
get_latest(deb_packages)
get_latest(get_remote_packages(r["repo"], path))
except Exception as e:
logging.error(f"Error processing repo {r.get('name', 'unknown')}: {e}")
@ -152,17 +150,10 @@ if __name__ == "__main__":
executor.map(process_repo, repo_list.values())
# 分别输出到不同文件
os.makedirs("deb/amd64/", exist_ok=True)
os.makedirs("deb/arm64/", exist_ok=True)
with open("deb/amd64/Packages", "+wb") as f:
for i in package_info["amd64"].values():
f.write(i)
for i in package_info["all"].values():
f.write(i)
with open("deb/arm64/Packages", "+wb") as f:
for i in package_info["arm64"].values():
for arch in ["amd64", "arm64"]:
os.makedirs(f"deb/dists/wcbing/main/binary-{arch}/", exist_ok=True)
with open(f"deb/dists/wcbing/main/binary-{arch}/Packages", "+wb") as f:
for i in package_info[arch].values():
f.write(i)
for i in package_info["all"].values():
f.write(i)

26
run.sh
View File

@ -1,29 +1,31 @@
#!/bin/sh
gen_release() {
apt-ftparchive release $1 >$1/Release
gpg --yes --detach-sign -a -o $1/Release.gpg $1/Release
gpg --yes --clearsign -o $1/InRelease $1/Release
}
# check for updates
./get-github-releases.py
find get -type f -name "*.sh" -exec sh {} \;
# generate the html
./gen-list-html.py
cd deb
# generate the local Packages
apt-ftparchive packages . > tmpPackages
sed -i "s|\./\(https\?\):/|\1://|g" tmpPackages
cd ..
sed -i "s|\./|\.\./|g" deb/tmpPackages
cat $(find packages -name "*.package") >> deb/tmpPackages
# merge the Packages files from third-party repositories
./merge-apt-repo.py --local deb/tmpPackages
# generate the Release file
gen_release deb/amd64
gen_release deb/arm64
# generate the html
./gen-list-html.py
cd deb/dists/wcbing
echo 'Origin: wcbing APT Repo
Label: wcbing
Suite: wcbing
Codename: wcbing
Architectures: amd64 arm64
Components: main
Description: wcbing APT Repo || wcbing 的 APT 仓库' > Release
apt-ftparchive release . >> Release
gpg --yes --detach-sign -a -o Release.gpg Release
gpg --yes --clearsign -o InRelease Release