Rename Debian package from skyview to skyview-adsb

The official Debian repositories already contain a package named
"skyview" which is associated with NASA's SkyView Virtual Observatory
(https://skyview.gsfc.nasa.gov/), a tool for astronomical data
visualization.

To avoid package naming conflicts and potential confusion for users,
this commit renames our ADS-B aircraft tracking application package
to "skyview-adsb". This clearly indicates the package's purpose
(ADS-B tracking) while maintaining the SkyView brand identity.

Changes:
- Package name: skyview → skyview-adsb
- System user/group: skyview → skyview-adsb
- Config directory: /etc/skyview → /etc/skyview-adsb
- Data directory: /var/lib/skyview → /var/lib/skyview-adsb
- Log directory: /var/log/skyview → /var/log/skyview-adsb
- Systemd service: skyview.service → skyview-adsb.service
- Documentation path: /usr/share/doc/skyview → /usr/share/doc/skyview-adsb

The binaries (/usr/bin/skyview and /usr/bin/beast-dump) remain
unchanged as they don't conflict at the filesystem level.

This ensures clean installation alongside any existing skyview
packages and prevents apt/dpkg conflicts during installation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-25 08:23:11 +02:00
commit be5369c195
9 changed files with 162 additions and 37 deletions

View file

@ -1 +1 @@
/etc/skyview/config.json
/etc/skyview-adsb/config.json

View file

@ -1,4 +1,4 @@
Package: skyview
Package: skyview-adsb
Version: 0.0.4
Section: net
Priority: optional

View file

@ -3,25 +3,25 @@ set -e
case "$1" in
configure)
# Create skyview user and group if they don't exist
if ! getent group skyview >/dev/null 2>&1; then
addgroup --system --quiet skyview
# Create skyview-adsb user and group if they don't exist
if ! getent group skyview-adsb >/dev/null 2>&1; then
addgroup --system --quiet skyview-adsb
fi
if ! getent passwd skyview >/dev/null 2>&1; then
adduser --system --ingroup skyview --home /var/lib/skyview \
--no-create-home --disabled-password --quiet skyview
if ! getent passwd skyview-adsb >/dev/null 2>&1; then
adduser --system --ingroup skyview-adsb --home /var/lib/skyview-adsb \
--no-create-home --disabled-password --quiet skyview-adsb
fi
# Create directories with proper permissions
mkdir -p /var/lib/skyview /var/log/skyview >/dev/null 2>&1 || true
chown skyview:skyview /var/lib/skyview /var/log/skyview >/dev/null 2>&1 || true
chmod 755 /var/lib/skyview /var/log/skyview >/dev/null 2>&1 || true
mkdir -p /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
chown skyview-adsb:skyview-adsb /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
chmod 755 /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
# Set permissions on config files
if [ -f /etc/skyview/config.json ]; then
chown root:skyview /etc/skyview/config.json >/dev/null 2>&1 || true
chmod 640 /etc/skyview/config.json >/dev/null 2>&1 || true
if [ -f /etc/skyview-adsb/config.json ]; then
chown root:skyview-adsb /etc/skyview-adsb/config.json >/dev/null 2>&1 || true
chmod 640 /etc/skyview-adsb/config.json >/dev/null 2>&1 || true
fi
@ -29,9 +29,9 @@ case "$1" in
systemctl daemon-reload >/dev/null 2>&1 || true
# Check if service was previously enabled
if systemctl is-enabled skyview >/dev/null 2>&1; then
if systemctl is-enabled skyview-adsb >/dev/null 2>&1; then
# Service was enabled, restart it
systemctl restart skyview >/dev/null 2>&1 || true
systemctl restart skyview-adsb >/dev/null 2>&1 || true
fi
;;
esac

16
debian/DEBIAN/postrm vendored
View file

@ -4,22 +4,22 @@ set -e
case "$1" in
purge)
# Remove user and group
if getent passwd skyview >/dev/null 2>&1; then
deluser --system skyview >/dev/null 2>&1 || true
if getent passwd skyview-adsb >/dev/null 2>&1; then
deluser --system skyview-adsb >/dev/null 2>&1 || true
fi
if getent group skyview >/dev/null 2>&1; then
delgroup --system skyview >/dev/null 2>&1 || true
if getent group skyview-adsb >/dev/null 2>&1; then
delgroup --system skyview-adsb >/dev/null 2>&1 || true
fi
# Remove data directories
rm -rf /var/lib/skyview
rm -rf /var/log/skyview
rm -rf /var/lib/skyview-adsb
rm -rf /var/log/skyview-adsb
# Remove config directory if empty
rmdir /etc/skyview 2>/dev/null || true
rmdir /etc/skyview-adsb 2>/dev/null || true
echo "SkyView has been completely removed."
echo "SkyView ADS-B has been completely removed."
;;
remove)

