sps-extra · log · files · refs · tags · releases · people · languages · GitHub · commit
1069ae7
extra: establish repository structure
Parents
Stat
.github/workflows/lint.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 5 +++++ LICENSE | 16 ++++++++++++++++ README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+)
Diff
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..5f84480
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,46 @@
+name: repository-check
+
+on:
+ push:
+ pull_request:
+
+permissions:
+ contents: read
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out extra tree
+ uses: actions/checkout@v4
+ with:
+ path: extra
+ - name: Check out core tree
+ uses: actions/checkout@v4
+ with:
+ repository: RobertFlexx/sps-core
+ path: core
+ - name: Check out SPS
+ uses: actions/checkout@v4
+ with:
+ repository: RobertFlexx/SPS
+ path: sps
+ - name: Validate recipes and dependency graph
+ shell: sh
+ run: |
+ set -eu
+ work=$(mktemp -d)
+ trap 'rm -rf "$work"' 0 1 2 3 15
+ mkdir -p "$work/root" "$work/db" "$work/cache" "$work/build"
+ : >"$work/sps.conf"
+ {
+ printf 'dir core %s 100\n' "$GITHUB_WORKSPACE/core"
+ printf 'dir extra %s 80\n' "$GITHUB_WORKSPACE/extra"
+ } >"$work/repos.conf"
+ SPS_ROOT="$work/root" \
+ SPS_DB="$work/db" \
+ SPS_CACHE="$work/cache" \
+ SPS_BUILD="$work/build" \
+ SPS_CONFIG="$work/sps.conf" \
+ SPS_REPOS_CONFIG="$work/repos.conf" \
+ "$GITHUB_WORKSPACE/sps/bin/src" update
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..194a1c1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*.pkg.tar
+*.pkg.tar.gz
+*.pkg.tar.xz
+*.pkg.tar.zst
+build-logs/
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..07a1b16
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,16 @@
+ISC License
+
+Copyright (c) 2026 SPS contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..33c505b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,45 @@
+# SPS extra package collection
+
+This repository contains the official SPS source definitions outside the
+minimal base system. It is the place for graphics, Wayland and X11, desktop
+software, audio and multimedia, editors, additional development tools,
+language runtimes, shells, networking applications, fonts, and general
+utilities.
+
+Package categories are organizational and are created only when they contain a
+package:
+
+```text
+audio/ desktop/ devel/ editors/ fonts/ graphics/ libs/
+multimedia/ net/ shells/ utils/ wayland/ xorg/
+```
+
+Configure the tree after core:
+
+```text
+git core https://github.com/RobertFlexx/sps-core.git 100
+git extra https://github.com/RobertFlexx/sps-extra.git 80
+```
+
+Then run:
+
+```sh
+src update
+src search mesa
+src show mesa
+src which mesa
+```
+
+Git checkouts default to `/usr/src/sps/core` and `/usr/src/sps/extra`. They are
+ordinary repositories and may be inspected or pinned with Git. A local tree at
+priority 200 can override either official collection.
+
+Build a package from its directory with `mkpkg`, inspect the result, and test
+installation/check/removal in a disposable SPS root. See the SPS package
+maintainer guide for the exact recipe syntax and verification procedure.
+
+Changes to `main` must keep the selected dependency graph valid. Use canonical
+stable sources and verified SHA-256 hashes. Do not commit source downloads,
+binary package archives, or build logs. Large stacks are added in dependency
+layers; an unbuilt leaf recipe does not belong on `main` merely because its
+metadata looks plausible.