mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2026-02-05 09:40:14 +01:00
* Testing build from debian packages
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
new file: BUILD_METHOD_OPTIONS.md
new file: CHANGES_SUMMARY.md
new file: GIT_STATUS.md
new file: INSTALL_METHOD_GUIDE.md
new file: QUICK_START.txt
modified: install.sh
* Fix package installation: skip plugins and debug symbols by default, improve dependency handling
* Add comprehensive troubleshooting guide for package installation issues
* Fix package installation path handling: use full paths instead of cd to preserve working directory
* Removed files related to debian pacakge building
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
deleted: BUILD_METHOD_OPTIONS.md
deleted: GIT_STATUS.md
deleted: INSTALL_METHOD_GUIDE.md
deleted: PACKAGE_INSTALL_TROUBLESHOOTING.md
deleted: QUICK_START.txt
* Ported ubuntu quickshell install script to debian
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
new file: install-scripts/quickshell.sh
* Forgot to add quickshell as install option
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install.sh
* Added missing depdendencies to debian quickshell
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Fixing QML import pathing
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Adding shim for missing QML properies
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Added check for debian trixie in quickshell install
Trixe doesn't support overview seems like the QT libs are too old
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Fixed typo in script
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: refresh-hypr-tags.sh
* libmuparser-dev is now needed
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/00-dependencies.sh
modified: install-scripts/hyprland.sh
* Adding hyprwire depdency
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hypr-tags.env
new file: install-scripts/hyprwire.sh
modified: install.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
* Updating hyprwire build order
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Fixing script permissions
* fixing hyprwire build error
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Still fixing hyprwire build errors
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Fixing SED error. (I Hate sed)
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Still getting append errors trying another fix
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Updated tags for 0.53.0
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: ../hypr-tags.env
modified: hyprland.sh
* Fixing build error on hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprland.sh
* Still getting build errors with hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* More build errors to fix
On branch development
Your branch is ahead of 'origin/development' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
modified: install-scripts/hyprland.sh
* Fixind SED error
* Hyprland tag set to 52.2
* Scripts has hardcoded versions vs. pulling hypr-env
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/aquamarine.sh
modified: install-scripts/hyprcursor.sh
modified: install-scripts/hyprgraphics.sh
modified: install-scripts/hyprland-guiutils.sh
modified: install-scripts/hyprland-protocols.sh
modified: install-scripts/hyprland-qt-support.sh
modified: install-scripts/hyprland.sh
modified: install-scripts/hyprlang.sh
modified: install-scripts/hyprtoolkit.sh
modified: install-scripts/hyprutils.sh
modified: install-scripts/hyprwayland-scanner.sh
modified: install-scripts/hyprwire.sh
modified: install-scripts/wayland-protocols-src.sh
* Fixing update-hyprland to support tags
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprutils.sh
modified: update-hyprland.sh
* Fixing update-hyprland (again) to use env-tags
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: update-hyprland.sh
* Fixing update-hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: update-hyprland.sh
* Trying to get trixie to build
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Updated README re: NVIDIA drivers & HL 0.52.2+ on Trixie
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: README.md
* UPD: Before ubunmtu was out-of-date, now can run HL dots
previsously ubuntu was older HL. Now it's up to date and can
also run current dotfiles. Removed old statement saying ubuntu could not
run current dotfiles.
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: README.md
* Pinned version to 52.2 for debian stable support
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOGS.md
deleted: CHANGES_SUMMARY.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: hypr-tags.env
new file: hypr-tags.env-v.053
modified: update-hyprland.sh
* Fixed update-hyprland refresh-hypr-tags --force-override
It now assumes --fetch-latest
Small formatting fixes
Now shows version to upgrade too and pause to allow review
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOGS.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: dry-run-build.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
156 lines
3.8 KiB
Bash
Executable File
156 lines
3.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Dry-run orchestrator for Hyprland and companion modules
|
|
# - Compiles components but skips installation (uses DRY_RUN=1)
|
|
# - Summarizes PASS/FAIL per module to Install-Logs/
|
|
#
|
|
# Usage:
|
|
# chmod +x ./dry-run-build.sh
|
|
# ./dry-run-build.sh # run full stack dry-run
|
|
# ./dry-run-build.sh --with-deps # install dependencies first, then dry-run build
|
|
# ./dry-run-build.sh --only hyprland # run a subset (comma-separated allowed)
|
|
# ./dry-run-build.sh --skip qtutils # skip one or more (comma-separated)
|
|
#
|
|
# Notes:
|
|
# - Run from the repository root. Do not cd into install-scripts/.
|
|
# - You can also call modules directly, e.g., DRY_RUN=1 ./install-scripts/hyprland.sh
|
|
|
|
set -u
|
|
set -o pipefail
|
|
|
|
REPO_ROOT=$(pwd)
|
|
LOG_DIR="$REPO_ROOT/Install-Logs"
|
|
mkdir -p "$LOG_DIR"
|
|
TS=$(date +%F-%H%M%S)
|
|
SUMMARY_LOG="$LOG_DIR/build-dry-run-$TS.log"
|
|
|
|
# Default module order (core first, then Hyprland)
|
|
DEFAULT_MODULES=(
|
|
hyprutils
|
|
hyprlang
|
|
wayland-protocols-src
|
|
aquamarine
|
|
hyprgraphics
|
|
hyprwayland-scanner
|
|
hyprland-protocols
|
|
hyprland-qt-support
|
|
hyprland-qtutils
|
|
hyprland
|
|
)
|
|
|
|
WITH_DEPS=0
|
|
ONLY_LIST=""
|
|
SKIP_LIST=""
|
|
|
|
usage() {
|
|
grep '^# ' "$0" | sed 's/^# \{0,1\}//'
|
|
}
|
|
|
|
# Parse args
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
-h|--help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
--with-deps)
|
|
WITH_DEPS=1
|
|
shift
|
|
;;
|
|
--only)
|
|
ONLY_LIST=${2:-}
|
|
shift 2
|
|
;;
|
|
--skip)
|
|
SKIP_LIST=${2:-}
|
|
shift 2
|
|
;;
|
|
*)
|
|
echo "Unknown argument: $1" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Build module list based on --only/--skip
|
|
MODULES=()
|
|
if [[ -n "$ONLY_LIST" ]]; then
|
|
IFS=',' read -r -a MODULES <<< "$ONLY_LIST"
|
|
else
|
|
MODULES=("${DEFAULT_MODULES[@]}")
|
|
fi
|
|
|
|
if [[ -n "$SKIP_LIST" ]]; then
|
|
IFS=',' read -r -a _SKIPS <<< "$SKIP_LIST"
|
|
FILTERED=()
|
|
for m in "${MODULES[@]}"; do
|
|
skip_it=0
|
|
for s in "${_SKIPS[@]}"; do
|
|
if [[ "$m" == "$s" ]]; then
|
|
skip_it=1
|
|
break
|
|
fi
|
|
done
|
|
if [[ $skip_it -eq 0 ]]; then
|
|
FILTERED+=("$m")
|
|
fi
|
|
done
|
|
MODULES=("${FILTERED[@]}")
|
|
fi
|
|
|
|
# Optionally install dependencies (not a dry-run)
|
|
if [[ $WITH_DEPS -eq 1 ]]; then
|
|
echo "[INFO] Installing dependencies via 00-dependencies.sh" | tee -a "$SUMMARY_LOG"
|
|
if ! "$REPO_ROOT/install-scripts/00-dependencies.sh"; then
|
|
echo "[ERROR] Dependencies installation failed. See logs under Install-Logs/." | tee -a "$SUMMARY_LOG"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Run each module with DRY_RUN=1 and capture exit codes
|
|
declare -A RESULTS
|
|
|
|
echo "[INFO] Starting dry-run build at $TS" | tee -a "$SUMMARY_LOG"
|
|
|
|
for mod in "${MODULES[@]}"; do
|
|
script_path="$REPO_ROOT/install-scripts/$mod.sh"
|
|
echo "\n=== $mod (DRY RUN) ===" | tee -a "$SUMMARY_LOG"
|
|
if [[ ! -x "$script_path" ]]; then
|
|
# Try to make executable if it exists
|
|
if [[ -f "$script_path" ]]; then
|
|
chmod +x "$script_path" || true
|
|
fi
|
|
fi
|
|
if [[ ! -f "$script_path" ]]; then
|
|
echo "[WARN] Missing script: $script_path" | tee -a "$SUMMARY_LOG"
|
|
RESULTS[$mod]="MISSING"
|
|
continue
|
|
fi
|
|
if DRY_RUN=1 "$script_path"; then
|
|
RESULTS[$mod]="PASS"
|
|
else
|
|
RESULTS[$mod]="FAIL"
|
|
fi
|
|
done
|
|
|
|
# Summary
|
|
{
|
|
printf "\nSummary (dry-run):\n"
|
|
for mod in "${MODULES[@]}"; do
|
|
printf "%-24s %s\n" "$mod" "${RESULTS[$mod]:-SKIPPED}"
|
|
done
|
|
# Show current tag values to make changes visible during dry-runs
|
|
if [[ -f "$REPO_ROOT/hypr-tags.env" ]]; then
|
|
printf "\nCurrent versions (from %s):\n" "$REPO_ROOT/hypr-tags.env"
|
|
grep -E '^[A-Z0-9_]+=' "$REPO_ROOT/hypr-tags.env" | sort
|
|
fi
|
|
printf "\nLogs: individual module logs are under Install-Logs/. This summary: %s\n" "$SUMMARY_LOG"
|
|
} | tee -a "$SUMMARY_LOG"
|
|
|
|
# Exit non-zero if any FAIL occurred
|
|
failed=0
|
|
for mod in "${MODULES[@]}"; do
|
|
if [[ "${RESULTS[$mod]:-}" == "FAIL" ]]; then
|
|
failed=1
|
|
fi
|
|
done
|
|
exit $failed |