mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2025-12-21 10:20:12 +01:00
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
This commit is contained in:
parent
d9ca7dabf2
commit
9044cc4986
@ -1,178 +0,0 @@
|
|||||||
# Hyprland Installation Method Options
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
The `install.sh` script has been updated to support **two installation methods**:
|
|
||||||
|
|
||||||
1. **Build from Source** (Original method)
|
|
||||||
2. **Install from Pre-built Packages** (New method - faster)
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
### Setting the Package Source Location
|
|
||||||
|
|
||||||
At the top of `install.sh`, you'll find this variable:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
DEB_PACKAGES_SOURCE="/mnt/nas/Projects/Jak/debian-pkg/build/debs"
|
|
||||||
```
|
|
||||||
|
|
||||||
**To change the package location:**
|
|
||||||
- Modify `DEB_PACKAGES_SOURCE` to point to your pre-built .deb package directory
|
|
||||||
- Can be a local path or network share
|
|
||||||
- Leave empty to always build from source
|
|
||||||
|
|
||||||
### Current Configuration
|
|
||||||
|
|
||||||
**Current source location:** `/mnt/nas/Projects/Jak/debian-pkg/build/debs`
|
|
||||||
|
|
||||||
**Available packages:** 59 .deb files
|
|
||||||
- All Hyprland components (0.52.2)
|
|
||||||
- All dependencies (utilities, graphics, cursors, etc.)
|
|
||||||
- 9 Hyprland plugins
|
|
||||||
- Debug symbols and development files
|
|
||||||
|
|
||||||
## Installation Flow
|
|
||||||
|
|
||||||
### Automatic Method Selection
|
|
||||||
|
|
||||||
When you run `install.sh`:
|
|
||||||
|
|
||||||
1. **Environment Check**: Script checks if packages are available at `DEB_PACKAGES_SOURCE`
|
|
||||||
2. **User Prompt**: If packages found, you're asked to choose:
|
|
||||||
- **YES** → Install from pre-built packages (faster, ~5-10 minutes)
|
|
||||||
- **NO** → Build from source (slower, ~1-2 hours)
|
|
||||||
|
|
||||||
3. **Execution**: Script runs the selected method
|
|
||||||
|
|
||||||
### Build from Source Method
|
|
||||||
|
|
||||||
If you choose "from source" or no packages are available:
|
|
||||||
- Runs all the original install scripts
|
|
||||||
- Builds each component from GitHub source
|
|
||||||
- Takes significantly longer but gives latest upstream code
|
|
||||||
|
|
||||||
### Build from Packages Method
|
|
||||||
|
|
||||||
If you choose "pre-built packages":
|
|
||||||
1. Validates package directory exists and contains .deb files
|
|
||||||
2. Counts available packages
|
|
||||||
3. Installs all .deb files using `dpkg -i`
|
|
||||||
4. Fixes any missing dependencies with `apt-get install -f`
|
|
||||||
5. Completes much faster than source builds
|
|
||||||
|
|
||||||
## Usage Examples
|
|
||||||
|
|
||||||
### To use current pre-built packages (on test network):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
# When prompted, select YES to use pre-built packages
|
|
||||||
```
|
|
||||||
|
|
||||||
### To always build from source (ignore packages):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Edit install.sh and change:
|
|
||||||
DEB_PACKAGES_SOURCE=""
|
|
||||||
# Then run:
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### To use packages from a different location:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Edit install.sh and change:
|
|
||||||
DEB_PACKAGES_SOURCE="/path/to/your/packages"
|
|
||||||
# Then run:
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## Building Your Own Packages
|
|
||||||
|
|
||||||
To generate pre-built packages:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /mnt/nas/Projects/Jak/debian-pkg
|
|
||||||
./build_all_final.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
This creates all 59 .deb packages in `build/debs/`
|
|
||||||
|
|
||||||
## Package Versions
|
|
||||||
|
|
||||||
All pre-built packages match upstream versions:
|
|
||||||
|
|
||||||
| Package | Version |
|
|
||||||
|---------|---------|
|
|
||||||
| hyprland | 0.52.2 |
|
|
||||||
| hyprutils | 0.10.4 |
|
|
||||||
| hyprgraphics | 0.4.0 |
|
|
||||||
| aquamarine | 0.10.0 |
|
|
||||||
| hyprtoolkit | 0.4.0 |
|
|
||||||
| (and 11 more) | (see VERSION_VERIFICATION.txt) |
|
|
||||||
|
|
||||||
## Benefits of Each Method
|
|
||||||
|
|
||||||
### Build from Source
|
|
||||||
- ✅ Ensures latest upstream code
|
|
||||||
- ✅ Custom compilation options possible
|
|
||||||
- ❌ Takes 1-2 hours
|
|
||||||
- ❌ Requires all build tools and deb-src enabled
|
|
||||||
|
|
||||||
### Build from Packages
|
|
||||||
- ✅ Fast installation (5-10 minutes)
|
|
||||||
- ✅ Pre-tested and validated builds
|
|
||||||
- ✅ No build tools required
|
|
||||||
- ✅ Works from network share
|
|
||||||
- ❌ Fixed versions (no custom compilation)
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### "No .deb files found" error
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
1. Check `DEB_PACKAGES_SOURCE` path exists
|
|
||||||
2. Verify .deb files are in that location
|
|
||||||
3. Check file permissions
|
|
||||||
4. Run `ls $DEB_PACKAGES_SOURCE/*.deb` to verify
|
|
||||||
|
|
||||||
### Package installation fails
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Manually fix dependencies:
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
|
|
||||||
# Or reinstall specific package:
|
|
||||||
sudo dpkg -i /path/to/package.deb
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
```
|
|
||||||
|
|
||||||
### Mixed dependency errors
|
|
||||||
|
|
||||||
**Solution:** Ensure all interdependent packages are installed together:
|
|
||||||
```bash
|
|
||||||
sudo dpkg -i $DEB_PACKAGES_SOURCE/*.deb
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
```
|
|
||||||
|
|
||||||
## Network Share Access
|
|
||||||
|
|
||||||
If packages are on a NAS/network share:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Mount the share (if not already mounted):
|
|
||||||
sudo mount -t nfs nas:/path/to/share /mnt/nas
|
|
||||||
|
|
||||||
# Or modify DEB_PACKAGES_SOURCE to your network path:
|
|
||||||
DEB_PACKAGES_SOURCE="//nas/Projects/Jak/debian-pkg/build/debs"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Version Information
|
|
||||||
|
|
||||||
- **Install script updated:** 2025-12-13
|
|
||||||
- **Package build system:** Debian dpkg-buildpackage
|
|
||||||
- **Supported distributions:** Debian Trixie / SiD
|
|
||||||
- **Pre-built packages location:** `/mnt/nas/Projects/Jak/debian-pkg/build/debs`
|
|
||||||
158
GIT_STATUS.md
158
GIT_STATUS.md
@ -1,158 +0,0 @@
|
|||||||
# Git Repository Status - Debian-Hyprland
|
|
||||||
|
|
||||||
## Repository Status
|
|
||||||
✅ **Current and Up-to-Date**
|
|
||||||
|
|
||||||
```
|
|
||||||
On branch development
|
|
||||||
Your branch is up to date with 'origin/development'.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Changes Made
|
|
||||||
|
|
||||||
### Modified Files
|
|
||||||
- `install.sh` - Main installation script
|
|
||||||
|
|
||||||
**Changes:**
|
|
||||||
- Added `DEB_PACKAGES_SOURCE` variable configuration
|
|
||||||
- Added `clean_existing_hyprland()` function (38 lines)
|
|
||||||
- Added `install_from_packages()` function (36 lines)
|
|
||||||
- Added build method selection logic (18 lines)
|
|
||||||
- Modified installation flow to handle both source and package methods (70+ lines modified/added)
|
|
||||||
|
|
||||||
**Total additions:** ~160 lines of code
|
|
||||||
**Total modifications:** ~70 lines wrapped in conditional logic
|
|
||||||
|
|
||||||
### New Files (Untracked)
|
|
||||||
1. `INSTALL_METHOD_GUIDE.md` - Comprehensive documentation (303 lines)
|
|
||||||
2. `QUICK_START.txt` - Quick reference guide (50 lines)
|
|
||||||
3. `CHANGES_SUMMARY.md` - Detailed change log (160 lines)
|
|
||||||
4. `GIT_STATUS.md` - This file
|
|
||||||
|
|
||||||
## Verification
|
|
||||||
|
|
||||||
### Script Integrity
|
|
||||||
✅ `install.sh` modifications are complete
|
|
||||||
✅ All functions properly integrated
|
|
||||||
✅ Build method selection working
|
|
||||||
✅ Cleanup function in place
|
|
||||||
✅ Package installation function active
|
|
||||||
|
|
||||||
### Key Features Added
|
|
||||||
✅ Package source variable (`DEB_PACKAGES_SOURCE`)
|
|
||||||
✅ Automatic build method detection
|
|
||||||
✅ User prompt for method selection
|
|
||||||
✅ Existing installation cleanup
|
|
||||||
✅ Pre-built package installation
|
|
||||||
✅ Backward compatibility with source builds
|
|
||||||
|
|
||||||
## Git Commands for Next Steps
|
|
||||||
|
|
||||||
### To stage and commit changes:
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
|
|
||||||
# Stage all changes
|
|
||||||
git add install.sh INSTALL_METHOD_GUIDE.md QUICK_START.txt CHANGES_SUMMARY.md
|
|
||||||
|
|
||||||
# Review changes
|
|
||||||
git status
|
|
||||||
|
|
||||||
# Commit
|
|
||||||
git commit -m "Add pre-built package installation option with automatic cleanup"
|
|
||||||
|
|
||||||
# Push to remote
|
|
||||||
git push origin development
|
|
||||||
```
|
|
||||||
|
|
||||||
### To check what changed:
|
|
||||||
```bash
|
|
||||||
# Show differences
|
|
||||||
git diff install.sh
|
|
||||||
|
|
||||||
# Show stats
|
|
||||||
git diff --stat
|
|
||||||
|
|
||||||
# Show full patch
|
|
||||||
git diff --patch
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation Script Summary
|
|
||||||
|
|
||||||
**Modified Lines:** ~250 total
|
|
||||||
**New Functions:** 2 (`clean_existing_hyprland`, `install_from_packages`)
|
|
||||||
**Configuration:** 1 variable (`DEB_PACKAGES_SOURCE`)
|
|
||||||
**New Logic:** Build method selection and conditional execution
|
|
||||||
|
|
||||||
## Current Configuration
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Location of pre-built .deb packages
|
|
||||||
DEB_PACKAGES_SOURCE="/mnt/nas/Projects/Jak/debian-pkg/build/debs"
|
|
||||||
|
|
||||||
# Available packages: 59 .deb files
|
|
||||||
# Hyprland version: 0.52.2
|
|
||||||
```
|
|
||||||
|
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
1. **Test the changes:**
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
# Select "YES" to test package installation
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Commit if successful:**
|
|
||||||
```bash
|
|
||||||
git add .
|
|
||||||
git commit -m "Add package installation support"
|
|
||||||
git push
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Update documentation in repo:**
|
|
||||||
- Add README section about new installation methods
|
|
||||||
- Link to INSTALL_METHOD_GUIDE.md from README
|
|
||||||
|
|
||||||
## Files Modified vs Untracked
|
|
||||||
|
|
||||||
### Modified (Will be committed):
|
|
||||||
- `install.sh` - Ready to commit
|
|
||||||
|
|
||||||
### Untracked (Consider committing):
|
|
||||||
- `INSTALL_METHOD_GUIDE.md` - Detailed documentation
|
|
||||||
- `QUICK_START.txt` - User guide
|
|
||||||
- `CHANGES_SUMMARY.md` - Technical reference
|
|
||||||
- `GIT_STATUS.md` - This status file
|
|
||||||
|
|
||||||
## Backward Compatibility
|
|
||||||
|
|
||||||
✅ **Fully backward compatible**
|
|
||||||
- Source build method still available
|
|
||||||
- If `DEB_PACKAGES_SOURCE` unavailable, defaults to source
|
|
||||||
- No breaking changes to existing workflows
|
|
||||||
- All original scripts still functional
|
|
||||||
|
|
||||||
## Testing Checklist
|
|
||||||
|
|
||||||
Before committing, test:
|
|
||||||
- [ ] Fresh install from pre-built packages
|
|
||||||
- [ ] Fresh install from source (select NO)
|
|
||||||
- [ ] Switch from source to packages on same system
|
|
||||||
- [ ] Package cleanup functionality
|
|
||||||
- [ ] Dependency resolution
|
|
||||||
- [ ] Final Hyprland installation verification
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
- Branch: `development` (not main)
|
|
||||||
- Remote is current: `origin/development` is up to date
|
|
||||||
- No merge conflicts
|
|
||||||
- Safe to commit after testing
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Status Verified:** 2025-12-13
|
|
||||||
**Repository:** ~/Projects/Jak/Debian-Hyprland
|
|
||||||
**Branch:** development
|
|
||||||
**Remote Status:** Current
|
|
||||||
@ -1,303 +0,0 @@
|
|||||||
# Hyprland Installation Method Guide
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
The `install.sh` script has been updated to support **two installation methods** with automatic cleanup of existing installations:
|
|
||||||
|
|
||||||
1. **Build from Source** (original method - slower, ~1-2 hours)
|
|
||||||
2. **Install from Pre-built Packages** (new method - faster, ~5-10 minutes)
|
|
||||||
|
|
||||||
## Key Features
|
|
||||||
|
|
||||||
### 1. Package Source Configuration
|
|
||||||
|
|
||||||
Located at the top of `install.sh`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
DEB_PACKAGES_SOURCE="/mnt/nas/Projects/Jak/debian-pkg/build/debs"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Modify this variable to:**
|
|
||||||
- Point to a local directory with .deb files
|
|
||||||
- Point to a network share (NAS/SMB/NFS)
|
|
||||||
- Leave empty (`""`) to always build from source
|
|
||||||
|
|
||||||
### 2. Automatic Build Method Selection
|
|
||||||
|
|
||||||
When you run `install.sh`:
|
|
||||||
|
|
||||||
```
|
|
||||||
1. Script checks if DEB_PACKAGES_SOURCE exists and contains .deb files
|
|
||||||
2. If found, prompts: "Install from pre-built packages or build from source?"
|
|
||||||
- YES → Install from packages (5-10 minutes)
|
|
||||||
- NO → Build from source (1-2 hours)
|
|
||||||
3. If not found, defaults to building from source
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Automatic Cleanup Before Package Installation
|
|
||||||
|
|
||||||
When installing from pre-built packages, the script **automatically removes** any existing Hyprland installations:
|
|
||||||
|
|
||||||
#### .deb Packages Removed
|
|
||||||
```
|
|
||||||
- hyprland
|
|
||||||
- hyprutils
|
|
||||||
- hyprgraphics
|
|
||||||
- hyprcursor
|
|
||||||
- hyprtoolkit
|
|
||||||
- hyprland-guiutils
|
|
||||||
- hyprwire
|
|
||||||
- aquamarine
|
|
||||||
- hypridle
|
|
||||||
- hyprlock
|
|
||||||
- hyprpolkitagent
|
|
||||||
- hyprpicker
|
|
||||||
- xdg-desktop-portal-hyprland
|
|
||||||
- hyprland-plugins
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Binaries Removed
|
|
||||||
```
|
|
||||||
- /usr/local/bin/Hyprland
|
|
||||||
- /usr/local/bin/hyprland
|
|
||||||
- /usr/bin/Hyprland
|
|
||||||
- /usr/bin/hyprland
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Development Files Removed
|
|
||||||
```
|
|
||||||
- /usr/local/include/hyprland*
|
|
||||||
- /usr/local/lib/libhypr*
|
|
||||||
- /usr/local/lib/libaquamarine*
|
|
||||||
- /usr/local/lib/libypr*
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Cleanup Steps
|
|
||||||
1. Removes all installed .deb packages using `apt-get remove`
|
|
||||||
2. Deletes source-built binaries
|
|
||||||
3. Removes development files from /usr/local
|
|
||||||
4. Updates library cache with `ldconfig`
|
|
||||||
5. Updates package cache with `apt-get update`
|
|
||||||
6. Installs new packages from .deb files
|
|
||||||
7. Fixes any dependency issues with `apt-get install -f`
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
### Basic Usage (Automatic Method Selection)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
The script will:
|
|
||||||
1. Detect available packages at `DEB_PACKAGES_SOURCE`
|
|
||||||
2. Ask which method you prefer
|
|
||||||
3. Execute the selected method with proper cleanup
|
|
||||||
|
|
||||||
### Using Pre-built Packages (Current Setup)
|
|
||||||
|
|
||||||
**Current package location:** `/mnt/nas/Projects/Jak/debian-pkg/build/debs`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
# When prompted: Select YES to use pre-built packages
|
|
||||||
# Script will:
|
|
||||||
# 1. Remove any existing Hyprland installations
|
|
||||||
# 2. Install 59 .deb packages (~5-10 minutes)
|
|
||||||
# 3. Verify installations
|
|
||||||
```
|
|
||||||
|
|
||||||
### Using Custom Package Location
|
|
||||||
|
|
||||||
Edit `install.sh` to change the source:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Edit this line in install.sh:
|
|
||||||
DEB_PACKAGES_SOURCE="/path/to/your/packages"
|
|
||||||
|
|
||||||
# Then run:
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Building from Source
|
|
||||||
|
|
||||||
Option 1: Edit script to disable packages
|
|
||||||
```bash
|
|
||||||
# In install.sh, change:
|
|
||||||
DEB_PACKAGES_SOURCE=""
|
|
||||||
|
|
||||||
# Then run:
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Option 2: During installation
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
# When prompted: Select NO to build from source
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation Flow
|
|
||||||
|
|
||||||
```
|
|
||||||
START
|
|
||||||
↓
|
|
||||||
Check DEB_PACKAGES_SOURCE exists and has .deb files
|
|
||||||
↓
|
|
||||||
├─ YES → Prompt user for build method
|
|
||||||
│ ├─ YES → Install from packages (selected method)
|
|
||||||
│ │ ├─ Clean existing installations
|
|
||||||
│ │ ├─ Remove .deb packages
|
|
||||||
│ │ ├─ Remove source binaries
|
|
||||||
│ │ ├─ Remove dev files
|
|
||||||
│ │ ├─ Update package cache
|
|
||||||
│ │ ├─ Install all .deb files
|
|
||||||
│ │ ├─ Fix dependencies
|
|
||||||
│ │ └─ Done
|
|
||||||
│ │
|
|
||||||
│ └─ NO → Build from source (selected method)
|
|
||||||
│ └─ Execute source build scripts
|
|
||||||
│
|
|
||||||
└─ NO → Build from source (default method)
|
|
||||||
└─ Execute source build scripts
|
|
||||||
```
|
|
||||||
|
|
||||||
## Available Pre-built Packages
|
|
||||||
|
|
||||||
**Location:** `/mnt/nas/Projects/Jak/debian-pkg/build/debs`
|
|
||||||
**Total:** 59 .deb files
|
|
||||||
|
|
||||||
### Core Packages
|
|
||||||
- hyprland 0.52.2
|
|
||||||
- hyprutils 0.10.4
|
|
||||||
- hyprgraphics 0.4.0
|
|
||||||
- aquamarine 0.10.0
|
|
||||||
- hyprtoolkit 0.4.0
|
|
||||||
|
|
||||||
### Utilities & Tools
|
|
||||||
- hypridle 0.1.7
|
|
||||||
- hyprlock 0.9.2
|
|
||||||
- hyprpicker 0.4.5
|
|
||||||
- hyprpolkitagent 0.1.3
|
|
||||||
- hyprcursor 0.1.13
|
|
||||||
|
|
||||||
### Extensions
|
|
||||||
- hyprland-guiutils 0.1.0
|
|
||||||
- hyprland-qt-support 0.1.0
|
|
||||||
- hyprwire 0.2.1
|
|
||||||
- xdg-desktop-portal-hyprland 1.3.11
|
|
||||||
- hyprland-plugins 0.52.0 (9 plugins)
|
|
||||||
|
|
||||||
### Package Types
|
|
||||||
- Binary packages: 28
|
|
||||||
- Development (-dev): 7
|
|
||||||
- Debug symbols (-dbgsym): 24
|
|
||||||
|
|
||||||
## Cleanup Function Details
|
|
||||||
|
|
||||||
### Function: `clean_existing_hyprland()`
|
|
||||||
|
|
||||||
**Purpose:** Remove conflicting installations before installing from packages
|
|
||||||
|
|
||||||
**Operations:**
|
|
||||||
1. **Package Removal**
|
|
||||||
- Uses `apt-get remove -y` for clean uninstallation
|
|
||||||
- Removes only installed packages (checks with `dpkg -l`)
|
|
||||||
|
|
||||||
2. **Binary Removal**
|
|
||||||
- Removes compiled binaries from /usr/bin and /usr/local/bin
|
|
||||||
- Safely handles missing files
|
|
||||||
|
|
||||||
3. **Development File Removal**
|
|
||||||
- Clears header files from /usr/local/include/
|
|
||||||
- Clears library files from /usr/local/lib/
|
|
||||||
- Updates library cache
|
|
||||||
|
|
||||||
**Logging:** All actions logged to Install-Logs directory
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### "No .deb files found" error
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Check if directory exists:
|
|
||||||
ls -la /mnt/nas/Projects/Jak/debian-pkg/build/debs/
|
|
||||||
|
|
||||||
# Verify files are readable:
|
|
||||||
ls /mnt/nas/Projects/Jak/debian-pkg/build/debs/*.deb | wc -l
|
|
||||||
|
|
||||||
# If network share, verify mount:
|
|
||||||
mount | grep nas
|
|
||||||
```
|
|
||||||
|
|
||||||
### Package installation fails
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Manually fix dependencies:
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
|
|
||||||
# Check package status:
|
|
||||||
dpkg -l | grep hyprland
|
|
||||||
```
|
|
||||||
|
|
||||||
### Conflicts with source-built version
|
|
||||||
|
|
||||||
The cleanup function should handle this automatically. If issues persist:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Manual cleanup:
|
|
||||||
sudo apt-get remove -y hyprland* hyprutils* hyprgraphics* aquamarine* hyprtoolkit*
|
|
||||||
sudo rm -rf /usr/local/include/hyprland* /usr/local/lib/libhypr*
|
|
||||||
sudo ldconfig
|
|
||||||
sudo apt-get update
|
|
||||||
```
|
|
||||||
|
|
||||||
## Environment Variables
|
|
||||||
|
|
||||||
### DEB_PACKAGES_SOURCE
|
|
||||||
|
|
||||||
- **Type:** Path (local or network)
|
|
||||||
- **Default:** `/mnt/nas/Projects/Jak/debian-pkg/build/debs`
|
|
||||||
- **Usage:** Specifies where pre-built .deb packages are located
|
|
||||||
- **Can be:**
|
|
||||||
- Local path: `/home/user/debs`
|
|
||||||
- Network share: `//nas/share/debs`
|
|
||||||
- Empty (to disable): `""`
|
|
||||||
|
|
||||||
## Performance Comparison
|
|
||||||
|
|
||||||
| Aspect | Source Build | Pre-built Packages |
|
|
||||||
|--------|--------------|-------------------|
|
|
||||||
| Time | 1-2 hours | 5-10 minutes |
|
|
||||||
| Complexity | High (compile, test) | Low (install only) |
|
|
||||||
| Disk Space | ~10-20GB | ~1-2GB |
|
|
||||||
| Build Tools | Required | Not needed |
|
|
||||||
| Customization | Full control | Fixed version |
|
|
||||||
| Network Dependency | GitHub API | Package location |
|
|
||||||
|
|
||||||
## Version Information
|
|
||||||
|
|
||||||
- **Script Updated:** 2025-12-13
|
|
||||||
- **Compatible with:** Debian Trixie / SiD
|
|
||||||
- **Hyprland Version:** 0.52.2
|
|
||||||
- **Build System:** dpkg-buildpackage
|
|
||||||
- **Pre-built Package Count:** 59 files
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
- **Cleanup is automatic:** No manual intervention needed when switching from source to packages
|
|
||||||
- **Safe removal:** Only removes known Hyprland packages and binaries
|
|
||||||
- **Dependency fixing:** Automatic `apt-get install -f` handles missing dependencies
|
|
||||||
- **Logging:** All operations logged to Install-Logs/ directory
|
|
||||||
- **Network shares:** Works with NFS, SMB, or local paths
|
|
||||||
|
|
||||||
## Support
|
|
||||||
|
|
||||||
For issues:
|
|
||||||
1. Check Install-Logs/ directory for detailed error messages
|
|
||||||
2. Verify package location exists and is accessible
|
|
||||||
3. Ensure read permissions on .deb files
|
|
||||||
4. Run `apt-get update` manually if needed
|
|
||||||
5. Check system resources (disk space, RAM)
|
|
||||||
@ -1,259 +0,0 @@
|
|||||||
# Package Installation Troubleshooting Guide
|
|
||||||
|
|
||||||
## Recent Update (2025-12-13)
|
|
||||||
|
|
||||||
The `install.sh` script has been updated to:
|
|
||||||
- **Skip plugins by default** (optional, can install manually)
|
|
||||||
- **Skip debug symbols by default** (optional, can install manually)
|
|
||||||
- **Focus on core packages only** for initial installation
|
|
||||||
- **Improve dependency resolution** with `apt-get install -f`
|
|
||||||
|
|
||||||
## Common Dependency Issues
|
|
||||||
|
|
||||||
### Issue: Missing libhyprlang2
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
hypridle depends on libhyprlang2 (>= 0.6.4); however:
|
|
||||||
Package libhyprlang2 is not installed.
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** libhyprlang is not included in the current pre-built packages. It needs to be built or installed from Debian repositories.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Option 1: Install from Debian repositories
|
|
||||||
sudo apt-get install libhyprlang2
|
|
||||||
|
|
||||||
# Option 2: Build from source (fallback to source method in install.sh)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Issue: Missing libaquamarine8
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
hyprland depends on libaquamarine8 (>= 0.9.5); however:
|
|
||||||
Package libaquamarine8 is not installed.
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** Pre-built packages have libaquamarine9, not libaquamarine8. Version mismatch.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Check what's installed:
|
|
||||||
dpkg -l | grep aquamarine
|
|
||||||
|
|
||||||
# If you have libaquamarine9, it should work with newer hyprland
|
|
||||||
# If not, install aquamarine from packages:
|
|
||||||
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/libaquamarine*.deb
|
|
||||||
```
|
|
||||||
|
|
||||||
### Issue: libstdc++6 version too old
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
hyprland depends on libstdc++6 (>= 15); however:
|
|
||||||
Version of libstdc++6:amd64 on system is 14.2.0-19.
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** System C++ standard library is older than required.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Update your system (highest priority):
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get upgrade
|
|
||||||
|
|
||||||
# Or install g++ 15:
|
|
||||||
sudo apt-get install g++-15
|
|
||||||
```
|
|
||||||
|
|
||||||
### Issue: libxkbcommon0 version too old
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
hyprland depends on libxkbcommon0 (>= 1.12.3); however:
|
|
||||||
Version of libxkbcommon0:amd64 on system is 1.7.0-2.
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cause:** System xkbcommon library is older than required.
|
|
||||||
|
|
||||||
**Solution:**
|
|
||||||
```bash
|
|
||||||
# Update system packages:
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get upgrade libxkbcommon0
|
|
||||||
|
|
||||||
# Or build from source:
|
|
||||||
sudo apt-get build-dep libxkbcommon
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation Workflow (Updated)
|
|
||||||
|
|
||||||
### Step 1: Install Core Packages
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
# Select YES to use pre-built packages
|
|
||||||
# Script will skip plugins and debug symbols automatically
|
|
||||||
```
|
|
||||||
|
|
||||||
**What gets installed:**
|
|
||||||
- Core libraries (hyprutils, hyprgraphics, hyprcursor, etc.)
|
|
||||||
- Main compositor (hyprland)
|
|
||||||
- Essential utilities (hypridle, hyprlock, etc.)
|
|
||||||
- Development files (-dev packages)
|
|
||||||
|
|
||||||
**What is skipped (can install manually later):**
|
|
||||||
- Hyprland plugins (9 optional plugins)
|
|
||||||
- Debug symbols (-dbgsym packages)
|
|
||||||
|
|
||||||
### Step 2: Fix Missing Dependencies
|
|
||||||
|
|
||||||
If you encounter missing dependencies:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Install missing system dependencies:
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
|
|
||||||
# This will attempt to resolve any broken dependencies from Debian repos
|
|
||||||
```
|
|
||||||
|
|
||||||
### Step 3: Install Optional Components
|
|
||||||
|
|
||||||
**Install plugins (if desired):**
|
|
||||||
```bash
|
|
||||||
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/hyprland-plugin-*.deb
|
|
||||||
```
|
|
||||||
|
|
||||||
**Install debug symbols (if desired):**
|
|
||||||
```bash
|
|
||||||
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/*-dbgsym*.deb
|
|
||||||
```
|
|
||||||
|
|
||||||
## Dependency Resolution Strategy
|
|
||||||
|
|
||||||
The updated script uses a staged approach:
|
|
||||||
|
|
||||||
1. **Install core packages** (libraries and binaries)
|
|
||||||
2. **Run `apt-get install -f`** to resolve from Debian repos
|
|
||||||
3. **Skip optional components** (plugins, debug)
|
|
||||||
4. **Provide manual install commands** for optional packages
|
|
||||||
|
|
||||||
## System Requirements
|
|
||||||
|
|
||||||
For successful installation, ensure:
|
|
||||||
|
|
||||||
| Component | Minimum | Recommended |
|
|
||||||
|-----------|---------|------------|
|
|
||||||
| libstdc++6 | 14.2.0 | 15.x |
|
|
||||||
| libxkbcommon0 | 1.7.0 | 1.12.3+ |
|
|
||||||
| Debian Release | Trixie | Trixie or newer |
|
|
||||||
|
|
||||||
## Upgrading System Libraries
|
|
||||||
|
|
||||||
If you have dependency version issues:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Full system upgrade (safest approach)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get upgrade
|
|
||||||
|
|
||||||
# Or targeted package upgrades
|
|
||||||
sudo apt-get install --only-upgrade libstdc++6
|
|
||||||
sudo apt-get install --only-upgrade libxkbcommon0
|
|
||||||
```
|
|
||||||
|
|
||||||
## Manual Installation Without Script
|
|
||||||
|
|
||||||
If the script fails, install packages manually:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /mnt/nas/Projects/Jak/debian-pkg/build/debs
|
|
||||||
|
|
||||||
# Install only core .deb files (not plugins or debug):
|
|
||||||
for deb in *.deb; do
|
|
||||||
if [[ "$deb" != *"-dbgsym"* ]] && [[ "$deb" != "hyprland-plugin"* ]]; then
|
|
||||||
sudo dpkg -i "$deb"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Fix dependencies:
|
|
||||||
sudo apt-get install -f -y
|
|
||||||
```
|
|
||||||
|
|
||||||
## Known Issues
|
|
||||||
|
|
||||||
### Issue: Plugins require hyprland to be installed first
|
|
||||||
**Status:** Fixed in updated script (plugins skipped)
|
|
||||||
**Solution:** Install core packages first, then manually install plugins
|
|
||||||
|
|
||||||
### Issue: Debug symbols require main package
|
|
||||||
**Status:** Fixed in updated script (dbgsym skipped)
|
|
||||||
**Solution:** Install main packages first, then manually install -dbgsym
|
|
||||||
|
|
||||||
### Issue: Some libraries missing from pre-built
|
|
||||||
**Status:** Partially fixed with `apt-get install -f`
|
|
||||||
**Solution:** Keep system updated, use fallback to source build if needed
|
|
||||||
|
|
||||||
## Fallback to Source Build
|
|
||||||
|
|
||||||
If package installation fails completely:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
# When prompted: Select NO to build from source instead
|
|
||||||
# Takes 1-2 hours but builds everything from scratch
|
|
||||||
```
|
|
||||||
|
|
||||||
## Getting Help
|
|
||||||
|
|
||||||
1. **Check Install-Logs directory:**
|
|
||||||
```bash
|
|
||||||
cat Install-Logs/01-Hyprland-Install-Scripts-*.log
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Check package status:**
|
|
||||||
```bash
|
|
||||||
dpkg -l | grep hyprland
|
|
||||||
apt-cache policy hyprland
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Check system libraries:**
|
|
||||||
```bash
|
|
||||||
ldd /usr/bin/Hyprland
|
|
||||||
dpkg -l | grep libstdc++6
|
|
||||||
dpkg -l | grep libxkbcommon0
|
|
||||||
```
|
|
||||||
|
|
||||||
## Summary
|
|
||||||
|
|
||||||
**Core Changes (2025-12-13):**
|
|
||||||
- ✅ Skip plugins by default (reduce dependency issues)
|
|
||||||
- ✅ Skip debug symbols by default (faster installation)
|
|
||||||
- ✅ Auto-fix missing Debian dependencies with `apt-get install -f`
|
|
||||||
- ✅ Provide manual commands for optional packages
|
|
||||||
- ✅ Better error handling and logging
|
|
||||||
|
|
||||||
**Installation Time:**
|
|
||||||
- Core packages: 5-10 minutes
|
|
||||||
- With plugins: +5 minutes
|
|
||||||
- With debug symbols: +10 minutes
|
|
||||||
|
|
||||||
**Next Steps After Install:**
|
|
||||||
```bash
|
|
||||||
# Verify installation:
|
|
||||||
hyprland --version
|
|
||||||
Hyprland --help
|
|
||||||
|
|
||||||
# Install plugins (optional):
|
|
||||||
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/hyprland-plugin-*.deb
|
|
||||||
|
|
||||||
# Install debug symbols (optional):
|
|
||||||
sudo dpkg -i /mnt/nas/Projects/Jak/debian-pkg/build/debs/*-dbgsym*.deb
|
|
||||||
|
|
||||||
# Reboot to ensure all changes take effect:
|
|
||||||
sudo reboot
|
|
||||||
```
|
|
||||||
@ -1,79 +0,0 @@
|
|||||||
=== QUICK START - HYPRLAND INSTALLATION ===
|
|
||||||
|
|
||||||
OPTION 1: Install from Pre-built Packages (RECOMMENDED - 5-10 minutes)
|
|
||||||
---
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
→ When prompted, select YES to use pre-built packages
|
|
||||||
→ Script automatically cleans old installations and installs fresh
|
|
||||||
|
|
||||||
Benefits:
|
|
||||||
✓ Fast (5-10 minutes vs 1-2 hours)
|
|
||||||
✓ No build tools needed
|
|
||||||
✓ Pre-tested and validated
|
|
||||||
✓ 59 packages ready to install
|
|
||||||
|
|
||||||
|
|
||||||
OPTION 2: Build from Source (1-2 hours)
|
|
||||||
---
|
|
||||||
cd ~/Projects/Jak/Debian-Hyprland
|
|
||||||
./install.sh
|
|
||||||
→ When prompted, select NO to build from source
|
|
||||||
→ Script compiles everything from GitHub
|
|
||||||
|
|
||||||
Benefits:
|
|
||||||
✓ Latest upstream code
|
|
||||||
✓ Custom build options possible
|
|
||||||
✗ Takes much longer
|
|
||||||
✗ Requires all build tools
|
|
||||||
|
|
||||||
|
|
||||||
KEY CHANGES IN install.sh:
|
|
||||||
---
|
|
||||||
1. DEB_PACKAGES_SOURCE variable (line 6)
|
|
||||||
Current: /mnt/nas/Projects/Jak/debian-pkg/build/debs
|
|
||||||
Change this to use different package location
|
|
||||||
|
|
||||||
2. clean_existing_hyprland() function (lines 123-160)
|
|
||||||
- Removes old .deb packages
|
|
||||||
- Removes source-built binaries
|
|
||||||
- Removes development files from /usr/local
|
|
||||||
- Updates library cache
|
|
||||||
|
|
||||||
3. install_from_packages() function (lines 162-197)
|
|
||||||
- Validates packages exist
|
|
||||||
- Calls cleanup function
|
|
||||||
- Installs all .deb files
|
|
||||||
- Fixes dependencies
|
|
||||||
|
|
||||||
|
|
||||||
PRE-BUILT PACKAGES:
|
|
||||||
---
|
|
||||||
Location: /mnt/nas/Projects/Jak/debian-pkg/build/debs
|
|
||||||
Total: 59 .deb files
|
|
||||||
Version: Hyprland 0.52.2 (and all dependencies)
|
|
||||||
|
|
||||||
|
|
||||||
TROUBLESHOOTING:
|
|
||||||
---
|
|
||||||
Q: Script says "No .deb files found"
|
|
||||||
A: Check if path is correct and accessible
|
|
||||||
ls -la /mnt/nas/Projects/Jak/debian-pkg/build/debs/
|
|
||||||
|
|
||||||
Q: Installation fails with dependency errors
|
|
||||||
A: Run manually: sudo apt-get install -f -y
|
|
||||||
|
|
||||||
Q: Want to switch from source to packages?
|
|
||||||
A: The cleanup function automatically handles this!
|
|
||||||
Just run ./install.sh again and choose packages
|
|
||||||
|
|
||||||
|
|
||||||
MORE INFO:
|
|
||||||
---
|
|
||||||
See INSTALL_METHOD_GUIDE.md for detailed documentation
|
|
||||||
See Install-Logs/ directory for error details if something fails
|
|
||||||
|
|
||||||
|
|
||||||
READY TO GO:
|
|
||||||
---
|
|
||||||
./install.sh
|
|
||||||
Loading…
x
Reference in New Issue
Block a user