#!/bin/bash # Install rlogg and create file association for .log files # This script installs to user-local directories (~/.local/) and does not require sudo set -e echo "Installing RLogg Log Viewer..." echo "" # Determine the directory where this script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Check if rlogg binary exists if [ ! -f "$SCRIPT_DIR/../../target/release/rlogg" ]; then echo "Error: rlogg binary not found at $SCRIPT_DIR/../../target/release/rlogg" echo "Please build the project first with: cargo build --release" exit 1 fi # User-local installation (no sudo required) echo "Installing binary to ~/.local/bin/..." mkdir -p ~/.local/bin cp "$SCRIPT_DIR/../../target/release/rlogg" ~/.local/bin/ chmod +x ~/.local/bin/rlogg # Install desktop file with correct path echo "Installing desktop file..." mkdir -p ~/.local/share/applications # Create desktop file with absolute path to the binary cat > ~/.local/share/applications/rlogg.desktop < /dev/null; then update-desktop-database ~/.local/share/applications 2>/dev/null || true fi if command -v update-mime-database &> /dev/null; then update-mime-database ~/.local/share/mime 2>/dev/null || true fi echo "" echo "Installation complete!" echo "" echo "RLogg has been installed to: ~/.local/bin/rlogg" echo "" echo "IMPORTANT: Make sure ~/.local/bin is in your PATH." echo "Add this line to your ~/.bashrc or ~/.zshrc if it's not already there:" echo ' export PATH="$HOME/.local/bin:$PATH"' echo "" echo "File associations have been configured for .log files." echo "You may need to log out and log back in for file associations to take effect." echo "" echo "To uninstall, run:" echo " rm ~/.local/bin/rlogg" echo " rm ~/.local/share/applications/rlogg.desktop" echo " rm ~/.local/share/mime/packages/text-x-log.xml" echo " update-desktop-database ~/.local/share/applications" echo " update-mime-database ~/.local/share/mime"