fix: normalize public shell scripts
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
*.sh text eol=lf
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
004f81f60cd94f40a4190a251207046c49947a18665acd9d286d4ed37262000c .dockerignore
|
004f81f60cd94f40a4190a251207046c49947a18665acd9d286d4ed37262000c .dockerignore
|
||||||
d60541998d51c1858da15f04afb54b28db56c21b86217c3cb7fc3d7ddb15c406 .editorconfig
|
d60541998d51c1858da15f04afb54b28db56c21b86217c3cb7fc3d7ddb15c406 .editorconfig
|
||||||
b31877c3a1005f270a5814a32e1d3ea3e6ae88eb7857ba578dd0931d6d8517c5 .env.example
|
b31877c3a1005f270a5814a32e1d3ea3e6ae88eb7857ba578dd0931d6d8517c5 .env.example
|
||||||
|
1df84947e0d933c53fe759123bcf4074fcb674edacd7d3d6de0958311c1e7d4b .gitattributes
|
||||||
c72d7473cb0746b3eb542ec0fbbf6ef3cf1fc9ca764d703e6209a8949a2ab890 .gitea/workflows/managed-validation.yml
|
c72d7473cb0746b3eb542ec0fbbf6ef3cf1fc9ca764d703e6209a8949a2ab890 .gitea/workflows/managed-validation.yml
|
||||||
37071ae4aaa1cbeacdf6560459e0c2302b620d998500c42012c87c16574018a8 .github/FUNDING.yml
|
37071ae4aaa1cbeacdf6560459e0c2302b620d998500c42012c87c16574018a8 .github/FUNDING.yml
|
||||||
2c1e738d39017495aabd2daf47b0cab54c5442362c51f1c08cd460297a9308c0 .github/workflows/issue_opened.yml
|
2c1e738d39017495aabd2daf47b0cab54c5442362c51f1c08cd460297a9308c0 .github/workflows/issue_opened.yml
|
||||||
@@ -2011,7 +2012,7 @@ dade8ee341b4e9606a42e8d6067d5d036417bbf11cf255ab5ecd2b005d72289d dependencies/m
|
|||||||
d50c2aca25ac6cd7810d4b9a3ab14dfec6a6a1b7272d20ac62e3b2598c6cb102 docker-compose.yml
|
d50c2aca25ac6cd7810d4b9a3ab14dfec6a6a1b7272d20ac62e3b2598c6cb102 docker-compose.yml
|
||||||
15eb33e89457f1311f7696028c40a0651fec6d962447efddb8ed1cebe47cfd7a docker/compose.diagnostic.yml
|
15eb33e89457f1311f7696028c40a0651fec6d962447efddb8ed1cebe47cfd7a docker/compose.diagnostic.yml
|
||||||
10cc4740f26b4ad86791c24c5497588aa01f93d5fa03e269442f0f4e85819e54 docker/compose.host-network.yml
|
10cc4740f26b4ad86791c24c5497588aa01f93d5fa03e269442f0f4e85819e54 docker/compose.host-network.yml
|
||||||
b562469ac260ca2cb171719888ca902dd55f41cf4730ae4951d2c3fca053a0b5 docker/entrypoint.sh
|
508b32aa25cf21e45a6cafa277655adf7d738e418a1a26189f4eec04dfab068b docker/entrypoint.sh
|
||||||
91f35a0cce1e4e1a46d8dbb938fb33d824a06b0afa786c20c065f794cb1b0c61 docker/healthcheck.py
|
91f35a0cce1e4e1a46d8dbb938fb33d824a06b0afa786c20c065f794cb1b0c61 docker/healthcheck.py
|
||||||
8e9cd6946aa75eb1a3b6c79fe97d8086f367d5ec782063f454ca6524533e3373 docker/supervisor.py
|
8e9cd6946aa75eb1a3b6c79fe97d8086f367d5ec782063f454ca6524533e3373 docker/supervisor.py
|
||||||
92a2237e9cdc6d9414a36423bcacc6f98d7d38212d8c469f224859aae25ef06c docker/unraid-lumaops.xml
|
92a2237e9cdc6d9414a36423bcacc6f98d7d38212d8c469f224859aae25ef06c docker/unraid-lumaops.xml
|
||||||
@@ -2331,16 +2332,16 @@ f0081784a7f1275b3b5c433742682ea75a92379968a589bc606d5422332d638d qt/swatches.h
|
|||||||
d367db3868ac46b452ebe8ae758a75363b24024478f7d53574ca11c46e190bc7 scripts/License.rtf
|
d367db3868ac46b452ebe8ae758a75363b24024478f7d53574ca11c46e190bc7 scripts/License.rtf
|
||||||
1ab208010b911add52a755403abb5cb59749073375e700d7c835cce212cff4d1 scripts/banner.bmp
|
1ab208010b911add52a755403abb5cb59749073375e700d7c835cce212cff4d1 scripts/banner.bmp
|
||||||
3bab3fb8f36306bb30bf773fe83ff588bdc951a1052934b3431a0ef9b0962cfb scripts/dialog_background.bmp
|
3bab3fb8f36306bb30bf773fe83ff588bdc951a1052934b3431a0ef9b0962cfb scripts/dialog_background.bmp
|
||||||
4991639804743e2960eeda9ea91323885d17d2763c8c26ce10a05a2ed4a088cd scripts/export-public-source.sh
|
b1a46fbfc38afbc153cac1add0257e712c2c0df4c7eced7f4824582089fbf8e0 scripts/export-public-source.sh
|
||||||
398862bef5e421bee7e200fce86244aba614cbea02b73b3420be1b19a582cc6d scripts/git-get-branch.ps1
|
398862bef5e421bee7e200fce86244aba614cbea02b73b3420be1b19a582cc6d scripts/git-get-branch.ps1
|
||||||
8ea8d87553b95b73d5fe1cc8c84d955f5091cf2572914364f549461a424bd25b scripts/git-get-branch.sh
|
1af0951cb1e71b3d743eb499342443f9d8709554348682c17371cec1300c445e scripts/git-get-branch.sh
|
||||||
172c4f52c197f427c79446134e0d810011ba2ce5ba89e03db156c3675608c8d1 scripts/openrgb-udev-install.sh
|
44e4587bfe3432409cd6aa897e534a22d9c52d4350933df262b5af6a07bd6286 scripts/openrgb-udev-install.sh
|
||||||
f527c95d094238b3a5cee99390bcd58704c1a17432f39d48ffc89ebafa80a7ba scripts/openrgb-upstream-guard.ps1
|
f527c95d094238b3a5cee99390bcd58704c1a17432f39d48ffc89ebafa80a7ba scripts/openrgb-upstream-guard.ps1
|
||||||
da805501744cfb3726f1c36bc91d1a42ee5c1d9cc32cbb9834336c579216734e scripts/openrgb-upstream-guard.sh
|
0826cbd1ce03115bf39ad007e03f070c3ee1142efcd398303d13817d937a6bf3 scripts/openrgb-upstream-guard.sh
|
||||||
aeedc69310db069e52bd770f2882046e6aa2f93c063218c6eac23e422f49113a scripts/prepare-artifacts.py
|
aeedc69310db069e52bd770f2882046e6aa2f93c063218c6eac23e422f49113a scripts/prepare-artifacts.py
|
||||||
7ec8f32a79030ba625c2b7f444f3b22d70a94a983ab66189890b22b0a8cff6ea scripts/redeploy-lumaops.ps1
|
7ec8f32a79030ba625c2b7f444f3b22d70a94a983ab66189890b22b0a8cff6ea scripts/redeploy-lumaops.ps1
|
||||||
dd3e9e8f73b0c504c55a399ba5a5bccc9db6e9a1a596e4cc214a3762484a0058 scripts/redeploy-lumaops.sh
|
ff106eeb44d8f28c7777bb2bc3574680cac0bcd49f4e72d9d653e111df4e53e7 scripts/redeploy-lumaops.sh
|
||||||
3ba2c0867fe8beb5f939db6b593373e159b405d29017e7de9de8ac5d8ab66403 scripts/unraid-hardware-setup.sh
|
af977ca1af0702d75bf37cc95412ebea7b01d61afa75467e9bcd58ea9d97ca9c scripts/unraid-hardware-setup.sh
|
||||||
30941516a9ff1daad643f8bf9691b81c4585147baa4c67a5ff9c6eb36a99bb95 scsiapi/scsiapi.h
|
30941516a9ff1daad643f8bf9691b81c4585147baa4c67a5ff9c6eb36a99bb95 scsiapi/scsiapi.h
|
||||||
b7e077a01db9db5e0030d15951c95634866b907ce1516d517f72735462437b78 scsiapi/scsiapi_linux.c
|
b7e077a01db9db5e0030d15951c95634866b907ce1516d517f72735462437b78 scsiapi/scsiapi_linux.c
|
||||||
b8986606495af1fa1db2596a5105b99958a7d63e66cc1c524441dda68cd974bc scsiapi/scsiapi_macos.c
|
b8986606495af1fa1db2596a5105b99958a7d63e66cc1c524441dda68cd974bc scsiapi/scsiapi_macos.c
|
||||||
|
|||||||
+19
-19
@@ -1,19 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
PUID="${PUID:-99}"
|
PUID="${PUID:-99}"
|
||||||
PGID="${PGID:-100}"
|
PGID="${PGID:-100}"
|
||||||
|
|
||||||
case "$PUID:$PGID" in
|
case "$PUID:$PGID" in
|
||||||
*[!0-9:]*|:|*:) echo "PUID en PGID moeten numeriek zijn" >&2; exit 64 ;;
|
*[!0-9:]*|:|*:) echo "PUID en PGID moeten numeriek zijn" >&2; exit 64 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
groupmod --gid "$PGID" lumaops 2>/dev/null || true
|
groupmod --gid "$PGID" lumaops 2>/dev/null || true
|
||||||
usermod --uid "$PUID" --gid "$PGID" lumaops 2>/dev/null || true
|
usermod --uid "$PUID" --gid "$PGID" lumaops 2>/dev/null || true
|
||||||
|
|
||||||
mkdir -p /config/openrgb /config/lumaops /data /logs /run/lumaops
|
mkdir -p /config/openrgb /config/lumaops /data /logs /run/lumaops
|
||||||
chown -R "$PUID:$PGID" /config/lumaops /data /logs /run/lumaops
|
chown -R "$PUID:$PGID" /config/lumaops /data /logs /run/lumaops
|
||||||
chown -R "$PUID:$PGID" /config/openrgb
|
chown -R "$PUID:$PGID" /config/openrgb
|
||||||
gosu "$PUID:$PGID" mkdir -p /data/backups
|
gosu "$PUID:$PGID" mkdir -p /data/backups
|
||||||
|
|
||||||
exec gosu "$PUID:$PGID" /usr/bin/tini -- /opt/venv/bin/python /opt/lumaops/supervisor.py
|
exec gosu "$PUID:$PGID" /usr/bin/tini -- /opt/venv/bin/python /opt/lumaops/supervisor.py
|
||||||
|
|||||||
@@ -1,67 +1,67 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
if [ "$#" -ne 1 ]; then
|
if [ "$#" -ne 1 ]; then
|
||||||
echo "Usage: $0 OUTPUT_DIRECTORY" >&2
|
echo "Usage: $0 OUTPUT_DIRECTORY" >&2
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
OUTPUT_DIR="$1"
|
OUTPUT_DIR="$1"
|
||||||
|
|
||||||
if [ -e "$OUTPUT_DIR" ]; then
|
if [ -e "$OUTPUT_DIR" ]; then
|
||||||
echo "Output path already exists: $OUTPUT_DIR" >&2
|
echo "Output path already exists: $OUTPUT_DIR" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Ignore checkout-only executable-bit and CRLF differences so the same guard works
|
# Ignore checkout-only executable-bit and CRLF differences so the same guard works
|
||||||
# from Windows Git and WSL. Content changes still fail the export.
|
# from Windows Git and WSL. Content changes still fail the export.
|
||||||
if ! git -C "$ROOT_DIR" -c core.fileMode=false diff --ignore-space-at-eol --quiet \
|
if ! git -C "$ROOT_DIR" -c core.fileMode=false diff --ignore-space-at-eol --quiet \
|
||||||
|| ! git -C "$ROOT_DIR" -c core.fileMode=false diff --cached --quiet; then
|
|| ! git -C "$ROOT_DIR" -c core.fileMode=false diff --cached --quiet; then
|
||||||
echo "Commit or stash repository changes before creating a public export." >&2
|
echo "Commit or stash repository changes before creating a public export." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
git -C "$ROOT_DIR" archive --format=tar HEAD | tar -xf - -C "$OUTPUT_DIR"
|
git -C "$ROOT_DIR" archive --format=tar HEAD | tar -xf - -C "$OUTPUT_DIR"
|
||||||
|
|
||||||
# Production deployment dispatch belongs to the private operations repository.
|
# Production deployment dispatch belongs to the private operations repository.
|
||||||
rm -f "$OUTPUT_DIR/.gitea/workflows/unraid-deploy.yml"
|
rm -f "$OUTPUT_DIR/.gitea/workflows/unraid-deploy.yml"
|
||||||
|
|
||||||
for forbidden in \
|
for forbidden in \
|
||||||
'.env' '*.pem' '*.key' '*.p12' '*.pfx' '*.db' '*.sqlite' '*.sqlite3' \
|
'.env' '*.pem' '*.key' '*.p12' '*.pfx' '*.db' '*.sqlite' '*.sqlite3' \
|
||||||
'secret.key' 'id_rsa' 'id_ed25519'; do
|
'secret.key' 'id_rsa' 'id_ed25519'; do
|
||||||
if find "$OUTPUT_DIR" -type f -name "$forbidden" -print -quit | grep -q .; then
|
if find "$OUTPUT_DIR" -type f -name "$forbidden" -print -quit | grep -q .; then
|
||||||
echo "Forbidden file found in public export: $forbidden" >&2
|
echo "Forbidden file found in public export: $forbidden" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if grep -RIlE --exclude='export-public-source.sh' \
|
if grep -RIlE --exclude='export-public-source.sh' \
|
||||||
'192\.168\.10\.150|NuklearRabbit' "$OUTPUT_DIR" >/dev/null; then
|
'192\.168\.10\.150|NuklearRabbit' "$OUTPUT_DIR" >/dev/null; then
|
||||||
echo "Private deployment marker found in public export." >&2
|
echo "Private deployment marker found in public export." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if find "$OUTPUT_DIR" -type f -size +10M -print -quit | grep -q .; then
|
if find "$OUTPUT_DIR" -type f -size +10M -print -quit | grep -q .; then
|
||||||
echo "Unexpected file larger than 10 MiB found in public export." >&2
|
echo "Unexpected file larger than 10 MiB found in public export." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git -C "$OUTPUT_DIR" init -q
|
git -C "$OUTPUT_DIR" init -q
|
||||||
git -C "$OUTPUT_DIR" add .
|
git -C "$OUTPUT_DIR" add .
|
||||||
git -C "$OUTPUT_DIR" -c user.name='LumaOps release export' \
|
git -C "$OUTPUT_DIR" -c user.name='LumaOps release export' \
|
||||||
-c user.email='release-export@invalid.example' \
|
-c user.email='release-export@invalid.example' \
|
||||||
commit -q -m "Publish LumaOps source"
|
commit -q -m "Publish LumaOps source"
|
||||||
|
|
||||||
(
|
(
|
||||||
cd "$OUTPUT_DIR"
|
cd "$OUTPUT_DIR"
|
||||||
git ls-files -z | sort -z | xargs -0 sha256sum > PUBLIC-SOURCE-MANIFEST.sha256
|
git ls-files -z | sort -z | xargs -0 sha256sum > PUBLIC-SOURCE-MANIFEST.sha256
|
||||||
)
|
)
|
||||||
git -C "$OUTPUT_DIR" add PUBLIC-SOURCE-MANIFEST.sha256
|
git -C "$OUTPUT_DIR" add PUBLIC-SOURCE-MANIFEST.sha256
|
||||||
git -C "$OUTPUT_DIR" -c user.name='LumaOps release export' \
|
git -C "$OUTPUT_DIR" -c user.name='LumaOps release export' \
|
||||||
-c user.email='release-export@invalid.example' \
|
-c user.email='release-export@invalid.example' \
|
||||||
commit -q --amend --no-edit
|
commit -q --amend --no-edit
|
||||||
git -C "$OUTPUT_DIR" tag public-release-baseline
|
git -C "$OUTPUT_DIR" tag public-release-baseline
|
||||||
|
|
||||||
echo "Public source export created at $OUTPUT_DIR"
|
echo "Public source export created at $OUTPUT_DIR"
|
||||||
echo "Commit: $(git -C "$OUTPUT_DIR" rev-parse HEAD)"
|
echo "Commit: $(git -C "$OUTPUT_DIR" rev-parse HEAD)"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
git show-ref | grep $(git log --pretty=%h -1) | sed 's|.*/\(.*\)|\1|' | sort -u | grep -v HEAD
|
git show-ref | grep $(git log --pretty=%h -1) | sed 's|.*/\(.*\)|\1|' | sort -u | grep -v HEAD
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
# Download udev rules file
|
# Download udev rules file
|
||||||
wget https://openrgb.org/releases/release_0.9/60-openrgb.rules
|
wget https://openrgb.org/releases/release_0.9/60-openrgb.rules
|
||||||
|
|
||||||
# If we don't have write permissions then we're running on an immutable distro
|
# If we don't have write permissions then we're running on an immutable distro
|
||||||
if sudo test -w /usr/lib/udev/rules.d;
|
if sudo test -w /usr/lib/udev/rules.d;
|
||||||
then
|
then
|
||||||
# Move udev rules file to udev rules directory
|
# Move udev rules file to udev rules directory
|
||||||
sudo mv 60-openrgb.rules /usr/lib/udev/rules.d
|
sudo mv 60-openrgb.rules /usr/lib/udev/rules.d
|
||||||
else
|
else
|
||||||
sudo mv 60-openrgb.rules /etc/udev/rules.d
|
sudo mv 60-openrgb.rules /etc/udev/rules.d
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Reload the rules
|
# Reload the rules
|
||||||
sudo udevadm control --reload-rules
|
sudo udevadm control --reload-rules
|
||||||
sudo udevadm trigger
|
sudo udevadm trigger
|
||||||
|
|||||||
@@ -1,67 +1,67 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
cd "$ROOT_DIR"
|
cd "$ROOT_DIR"
|
||||||
|
|
||||||
BASELINE_TAG="${OPENRGB_BASELINE_TAG:-upstream-openrgb-1.0rc3}"
|
BASELINE_TAG="${OPENRGB_BASELINE_TAG:-upstream-openrgb-1.0rc3}"
|
||||||
UPSTREAM_REMOTE="${OPENRGB_UPSTREAM_REMOTE:-upstream}"
|
UPSTREAM_REMOTE="${OPENRGB_UPSTREAM_REMOTE:-upstream}"
|
||||||
PUBLIC_BASELINE_TAG="public-release-baseline"
|
PUBLIC_BASELINE_TAG="public-release-baseline"
|
||||||
|
|
||||||
if [ "${OPENRGB_FETCH_UPSTREAM:-0}" = "1" ]; then
|
if [ "${OPENRGB_FETCH_UPSTREAM:-0}" = "1" ]; then
|
||||||
echo "[INFO] Fetch upstream remote '$UPSTREAM_REMOTE'..."
|
echo "[INFO] Fetch upstream remote '$UPSTREAM_REMOTE'..."
|
||||||
git fetch "$UPSTREAM_REMOTE" --tags --prune
|
git fetch "$UPSTREAM_REMOTE" --tags --prune
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! git rev-parse --verify --quiet "${BASELINE_TAG}^{commit}" >/dev/null 2>&1; then
|
if ! git rev-parse --verify --quiet "${BASELINE_TAG}^{commit}" >/dev/null 2>&1; then
|
||||||
if git rev-parse --verify --quiet "${PUBLIC_BASELINE_TAG}^{commit}" >/dev/null 2>&1; then
|
if git rev-parse --verify --quiet "${PUBLIC_BASELINE_TAG}^{commit}" >/dev/null 2>&1; then
|
||||||
BASELINE_TAG="$PUBLIC_BASELINE_TAG"
|
BASELINE_TAG="$PUBLIC_BASELINE_TAG"
|
||||||
echo "[INFO] Publieke releasebaseline wordt gebruikt."
|
echo "[INFO] Publieke releasebaseline wordt gebruikt."
|
||||||
else
|
else
|
||||||
echo "[ERROR] Geen upstream- of publieke baseline-tag gevonden."
|
echo "[ERROR] Geen upstream- of publieke baseline-tag gevonden."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$BASELINE_TAG" != "$PUBLIC_BASELINE_TAG" ] && ! git remote | grep -Fxq "$UPSTREAM_REMOTE"; then
|
if [ "$BASELINE_TAG" != "$PUBLIC_BASELINE_TAG" ] && ! git remote | grep -Fxq "$UPSTREAM_REMOTE"; then
|
||||||
echo "[ERROR] Remote '${UPSTREAM_REMOTE}' ontbreekt. Voeg upstream eerst toe of zet OPENRGB_UPSTREAM_REMOTE."
|
echo "[ERROR] Remote '${UPSTREAM_REMOTE}' ontbreekt. Voeg upstream eerst toe of zet OPENRGB_UPSTREAM_REMOTE."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mapfile -t CHANGED_FILES < <(git diff --name-only "${BASELINE_TAG}..HEAD")
|
mapfile -t CHANGED_FILES < <(git diff --name-only "${BASELINE_TAG}..HEAD")
|
||||||
|
|
||||||
if [ ${#CHANGED_FILES[@]} -eq 0 ]; then
|
if [ ${#CHANGED_FILES[@]} -eq 0 ]; then
|
||||||
echo "[INFO] Geen verschillen t.o.v. baseline '${BASELINE_TAG}'."
|
echo "[INFO] Geen verschillen t.o.v. baseline '${BASELINE_TAG}'."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare -a UNEXPECTED_FILES=()
|
declare -a UNEXPECTED_FILES=()
|
||||||
|
|
||||||
for file in "${CHANGED_FILES[@]}"; do
|
for file in "${CHANGED_FILES[@]}"; do
|
||||||
allowed=0
|
allowed=0
|
||||||
case "$file" in
|
case "$file" in
|
||||||
.dockerignore|.env.example|.gitleaks.toml|.gitignore|Dockerfile|README.md|SECURITY.md|docker-compose*.yml|docker-compose*.yaml|startup/main_FreeBSD_Linux_MacOS.cpp|ResourceManager.cpp|ResourceManager.h|.github/*|.gitea/*)
|
.dockerignore|.env.example|.gitleaks.toml|.gitignore|Dockerfile|README.md|SECURITY.md|docker-compose*.yml|docker-compose*.yaml|startup/main_FreeBSD_Linux_MacOS.cpp|ResourceManager.cpp|ResourceManager.h|.github/*|.gitea/*)
|
||||||
allowed=1
|
allowed=1
|
||||||
;;
|
;;
|
||||||
docs/*|lumaops/*|docker/*|scripts/*)
|
docs/*|lumaops/*|docker/*|scripts/*)
|
||||||
allowed=1
|
allowed=1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ "$allowed" -eq 0 ]; then
|
if [ "$allowed" -eq 0 ]; then
|
||||||
UNEXPECTED_FILES+=("$file")
|
UNEXPECTED_FILES+=("$file")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ${#UNEXPECTED_FILES[@]} -gt 0 ]; then
|
if [ ${#UNEXPECTED_FILES[@]} -gt 0 ]; then
|
||||||
echo "[ERROR] Verandering gevonden buiten de beoogde fork-patchset:"
|
echo "[ERROR] Verandering gevonden buiten de beoogde fork-patchset:"
|
||||||
for file in "${UNEXPECTED_FILES[@]}"; do
|
for file in "${UNEXPECTED_FILES[@]}"; do
|
||||||
echo " - $file"
|
echo " - $file"
|
||||||
done
|
done
|
||||||
echo "[HINT] Voeg tijdelijke kernaanpassingen alleen toe met expliciete uitzonderingen in deze script/handleiding."
|
echo "[HINT] Voeg tijdelijke kernaanpassingen alleen toe met expliciete uitzonderingen in deze script/handleiding."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[OK] Alleen geautoriseerde wijzigingen t.o.v. baseline '${BASELINE_TAG}'."
|
echo "[OK] Alleen geautoriseerde wijzigingen t.o.v. baseline '${BASELINE_TAG}'."
|
||||||
echo "[OK] Upstream-patchgrens blijft schoon."
|
echo "[OK] Upstream-patchgrens blijft schoon."
|
||||||
|
|||||||
+15
-15
@@ -1,15 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
if ! command -v docker >/dev/null 2>&1; then
|
if ! command -v docker >/dev/null 2>&1; then
|
||||||
echo "[ERROR] docker command not found in PATH."
|
echo "[ERROR] docker command not found in PATH."
|
||||||
echo "[HINT] Run this on een host met Docker geïnstalleerd en beschikbaar."
|
echo "[HINT] Run this on een host met Docker geïnstalleerd en beschikbaar."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[INFO] Pull latest compose image/build context and recreate service"
|
echo "[INFO] Pull latest compose image/build context and recreate service"
|
||||||
docker compose down
|
docker compose down
|
||||||
docker compose build --pull --no-cache
|
docker compose build --pull --no-cache
|
||||||
docker compose up -d --force-recreate --remove-orphans
|
docker compose up -d --force-recreate --remove-orphans
|
||||||
docker compose ps
|
docker compose ps
|
||||||
|
|||||||
@@ -1,66 +1,66 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
readonly PERSIST_DIR="/boot/config/plugins/lumaops"
|
readonly PERSIST_DIR="/boot/config/plugins/lumaops"
|
||||||
readonly PERSIST_SCRIPT="${PERSIST_DIR}/hardware-setup.sh"
|
readonly PERSIST_SCRIPT="${PERSIST_DIR}/hardware-setup.sh"
|
||||||
readonly LIVE_RULES="/etc/udev/rules.d/60-lumaops-openrgb.rules"
|
readonly LIVE_RULES="/etc/udev/rules.d/60-lumaops-openrgb.rules"
|
||||||
readonly BOOT_HOOK='bash /boot/config/plugins/lumaops/hardware-setup.sh --boot'
|
readonly BOOT_HOOK='bash /boot/config/plugins/lumaops/hardware-setup.sh --boot'
|
||||||
|
|
||||||
if [[ "${EUID}" -ne 0 ]]; then
|
if [[ "${EUID}" -ne 0 ]]; then
|
||||||
echo "Dit script moet als root op de Unraid-host worden uitgevoerd." >&2
|
echo "Dit script moet als root op de Unraid-host worden uitgevoerd." >&2
|
||||||
exit 77
|
exit 77
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install -d -m 0755 "${PERSIST_DIR}" /etc/udev/rules.d
|
install -d -m 0755 "${PERSIST_DIR}" /etc/udev/rules.d
|
||||||
|
|
||||||
if [[ "${1:-}" != "--boot" ]]; then
|
if [[ "${1:-}" != "--boot" ]]; then
|
||||||
install -m 0755 "$0" "${PERSIST_SCRIPT}"
|
install -m 0755 "$0" "${PERSIST_SCRIPT}"
|
||||||
if ! grep -Fqx "${BOOT_HOOK}" /boot/config/go; then
|
if ! grep -Fqx "${BOOT_HOOK}" /boot/config/go; then
|
||||||
printf '\n# LumaOps OpenRGB hardware access\n%s\n' "${BOOT_HOOK}" >> /boot/config/go
|
printf '\n# LumaOps OpenRGB hardware access\n%s\n' "${BOOT_HOOK}" >> /boot/config/go
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
modprobe i2c-dev
|
modprobe i2c-dev
|
||||||
modprobe i2c-i801
|
modprobe i2c-i801
|
||||||
|
|
||||||
rules_tmp="$(mktemp)"
|
rules_tmp="$(mktemp)"
|
||||||
trap 'rm -f "${rules_tmp}"' EXIT
|
trap 'rm -f "${rules_tmp}"' EXIT
|
||||||
cat > "${rules_tmp}" <<'RULES'
|
cat > "${rules_tmp}" <<'RULES'
|
||||||
# LumaOps: minimum access for the detected ASUS Aura and Intel SMBus devices.
|
# LumaOps: minimum access for the detected ASUS Aura and Intel SMBus devices.
|
||||||
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", ATTR{idProduct}=="18f3", MODE:="0660", GROUP:="users"
|
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", ATTR{idProduct}=="18f3", MODE:="0660", GROUP:="users"
|
||||||
ACTION=="add|change", SUBSYSTEM=="hidraw", KERNEL=="hidraw*", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="18f3", MODE:="0660", GROUP:="users"
|
ACTION=="add|change", SUBSYSTEM=="hidraw", KERNEL=="hidraw*", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="18f3", MODE:="0660", GROUP:="users"
|
||||||
ACTION=="add|change", SUBSYSTEM=="i2c-dev", KERNEL=="i2c-0", MODE:="0660", GROUP:="users"
|
ACTION=="add|change", SUBSYSTEM=="i2c-dev", KERNEL=="i2c-0", MODE:="0660", GROUP:="users"
|
||||||
RULES
|
RULES
|
||||||
install -m 0644 "${rules_tmp}" "${LIVE_RULES}"
|
install -m 0644 "${rules_tmp}" "${LIVE_RULES}"
|
||||||
|
|
||||||
udevadm control --reload-rules
|
udevadm control --reload-rules
|
||||||
udevadm trigger --action=change --subsystem-match=usb --attr-match=idVendor=0b05 --attr-match=idProduct=18f3
|
udevadm trigger --action=change --subsystem-match=usb --attr-match=idVendor=0b05 --attr-match=idProduct=18f3
|
||||||
udevadm trigger --action=change --subsystem-match=hidraw
|
udevadm trigger --action=change --subsystem-match=hidraw
|
||||||
udevadm trigger --action=change --subsystem-match=i2c-dev --sysname-match=i2c-0
|
udevadm trigger --action=change --subsystem-match=i2c-dev --sysname-match=i2c-0
|
||||||
udevadm settle
|
udevadm settle
|
||||||
|
|
||||||
for node in /dev/hidraw0 /dev/i2c-0; do
|
for node in /dev/hidraw0 /dev/i2c-0; do
|
||||||
if [[ -e "${node}" ]]; then
|
if [[ -e "${node}" ]]; then
|
||||||
chgrp users "${node}"
|
chgrp users "${node}"
|
||||||
chmod g+rw "${node}"
|
chmod g+rw "${node}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for sysdev in /sys/bus/usb/devices/*; do
|
for sysdev in /sys/bus/usb/devices/*; do
|
||||||
[[ -f "${sysdev}/idVendor" && -f "${sysdev}/idProduct" ]] || continue
|
[[ -f "${sysdev}/idVendor" && -f "${sysdev}/idProduct" ]] || continue
|
||||||
[[ "$(<"${sysdev}/idVendor")" == "0b05" && "$(<"${sysdev}/idProduct")" == "18f3" ]] || continue
|
[[ "$(<"${sysdev}/idVendor")" == "0b05" && "$(<"${sysdev}/idProduct")" == "18f3" ]] || continue
|
||||||
busnum="$(printf '%03d' "$((10#$(<"${sysdev}/busnum")))")"
|
busnum="$(printf '%03d' "$((10#$(<"${sysdev}/busnum")))")"
|
||||||
devnum="$(printf '%03d' "$((10#$(<"${sysdev}/devnum")))")"
|
devnum="$(printf '%03d' "$((10#$(<"${sysdev}/devnum")))")"
|
||||||
usb_node="/dev/bus/usb/${busnum}/${devnum}"
|
usb_node="/dev/bus/usb/${busnum}/${devnum}"
|
||||||
chgrp users "${usb_node}"
|
chgrp users "${usb_node}"
|
||||||
chmod g+rw "${usb_node}"
|
chmod g+rw "${usb_node}"
|
||||||
done
|
done
|
||||||
|
|
||||||
for required in /dev/hidraw0 /dev/i2c-0; do
|
for required in /dev/hidraw0 /dev/i2c-0; do
|
||||||
if [[ ! -r "${required}" || ! -w "${required}" ]]; then
|
if [[ ! -r "${required}" || ! -w "${required}" ]]; then
|
||||||
echo "Hardware-node is niet lees- en schrijfbaar: ${required}" >&2
|
echo "Hardware-node is niet lees- en schrijfbaar: ${required}" >&2
|
||||||
exit 69
|
exit 69
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
stat -c '%n %a %U:%G' /dev/hidraw0 /dev/i2c-0
|
stat -c '%n %a %U:%G' /dev/hidraw0 /dev/i2c-0
|
||||||
|
|||||||
Reference in New Issue
Block a user