mirror of
https://github.com/wcbing/wcbing-apt-repo.git
synced 2025-12-29 02:28:30 +08:00
refactor: repo structure
This commit is contained in:
parent
8ee3d3012f
commit
3d6a1905cc
@ -111,10 +111,8 @@ def process_repo(r: dict):
|
|||||||
获取仓库中不同架构子仓库的内容,最后调用 get_latest 去重并保存。
|
获取仓库中不同架构子仓库的内容,最后调用 get_latest 去重并保存。
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
deb_packages = b""
|
|
||||||
for arch, path in r["path"].items():
|
for arch, path in r["path"].items():
|
||||||
deb_packages += get_remote_packages(r["repo"], path)
|
get_latest(get_remote_packages(r["repo"], path))
|
||||||
get_latest(deb_packages)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error processing repo {r.get('name', 'unknown')}: {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())
|
executor.map(process_repo, repo_list.values())
|
||||||
|
|
||||||
# 分别输出到不同文件
|
# 分别输出到不同文件
|
||||||
os.makedirs("deb/amd64/", exist_ok=True)
|
for arch in ["amd64", "arm64"]:
|
||||||
os.makedirs("deb/arm64/", exist_ok=True)
|
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:
|
||||||
with open("deb/amd64/Packages", "+wb") as f:
|
for i in package_info[arch].values():
|
||||||
for i in package_info["amd64"].values():
|
f.write(i)
|
||||||
f.write(i)
|
for i in package_info["all"].values():
|
||||||
for i in package_info["all"].values():
|
f.write(i)
|
||||||
f.write(i)
|
|
||||||
|
|
||||||
with open("deb/arm64/Packages", "+wb") as f:
|
|
||||||
for i in package_info["arm64"].values():
|
|
||||||
f.write(i)
|
|
||||||
for i in package_info["all"].values():
|
|
||||||
f.write(i)
|
|
||||||
|
|||||||
26
run.sh
26
run.sh
@ -1,29 +1,31 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# check for updates
|
||||||
./get-github-releases.py
|
./get-github-releases.py
|
||||||
find get -type f -name "*.sh" -exec sh {} \;
|
find get -type f -name "*.sh" -exec sh {} \;
|
||||||
|
|
||||||
|
# generate the html
|
||||||
|
./gen-list-html.py
|
||||||
|
|
||||||
cd deb
|
cd deb
|
||||||
# generate the local Packages
|
# generate the local Packages
|
||||||
apt-ftparchive packages . > tmpPackages
|
apt-ftparchive packages . > tmpPackages
|
||||||
sed -i "s|\./\(https\?\):/|\1://|g" tmpPackages
|
sed -i "s|\./\(https\?\):/|\1://|g" tmpPackages
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
sed -i "s|\./|\.\./|g" deb/tmpPackages
|
|
||||||
cat $(find packages -name "*.package") >> deb/tmpPackages
|
cat $(find packages -name "*.package") >> deb/tmpPackages
|
||||||
# merge the Packages files from third-party repositories
|
# merge the Packages files from third-party repositories
|
||||||
./merge-apt-repo.py --local deb/tmpPackages
|
./merge-apt-repo.py --local deb/tmpPackages
|
||||||
|
|
||||||
# generate the Release file
|
# generate the Release file
|
||||||
gen_release deb/amd64
|
cd deb/dists/wcbing
|
||||||
gen_release deb/arm64
|
echo 'Origin: wcbing APT Repo
|
||||||
|
Label: wcbing
|
||||||
# generate the html
|
Suite: wcbing
|
||||||
./gen-list-html.py
|
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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user