ee4468ca23
* Add Debian packaging support with cargo-deb - Add cargo-deb metadata to socktop and socktop_agent Cargo.toml - Create systemd service file for socktop_agent - Add postinst/postrm maintainer scripts for user/group management - Create GitHub Actions workflow to build .deb packages for AMD64 and ARM64 - Add comprehensive documentation in docs/DEBIAN_PACKAGING.md - Packages will be available as artifacts on every push - Automatic GitHub releases for version tags * Add summary documentation for debian packaging * fix unit test, move to macro cargo_bin! * hotfix for issue with socktop agent not creating ssl certificate on first launch after upgrade of axum server version. * Add helpful post-install message to guide users on enabling socktop-agent service * Fix CI build by installing libdrm development dependencies * Fix package rename script - cargo-deb already includes architecture in filename * Make GPU support optional to enable RISC-V builds without libdrm - Add 'gpu' feature flag (enabled by default) - Make gfxinfo dependency optional - Provide no-op GPU metrics when gpu feature disabled - Disable GPU support for RISC-V builds in CI (libdrm unavailable) - All other architectures (amd64, arm64, armhf) still get GPU support * feature gate GPU stats for arm v7 * specify correct package names. * install aarch64-linux-gnu-gcc build dep * specify correct package name * add RISC-V GCC compiler * add .cargo to gitignore to elimicate issue with riscv64-linux-gnu-gcc linker in config.toml * add gcc-arm-linux-gnueabihf linker fore armv7 * set correct x-compile lib gcc-aarch64-linux-gnu for arm64 builds. * add ports.ubuntu.com to sources * Add ARM64 as a foreign architecture * fixe for ARM64 build. * security.ubuntu.com` aNNOYING * apt repo github page * copy output to apt repo * fix secrets path * fix secrets path * change build dep * Fix postinst message box alignment * ci(deb): restrict APT publish to v* release tags Previously the workflow built and published on every push to master and feature/debian-packaging in addition to v* tags. That meant the gh-pages APT repo got overwritten on every commit with same-version .debs, causing apt clients to see a phantom "update available" each time and burning ~5-10 min of cross-compile CI per merge. After this change: - PRs into master still cross-build .debs as a sanity check. - v* tags build, publish to gh-pages, and create a GitHub release. - workflow_dispatch remains as the manual escape hatch. - master pushes no longer trigger this workflow (ci.yml still runs). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
58 lines
2.9 KiB
Bash
Executable File
58 lines
2.9 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# Create socktop user and group if they don't exist
|
|
if ! getent group socktop >/dev/null; then
|
|
addgroup --system socktop
|
|
fi
|
|
|
|
if ! getent passwd socktop >/dev/null; then
|
|
adduser --system --ingroup socktop --home /var/lib/socktop \
|
|
--no-create-home --disabled-password --disabled-login \
|
|
--gecos "Socktop Agent" socktop
|
|
fi
|
|
|
|
# Create state directory
|
|
mkdir -p /var/lib/socktop
|
|
chown socktop:socktop /var/lib/socktop
|
|
chmod 755 /var/lib/socktop
|
|
|
|
# Create config directory if it doesn't exist
|
|
mkdir -p /etc/socktop
|
|
chmod 755 /etc/socktop
|
|
|
|
#DEBHELPER#
|
|
|
|
# Print helpful message to the user
|
|
cat <<EOF
|
|
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|
│ socktop-agent has been installed successfully! │
|
|
├─────────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ The systemd service has been installed but is NOT enabled by │
|
|
│ default. To enable and start the service: │
|
|
│ │
|
|
│ sudo systemctl enable --now socktop-agent │
|
|
│ │
|
|
│ To start without enabling on boot: │
|
|
│ │
|
|
│ sudo systemctl start socktop-agent │
|
|
│ │
|
|
│ To check service status: │
|
|
│ │
|
|
│ sudo systemctl status socktop-agent │
|
|
│ │
|
|
│ Default settings: │
|
|
│ - Port: 3000 (use -p or --port to change) │
|
|
│ - SSL/TLS: disabled (use --enableSSL to enable) │
|
|
│ │
|
|
│ For more information, see: │
|
|
│ /usr/share/doc/socktop_agent/README.md │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|
|
|
EOF
|
|
|
|
exit 0
|