Splux Linux

source-based Linux using SPS

sps-extra · log · files · refs · tags · releases · people · languages · GitHub · commit

1069ae7


extra: establish repository structure

Date
Commit1069ae7527283bdff8810d6afcaf93e7c26f6abb
GitHubmirror

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.