#!/bin/bash set -e # Test script for deb-bootupd Debian package # This script validates and tests the built .deb package echo "๐Ÿงช Testing deb-bootupd Debian package..." # Check if package files exist PACKAGE_FILE=$(find .. -name "deb-bootupd_*.deb" | head -1) if [ -z "$PACKAGE_FILE" ]; then echo "โŒ Error: No deb-bootupd package found. Build the package first with ./build-deb.sh" exit 1 fi echo "๐Ÿ“ฆ Found package: $PACKAGE_FILE" # Validate package structure echo "๐Ÿ” Validating package structure..." dpkg-deb -I "$PACKAGE_FILE" | grep -E "(Package|Version|Architecture|Depends|Description)" || true echo "๐Ÿ“ Package contents:" dpkg-deb -c "$PACKAGE_FILE" | head -20 # Check package dependencies echo "๐Ÿ”— Package dependencies:" dpkg-deb -I "$PACKAGE_FILE" | grep "Depends:" || echo "No dependencies listed" # Test package installation (dry run) echo "๐Ÿงช Testing package installation (dry run)..." dpkg --dry-run -i "$PACKAGE_FILE" || echo "โš ๏ธ Dry run installation check failed" # Check for common packaging issues echo "๐Ÿ” Checking for common packaging issues..." # Check if binary is executable if dpkg-deb -c "$PACKAGE_FILE" | grep -q "usr/libexec/bootupd"; then echo "โœ… Binary found in correct location" else echo "โŒ Binary not found in usr/libexec/" fi # Check if symlink is present if dpkg-deb -c "$PACKAGE_FILE" | grep -q "usr/bin/bootupctl"; then echo "โœ… Symlink found in correct location" else echo "โŒ Symlink not found in usr/bin/" fi # Check if systemd files are NOT present (bootupd is not a daemon) if dpkg-deb -c "$PACKAGE_FILE" | grep -q "etc/systemd/system/bootupd.service"; then echo "โŒ Systemd service file found (should not be present)" else echo "โœ… No systemd service file (correct - bootupd is not a daemon)" fi if dpkg-deb -c "$PACKAGE_FILE" | grep -q "etc/systemd/system/bootupd.socket"; then echo "โŒ Systemd socket file found (should not be present)" else echo "โœ… No systemd socket file (correct - bootupd is not a daemon)" fi # Check if documentation is present if dpkg-deb -c "$PACKAGE_FILE" | grep -q "usr/share/doc/deb-bootupd"; then echo "โœ… Documentation directory found" else echo "โŒ Documentation directory not found" fi echo "" echo "๐ŸŽฏ Package validation complete!" echo "๐Ÿ“ฆ Package file: $PACKAGE_FILE" echo "" echo "๐Ÿ’ก To install the package:" echo " sudo dpkg -i $PACKAGE_FILE" echo " sudo apt-get install -f # Fix any dependency issues" echo "" echo "๐Ÿ’ก To test the package:" echo " bootupctl --help" echo " bootupctl status" echo " bootupctl validate"