8
debian/DEBIAN/prerm vendored
View file

@ -4,12 +4,12 @@ set -e
case "$1" in
remove|upgrade|deconfigure)
# Stop and disable the service
if systemctl is-active --quiet skyview.service; then
systemctl stop skyview.service
if systemctl is-active --quiet skyview-adsb.service; then
systemctl stop skyview-adsb.service
fi
if systemctl is-enabled --quiet skyview.service; then
systemctl disable skyview.service
if systemctl is-enabled --quiet skyview-adsb.service; then
systemctl disable skyview-adsb.service
fi
;;
esac

View file

@ -6,13 +6,13 @@ Wants=network.target
[Service]
Type=simple
User=skyview
Group=skyview
ExecStart=/usr/bin/skyview -config /etc/skyview/config.json
WorkingDirectory=/var/lib/skyview
User=skyview-adsb
Group=skyview-adsb
ExecStart=/usr/bin/skyview -config /etc/skyview-adsb/config.json
WorkingDirectory=/var/lib/skyview-adsb
StandardOutput=journal
StandardError=journal
SyslogIdentifier=skyview
SyslogIdentifier=skyview-adsb
Restart=always
RestartSec=5
@ -37,7 +37,7 @@ RestrictNamespaces=true
PrivateNetwork=false
# Allow writing to log directory
ReadWritePaths=/var/log/skyview
ReadWritePaths=/var/log/skyview-adsb
# Capabilities
CapabilityBoundingSet=CAP_NET_BIND_SERVICE

View file

@ -0,0 +1,125 @@
SkyView for Debian
==================
SkyView is a multi-source ADS-B aircraft tracker that connects to dump1090 Beast
format TCP streams and provides a web-based interface for aircraft tracking.
Configuration
------------
The main configuration file is located at:
/etc/skyview/config.json
This file contains:
- Server configuration (port, host)
- List of dump1090 sources to connect to
- Application settings
Example configuration for multiple receivers:
```json
{
"server": {
"host": "",
"port": 8080
},
"sources": [
{
"id": "site1",
"name": "Site 1 Receiver",
"host": "192.168.1.100",
"port": 30005,
"latitude": 51.4700,
"longitude": -0.4600,
"altitude": 50.0,
"enabled": true
},
{
"id": "site2",
"name": "Site 2 Receiver",
"host": "192.168.1.101",
"port": 30005,
"latitude": 51.4800,
"longitude": -0.4500,
"altitude": 45.0,
"enabled": true
}
],
"settings": {
"history_limit": 1000,
"stale_timeout": 60,
"update_rate": 1
}
}
```
Service Management
-----------------
SkyView runs as a systemd service. Use these commands to manage it:
# Start the service
sudo systemctl start skyview
# Stop the service
sudo systemctl stop skyview
# Restart the service
sudo systemctl restart skyview
# Enable auto-start on boot
sudo systemctl enable skyview
# Disable auto-start on boot
sudo systemctl disable skyview
# Check service status
sudo systemctl status skyview
# View logs
sudo journalctl -u skyview -f
Web Interface
------------
Once started, the web interface is available at:
http://localhost:8080
The interface provides:
- Real-time aircraft tracking map
- Aircraft table with filtering and sorting
- Statistics dashboard
- Coverage and signal strength visualization
- 3D radar view (optional)
Files and Directories
--------------------
/usr/bin/skyview - Main executable
/etc/skyview/config.json - Configuration file
/var/lib/skyview/ - Application data directory
/var/log/skyview/ - Log files
/lib/systemd/system/skyview.service - Systemd service file
Security
--------
SkyView runs as the unprivileged 'skyview' user for security. The service has
restricted capabilities and filesystem access.
Troubleshooting
--------------
1. Check service status:
sudo systemctl status skyview
2. View recent logs:
sudo journalctl -u skyview --no-pager -l
3. Test configuration:
sudo -u skyview /usr/bin/skyview -config /etc/skyview/config.json
4. Check network connectivity to dump1090 sources:
telnet <host> <port>
For more information, visit: https://github.com/skyview/skyview

Binary file not shown.