Compare commits
10 commits
cbd7f6f1a2
...
51c2e31eec
Author | SHA1 | Date | |
---|---|---|---|
51c2e31eec | |||
1aea95a12c | |||
23b3fce7cb | |||
c9b019c017 | |||
64f4c09230 | |||
b57ab0543c | |||
c6e778c89f | |||
690c6b968f | |||
7e5012384a | |||
b1c1c040bc |
7 changed files with 117 additions and 6 deletions
18
.forgejo/workflows/main.yaml
Normal file
18
.forgejo/workflows/main.yaml
Normal file
|
@ -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
|
|
@ -9,11 +9,11 @@ ROOT = 'rsync://mirrors.dotsrc.org/alpine'
|
||||||
ROOT = 'rsync://uk.alpinelinux.org/alpine'
|
ROOT = 'rsync://uk.alpinelinux.org/alpine'
|
||||||
ARCH = 'x86_64'
|
ARCH = 'x86_64'
|
||||||
VERSIONS = [
|
VERSIONS = [
|
||||||
'v3.20',
|
'v3.21',
|
||||||
]
|
]
|
||||||
|
|
||||||
TARGETS = {
|
TARGETS = {
|
||||||
'v3.20': [
|
'v3.21': [
|
||||||
'releases',
|
'releases',
|
||||||
'main',
|
'main',
|
||||||
'community',
|
'community',
|
||||||
|
|
89
incus.py
Executable file
89
incus.py
Executable file
|
@ -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()
|
|
@ -15,7 +15,7 @@ echo "${path}"
|
||||||
cat "${path}"
|
cat "${path}"
|
||||||
|
|
||||||
for url in $(jq -r ".. | objects | .url?" "${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 "debug" |
|
||||||
grep --invert-match "\(armv7\|ppc64le\|s390x\)" |
|
grep --invert-match "\(armv7\|ppc64le\|s390x\)" |
|
||||||
grep --invert-match "\(apple-darwin\|macos\|win64\|windows-msvc\)"); do
|
grep --invert-match "\(apple-darwin\|macos\|win64\|windows-msvc\)"); do
|
||||||
|
|
|
@ -18,6 +18,7 @@ set \
|
||||||
\
|
\
|
||||||
"commitizen" \
|
"commitizen" \
|
||||||
"gitlint" \
|
"gitlint" \
|
||||||
|
"GitPython" \
|
||||||
\
|
\
|
||||||
"pydoclint" \
|
"pydoclint" \
|
||||||
"pylint" \
|
"pylint" \
|
||||||
|
|
|
@ -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] apk
|
||||||
* [x] alpine
|
* [x] alpine
|
||||||
|
@ -13,6 +13,9 @@ A temporary scripts collection to download mirrors:
|
||||||
* [ ] distrib
|
* [ ] distrib
|
||||||
* [x] mingw64
|
* [x] mingw64
|
||||||
* [x] msys
|
* [x] msys
|
||||||
|
* [ ] py
|
||||||
|
* [ ] python
|
||||||
|
* [ ] pypi
|
||||||
* [x] rpm
|
* [x] rpm
|
||||||
* [x] alma
|
* [x] alma
|
||||||
* [x] epel
|
* [x] epel
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
ROOT = 'rsync://fr2.rpmfind.net/linux/epel'
|
ROOT = 'rsync://mirror.in2p3.fr/pub/epel'
|
||||||
ARCH = 'x86_64'
|
ARCH = 'x86_64'
|
||||||
VERSIONS = [
|
VERSIONS = [
|
||||||
'8',
|
'8',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue