diff --git a/.forgejo/workflows/main.yaml b/.forgejo/workflows/main.yaml new file mode 100644 index 0000000..a7c809e --- /dev/null +++ b/.forgejo/workflows/main.yaml @@ -0,0 +1,18 @@ +on: [push] +jobs: + job: + runs-on: ubuntu-latest + container: + image: ${{vars.DOCKER}}debian:bookworm + steps: + - name: spcd + env: + SPCD: ${{vars.SPCD}} + SPCD_SSH_HOSTS: ${{vars.SPCD_SSH_HOSTS}} + SPCD_SSH_KEY: ${{secrets.SPCD_SSH_KEY}} + SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}} + run: ${{vars.SPCD}} + + - run: spcd-build-project + - run: spcd-browse-workspace + - run: spcd-synchronize diff --git a/apk.alpine.py b/apk.alpine.py index b6899cd..8781609 100755 --- a/apk.alpine.py +++ b/apk.alpine.py @@ -9,11 +9,11 @@ ROOT = 'rsync://mirrors.dotsrc.org/alpine' ROOT = 'rsync://uk.alpinelinux.org/alpine' ARCH = 'x86_64' VERSIONS = [ - 'v3.20', + 'v3.21', ] TARGETS = { - 'v3.20': [ + 'v3.21': [ 'releases', 'main', 'community', diff --git a/incus.py b/incus.py new file mode 100755 index 0000000..5793d09 --- /dev/null +++ b/incus.py @@ -0,0 +1,89 @@ +#! /usr/bin/env python3 +"""Mirror local Incus.""" + +from pathlib import Path +import os + +from rwx.fs import make_directory, wipe + + +ROOT = "https://images.linuxcontainers.org" + +IMAGES = f"{ROOT}/images" +META = f"{ROOT}/meta" + +STREAMS = f"{META}/simplestreams/v1" + +TYPE = ( + "default", +) +TYPES = ( + "default", + "cloud", +) +ARCHITECTURES_TYPE = { + "amd64": TYPE, + "arm64": TYPE, +} +ARCHITECTURES_TYPES = { + "amd64": TYPES, + "arm64": TYPES, +} +EL = { + "9": ARCHITECTURES_TYPES, + "8": ARCHITECTURES_TYPES, +} + + +def architectures_type(*versions: str) -> dict: + return {version: ARCHITECTURES_TYPE for version in versions} + + +def architectures_types(*versions: str) -> dict: + return {version: ARCHITECTURES_TYPES for version in versions} + + +PROFILE = { + "nixos": architectures_type("24.11"), + # apk + "alpine": architectures_types("3.21", "3.20"), + # deb + "debian": architectures_types("bookworm", "bullseye"), + "ubuntu": architectures_types("noble", "jammy"), + # rpm + "almalinux": EL, + "fedora": architectures_types("42", "41"), + "opensuse": { + "15.6": ARCHITECTURES_TYPES, + "15.5": ARCHITECTURES_TYPE, + }, + "rockylinux": EL, + # rolling + "archlinux": { + "current": { + "amd64": TYPES, + "arm64": TYPE, + }, + }, +} + + +def main() -> None: + root = Path(__file__).resolve().parent / "root" + # root path + root = root / "incus" + wipe(root) + make_directory(root) + # symlink + (root / "streams").symlink_to(os.sep.join(["meta", "simplestreams"])) + # meta + meta = root / "meta" + # streams + streams = meta / "simplestreams" / "v1" + make_directory(streams) + # images + streams = root / "images" + + +if __name__ == "__main__": + main() diff --git a/py.cpypy.sh b/py.cpypy.sh index 0c358f6..6ccd94c 100755 --- a/py.cpypy.sh +++ b/py.cpypy.sh @@ -15,7 +15,7 @@ echo "${path}" cat "${path}" for url in $(jq -r ".. | objects | .url?" "${path}" | - grep "\(/20250212/\|/pypy3.11-v7.3.18\)" | + grep "\(/20250311/\|/pypy3.11-v7.3.19\)" | grep --invert-match "debug" | grep --invert-match "\(armv7\|ppc64le\|s390x\)" | grep --invert-match "\(apple-darwin\|macos\|win64\|windows-msvc\)"); do diff --git a/py.pypi.sh b/py.pypi.sh index 74cb6bf..172ff8e 100755 --- a/py.pypi.sh +++ b/py.pypi.sh @@ -18,6 +18,7 @@ set \ \ "commitizen" \ "gitlint" \ + "GitPython" \ \ "pydoclint" \ "pylint" \ diff --git a/readme.md b/readme.md index 4ae4e3f..cb30428 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ -# Work +# Software Repos Local Profile -A temporary scripts collection to download mirrors: +A temporary scripts collection for local software: * [x] apk * [x] alpine @@ -13,6 +13,9 @@ A temporary scripts collection to download mirrors: * [ ] distrib * [x] mingw64 * [x] msys +* [ ] py + * [ ] python + * [ ] pypi * [x] rpm * [x] alma * [x] epel diff --git a/rpm.epel.py b/rpm.epel.py index e17b5f3..7e740b4 100755 --- a/rpm.epel.py +++ b/rpm.epel.py @@ -3,7 +3,7 @@ import os import subprocess -ROOT = 'rsync://fr2.rpmfind.net/linux/epel' +ROOT = 'rsync://mirror.in2p3.fr/pub/epel' ARCH = 'x86_64' VERSIONS = [ '8',