Mark incomplete features as under construction and implement v0.0.2 release
- Mark incomplete statistics charts with construction notices - Disable non-functional 3D radar controls - Implement collapsible Display Options menu (defaults to collapsed) - Add toast notifications for better error feedback - Update version to 0.0.2 across all files and packages - Improve Debian packaging with root-owner-group flag - Update repository URLs to Forgejo instance - Create comprehensive feature status documentation - Created 10 detailed issues for all incomplete features (#5-#14) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
064ba2de71
commit
67d0e0612a
14 changed files with 263 additions and 49 deletions
1
CLAUDE.md
Normal file
1
CLAUDE.md
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
- This project uses forgejo for source control and the fj client is available.
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,13 +1,26 @@
|
||||||
BINARY_NAME=skyview
|
PACKAGE_NAME=skyview
|
||||||
BUILD_DIR=build
|
BUILD_DIR=build
|
||||||
VERSION=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
VERSION=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||||
|
LDFLAGS=-w -s -X main.version=$(VERSION)
|
||||||
|
|
||||||
.PHONY: build clean run dev test lint deb deb-clean install-deps
|
.PHONY: build build-all clean run dev test lint deb deb-clean install-deps
|
||||||
|
|
||||||
|
# Build main skyview binary
|
||||||
build:
|
build:
|
||||||
@echo "Building $(BINARY_NAME)..."
|
@echo "Building skyview..."
|
||||||
@mkdir -p $(BUILD_DIR)
|
@mkdir -p $(BUILD_DIR)
|
||||||
go build -ldflags="-w -s -X main.version=$(VERSION)" -o $(BUILD_DIR)/$(BINARY_NAME) ./cmd/skyview
|
go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/skyview ./cmd/skyview
|
||||||
|
|
||||||
|
# Build beast-dump utility binary
|
||||||
|
build-beast-dump:
|
||||||
|
@echo "Building beast-dump..."
|
||||||
|
@mkdir -p $(BUILD_DIR)
|
||||||
|
go build -ldflags="$(LDFLAGS)" -o $(BUILD_DIR)/beast-dump ./cmd/beast-dump
|
||||||
|
|
||||||
|
# Build all binaries
|
||||||
|
build-all: build build-beast-dump
|
||||||
|
@echo "Built all binaries successfully:"
|
||||||
|
@ls -la $(BUILD_DIR)/
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "Cleaning..."
|
@echo "Cleaning..."
|
||||||
|
|
|
||||||
32
README.md
32
README.md
|
|
@ -17,13 +17,14 @@ A high-performance, multi-source ADS-B aircraft tracking application that connec
|
||||||
- **Multi-view Dashboard**: Map, Table, Statistics, Coverage, and 3D Radar views
|
- **Multi-view Dashboard**: Map, Table, Statistics, Coverage, and 3D Radar views
|
||||||
|
|
||||||
### Professional Visualization
|
### Professional Visualization
|
||||||
- **Signal Analysis**: Signal strength heatmaps and coverage analysis
|
- **Signal Analysis**: Signal strength visualization and coverage analysis
|
||||||
- **Range Circles**: Configurable range rings for each receiver
|
- **Range Circles**: Configurable range rings for each receiver
|
||||||
- **Flight Trails**: Historical aircraft movement tracking
|
- **Flight Trails**: Historical aircraft movement tracking
|
||||||
- **3D Radar View**: Three.js-powered 3D visualization (optional)
|
- **3D Radar View**: Three.js-powered 3D visualization
|
||||||
- **Statistics Dashboard**: Live charts and metrics
|
- **Statistics Dashboard**: Aircraft count timeline *(additional charts under construction)* 🚧
|
||||||
- **Smart Origin**: Auto-calculated map center based on receiver locations
|
- **Smart Origin**: Auto-calculated map center based on receiver locations
|
||||||
- **Map Controls**: Center on aircraft, reset to origin, toggle overlays
|
- **Map Controls**: Center on aircraft, reset to origin, toggle overlays
|
||||||
|
- **Signal Heatmaps**: Coverage heatmap visualization *(under construction)* 🚧
|
||||||
|
|
||||||
### Aircraft Data
|
### Aircraft Data
|
||||||
- **Complete Mode S Decoding**: Position, velocity, altitude, heading
|
- **Complete Mode S Decoding**: Position, velocity, altitude, heading
|
||||||
|
|
@ -51,7 +52,7 @@ A high-performance, multi-source ADS-B aircraft tracking application that connec
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install
|
# Install
|
||||||
sudo dpkg -i skyview_2.0.0_amd64.deb
|
sudo dpkg -i skyview_0.0.2_amd64.deb
|
||||||
|
|
||||||
# Configure
|
# Configure
|
||||||
sudo nano /etc/skyview/config.json
|
sudo nano /etc/skyview/config.json
|
||||||
|
|
@ -119,9 +120,18 @@ Access the web interface at `http://localhost:8080`
|
||||||
### Views Available:
|
### Views Available:
|
||||||
- **Map View**: Interactive aircraft tracking with receiver locations
|
- **Map View**: Interactive aircraft tracking with receiver locations
|
||||||
- **Table View**: Sortable aircraft data with multi-source information
|
- **Table View**: Sortable aircraft data with multi-source information
|
||||||
- **Statistics**: Live metrics and historical charts
|
- **Statistics**: Aircraft count timeline *(additional charts planned)* 🚧
|
||||||
- **Coverage**: Signal strength analysis and heatmaps
|
- **Coverage**: Signal strength analysis *(heatmaps under construction)* 🚧
|
||||||
- **3D Radar**: Three-dimensional aircraft visualization
|
- **3D Radar**: Three-dimensional aircraft visualization *(controls under construction)* 🚧
|
||||||
|
|
||||||
|
### 🚧 Features Under Construction
|
||||||
|
Some advanced features are currently in development:
|
||||||
|
- **Message Rate Charts**: Per-source message rate visualization
|
||||||
|
- **Signal Strength Distribution**: Signal strength histogram analysis
|
||||||
|
- **Altitude Distribution**: Aircraft altitude distribution charts
|
||||||
|
- **Interactive Heatmaps**: Leaflet.heat-based coverage heatmaps
|
||||||
|
- **3D Radar Controls**: Interactive 3D view manipulation (reset, auto-rotate, range)
|
||||||
|
- **Enhanced Error Notifications**: User-friendly toast notifications for issues
|
||||||
|
|
||||||
## 🔧 Building
|
## 🔧 Building
|
||||||
|
|
||||||
|
|
@ -193,7 +203,7 @@ make check # Run all checks
|
||||||
### Systemd Service (Debian/Ubuntu)
|
### Systemd Service (Debian/Ubuntu)
|
||||||
```bash
|
```bash
|
||||||
# Install package
|
# Install package
|
||||||
sudo dpkg -i skyview_2.0.0_amd64.deb
|
sudo dpkg -i skyview_0.0.2_amd64.deb
|
||||||
|
|
||||||
# Configure sources in /etc/skyview/config.json
|
# Configure sources in /etc/skyview/config.json
|
||||||
# Start service
|
# Start service
|
||||||
|
|
@ -249,9 +259,9 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
## 🆘 Support
|
## 🆘 Support
|
||||||
|
|
||||||
- [GitHub Issues](https://github.com/skyview/skyview/issues)
|
- [Issues](https://kode.naiv.no/olemd/skyview/issues)
|
||||||
- [Documentation](https://github.com/skyview/skyview/wiki)
|
- [Documentation](https://kode.naiv.no/olemd/skyview/wiki)
|
||||||
- [Configuration Examples](https://github.com/skyview/skyview/tree/main/examples)
|
- [Configuration Examples](https://kode.naiv.no/olemd/skyview/src/branch/main/examples)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -417,6 +417,99 @@ body {
|
||||||
color: #ffffff !important;
|
color: #ffffff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Under Construction Styles */
|
||||||
|
.under-construction {
|
||||||
|
color: #ff8c00;
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.construction-notice {
|
||||||
|
background: rgba(255, 140, 0, 0.1);
|
||||||
|
border: 1px solid #ff8c00;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0;
|
||||||
|
font-size: 0.9em;
|
||||||
|
color: #ff8c00;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Toast Notifications */
|
||||||
|
.toast-notification {
|
||||||
|
position: fixed;
|
||||||
|
top: 20px;
|
||||||
|
right: 20px;
|
||||||
|
background: rgba(40, 40, 40, 0.95);
|
||||||
|
border: 1px solid #555;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 12px 20px;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 0.9em;
|
||||||
|
max-width: 300px;
|
||||||
|
z-index: 10000;
|
||||||
|
transform: translateX(320px);
|
||||||
|
transition: transform 0.3s ease-in-out;
|
||||||
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toast-notification.error {
|
||||||
|
border-color: #ff8c00;
|
||||||
|
background: rgba(255, 140, 0, 0.1);
|
||||||
|
color: #ff8c00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toast-notification.show {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Version Info */
|
||||||
|
.version-info {
|
||||||
|
font-size: 0.6em;
|
||||||
|
color: #888;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Collapsible Sections */
|
||||||
|
.collapsible-header {
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0 0 8px 0;
|
||||||
|
padding: 4px 0;
|
||||||
|
border-bottom: 1px solid #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-header:hover {
|
||||||
|
color: #4a9eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapse-indicator {
|
||||||
|
font-size: 0.8em;
|
||||||
|
transition: transform 0.2s ease;
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-header.collapsed .collapse-indicator {
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-content {
|
||||||
|
overflow: hidden;
|
||||||
|
transition: max-height 0.3s ease;
|
||||||
|
max-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapsible-content.collapsed {
|
||||||
|
max-height: 0;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.leaflet-popup-tip {
|
.leaflet-popup-tip {
|
||||||
background: #2d2d2d !important;
|
background: #2d2d2d !important;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
<body>
|
<body>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<header class="header">
|
<header class="header">
|
||||||
<h1>SkyView</h1>
|
<h1>SkyView <span class="version-info">v0.0.2</span></h1>
|
||||||
|
|
||||||
<!-- Status indicators -->
|
<!-- Status indicators -->
|
||||||
<div class="status-section">
|
<div class="status-section">
|
||||||
|
|
@ -83,8 +83,11 @@
|
||||||
|
|
||||||
<!-- Display options -->
|
<!-- Display options -->
|
||||||
<div class="display-options">
|
<div class="display-options">
|
||||||
<h4>Display Options</h4>
|
<h4 class="collapsible-header collapsed" id="display-options-header">
|
||||||
<div class="option-group">
|
<span>Display Options</span>
|
||||||
|
<span class="collapse-indicator">▼</span>
|
||||||
|
</h4>
|
||||||
|
<div class="option-group collapsible-content collapsed" id="display-options-content">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="show-site-positions" checked>
|
<input type="checkbox" id="show-site-positions" checked>
|
||||||
<span>Site Positions</span>
|
<span>Site Positions</span>
|
||||||
|
|
@ -205,16 +208,19 @@
|
||||||
<canvas id="aircraft-chart"></canvas>
|
<canvas id="aircraft-chart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="chart-card">
|
<div class="chart-card">
|
||||||
<h3>Message Rate by Source</h3>
|
<h3>Message Rate by Source <span class="under-construction">🚧 Under Construction</span></h3>
|
||||||
<canvas id="message-chart"></canvas>
|
<canvas id="message-chart"></canvas>
|
||||||
|
<div class="construction-notice">This chart is planned but not yet implemented</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="chart-card">
|
<div class="chart-card">
|
||||||
<h3>Signal Strength Distribution</h3>
|
<h3>Signal Strength Distribution <span class="under-construction">🚧 Under Construction</span></h3>
|
||||||
<canvas id="signal-chart"></canvas>
|
<canvas id="signal-chart"></canvas>
|
||||||
|
<div class="construction-notice">This chart is planned but not yet implemented</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="chart-card">
|
<div class="chart-card">
|
||||||
<h3>Altitude Distribution</h3>
|
<h3>Altitude Distribution <span class="under-construction">🚧 Under Construction</span></h3>
|
||||||
<canvas id="altitude-chart"></canvas>
|
<canvas id="altitude-chart"></canvas>
|
||||||
|
<div class="construction-notice">This chart is planned but not yet implemented</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -233,10 +239,11 @@
|
||||||
<!-- 3D Radar View -->
|
<!-- 3D Radar View -->
|
||||||
<div id="radar3d-view" class="view">
|
<div id="radar3d-view" class="view">
|
||||||
<div class="radar3d-controls">
|
<div class="radar3d-controls">
|
||||||
<button id="radar3d-reset">Reset View</button>
|
<div class="construction-notice">🚧 3D Controls Under Construction</div>
|
||||||
<button id="radar3d-auto-rotate">Auto Rotate</button>
|
<button id="radar3d-reset" disabled>Reset View</button>
|
||||||
|
<button id="radar3d-auto-rotate" disabled>Auto Rotate</button>
|
||||||
<label>
|
<label>
|
||||||
<input type="range" id="radar3d-range" min="10" max="500" value="100">
|
<input type="range" id="radar3d-range" min="10" max="500" value="100" disabled>
|
||||||
Range: <span id="radar3d-range-value">100</span> km
|
Range: <span id="radar3d-range-value">100</span> km
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,9 @@ class SkyView {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Setup collapsible sections
|
||||||
|
this.setupCollapsibleSections();
|
||||||
|
|
||||||
const toggleDarkModeBtn = document.getElementById('toggle-dark-mode');
|
const toggleDarkModeBtn = document.getElementById('toggle-dark-mode');
|
||||||
if (toggleDarkModeBtn) {
|
if (toggleDarkModeBtn) {
|
||||||
toggleDarkModeBtn.addEventListener('click', () => {
|
toggleDarkModeBtn.addEventListener('click', () => {
|
||||||
|
|
@ -458,6 +461,43 @@ class SkyView {
|
||||||
// Clean up old trail data, etc.
|
// Clean up old trail data, etc.
|
||||||
}, 30000);
|
}, 30000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupCollapsibleSections() {
|
||||||
|
// Setup Display Options collapsible
|
||||||
|
const displayHeader = document.getElementById('display-options-header');
|
||||||
|
const displayContent = document.getElementById('display-options-content');
|
||||||
|
|
||||||
|
if (displayHeader && displayContent) {
|
||||||
|
displayHeader.addEventListener('click', () => {
|
||||||
|
const isCollapsed = displayContent.classList.contains('collapsed');
|
||||||
|
|
||||||
|
if (isCollapsed) {
|
||||||
|
// Expand
|
||||||
|
displayContent.classList.remove('collapsed');
|
||||||
|
displayHeader.classList.remove('collapsed');
|
||||||
|
} else {
|
||||||
|
// Collapse
|
||||||
|
displayContent.classList.add('collapsed');
|
||||||
|
displayHeader.classList.add('collapsed');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save state to localStorage
|
||||||
|
localStorage.setItem('displayOptionsCollapsed', !isCollapsed);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Restore saved state (default to collapsed)
|
||||||
|
const savedState = localStorage.getItem('displayOptionsCollapsed');
|
||||||
|
const shouldCollapse = savedState === null ? true : savedState === 'true';
|
||||||
|
|
||||||
|
if (shouldCollapse) {
|
||||||
|
displayContent.classList.add('collapsed');
|
||||||
|
displayHeader.classList.add('collapsed');
|
||||||
|
} else {
|
||||||
|
displayContent.classList.remove('collapsed');
|
||||||
|
displayHeader.classList.remove('collapsed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize application when DOM is ready
|
// Initialize application when DOM is ready
|
||||||
|
|
|
||||||
|
|
@ -352,8 +352,14 @@ export class MapManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
createHeatmapOverlay(data) {
|
createHeatmapOverlay(data) {
|
||||||
// Simplified heatmap implementation
|
// 🚧 Under Construction: Heatmap visualization not yet implemented
|
||||||
// In production, would use proper heatmap library like Leaflet.heat
|
// Planned: Use Leaflet.heat library for proper heatmap rendering
|
||||||
|
console.log('Heatmap overlay requested but not yet implemented');
|
||||||
|
|
||||||
|
// Show user-visible notice
|
||||||
|
if (window.uiManager) {
|
||||||
|
window.uiManager.showError('Heatmap visualization is under construction 🚧');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setSelectedSource(sourceId) {
|
setSelectedSource(sourceId) {
|
||||||
|
|
|
||||||
|
|
@ -316,6 +316,22 @@ export class UIManager {
|
||||||
|
|
||||||
showError(message) {
|
showError(message) {
|
||||||
console.error(message);
|
console.error(message);
|
||||||
// Could implement toast notifications here
|
|
||||||
|
// Simple toast notification implementation
|
||||||
|
const toast = document.createElement('div');
|
||||||
|
toast.className = 'toast-notification error';
|
||||||
|
toast.textContent = message;
|
||||||
|
|
||||||
|
// Add to page
|
||||||
|
document.body.appendChild(toast);
|
||||||
|
|
||||||
|
// Show toast with animation
|
||||||
|
setTimeout(() => toast.classList.add('show'), 100);
|
||||||
|
|
||||||
|
// Auto-remove after 5 seconds
|
||||||
|
setTimeout(() => {
|
||||||
|
toast.classList.remove('show');
|
||||||
|
setTimeout(() => document.body.removeChild(toast), 300);
|
||||||
|
}, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
6
debian/DEBIAN/control
vendored
6
debian/DEBIAN/control
vendored
|
|
@ -1,10 +1,10 @@
|
||||||
Package: skyview
|
Package: skyview
|
||||||
Version: 2.0.0
|
Version: 0.0.2
|
||||||
Section: net
|
Section: net
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Depends: systemd
|
Depends: systemd
|
||||||
Maintainer: SkyView Team <admin@skyview.local>
|
Maintainer: Ole-Morten Duesund <glemt.net>
|
||||||
Description: Multi-source ADS-B aircraft tracker with Beast format support
|
Description: Multi-source ADS-B aircraft tracker with Beast format support
|
||||||
SkyView is a standalone application that connects to multiple dump1090 Beast
|
SkyView is a standalone application that connects to multiple dump1090 Beast
|
||||||
format TCP streams and provides a modern web frontend for aircraft tracking.
|
format TCP streams and provides a modern web frontend for aircraft tracking.
|
||||||
|
|
@ -20,4 +20,4 @@ Description: Multi-source ADS-B aircraft tracker with Beast format support
|
||||||
- Mobile-responsive design
|
- Mobile-responsive design
|
||||||
- Systemd integration for service management
|
- Systemd integration for service management
|
||||||
- Beast-dump utility for raw ADS-B data analysis
|
- Beast-dump utility for raw ADS-B data analysis
|
||||||
Homepage: https://github.com/skyview/skyview
|
Homepage: https://kode.naiv.no/olemd/skyview
|
||||||
|
|
|
||||||
23
debian/DEBIAN/postinst
vendored
23
debian/DEBIAN/postinst
vendored
|
|
@ -21,19 +21,28 @@ case "$1" in
|
||||||
chmod 755 /var/lib/skyview
|
chmod 755 /var/lib/skyview
|
||||||
chmod 755 /var/log/skyview
|
chmod 755 /var/log/skyview
|
||||||
|
|
||||||
# Set permissions on config file
|
# Set permissions on config files
|
||||||
if [ -f /etc/skyview/config.json ]; then
|
if [ -f /etc/skyview/config.json ]; then
|
||||||
chown root:skyview /etc/skyview/config.json
|
chown root:skyview /etc/skyview/config.json
|
||||||
chmod 640 /etc/skyview/config.json
|
chmod 640 /etc/skyview/config.json
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enable and start the service
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl enable skyview.service
|
|
||||||
|
|
||||||
echo "SkyView has been installed and configured."
|
# Install systemd service but do not enable or start it
|
||||||
echo "Edit /etc/skyview/config.json to configure your dump1090 sources."
|
systemctl daemon-reload
|
||||||
echo "Then run: systemctl start skyview"
|
|
||||||
|
echo "SkyView has been installed successfully."
|
||||||
|
echo ""
|
||||||
|
echo "Configuration:"
|
||||||
|
echo " - Main config: /etc/skyview/config.json"
|
||||||
|
echo ""
|
||||||
|
echo "To start SkyView:"
|
||||||
|
echo " sudo systemctl enable skyview"
|
||||||
|
echo " sudo systemctl start skyview"
|
||||||
|
echo ""
|
||||||
|
echo "Binaries installed:"
|
||||||
|
echo " - skyview: Main ADS-B tracker server"
|
||||||
|
echo " - beast-dump: Beast protocol data dump utility"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
||||||
BIN
debian/usr/bin/beast-dump
vendored
BIN
debian/usr/bin/beast-dump
vendored
Binary file not shown.
6
debian/usr/share/man/man1/beast-dump.1
vendored
6
debian/usr/share/man/man1/beast-dump.1
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
.TH BEAST-DUMP 1 "2024-08-24" "SkyView 2.0.0" "User Commands"
|
.TH BEAST-DUMP 1 "2025-08-24" "SkyView 0.0.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
beast-dump \- Utility for analyzing raw ADS-B data in Beast binary format
|
beast-dump \- Utility for analyzing raw ADS-B data in Beast binary format
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
@ -90,6 +90,6 @@ Beast format files typically use .bin or .beast extensions.
|
||||||
.BR skyview (1),
|
.BR skyview (1),
|
||||||
.BR dump1090 (1)
|
.BR dump1090 (1)
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
Report bugs at: https://github.com/skyview/skyview/issues
|
Report bugs at: https://kode.naiv.no/olemd/skyview/issues
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
SkyView Team <admin@skyview.local>
|
Ole-Morten Duesund <glemt.net>
|
||||||
6
debian/usr/share/man/man1/skyview.1
vendored
6
debian/usr/share/man/man1/skyview.1
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
.TH SKYVIEW 1 "2024-08-24" "SkyView 2.0.0" "User Commands"
|
.TH SKYVIEW 1 "2025-08-24" "SkyView 0.0.2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
skyview \- Multi-source ADS-B aircraft tracker with Beast format support
|
skyview \- Multi-source ADS-B aircraft tracker with Beast format support
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
@ -83,6 +83,6 @@ Coverage heatmaps and range circles
|
||||||
.BR beast-dump (1),
|
.BR beast-dump (1),
|
||||||
.BR dump1090 (1)
|
.BR dump1090 (1)
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
Report bugs at: https://github.com/skyview/skyview/issues
|
Report bugs at: https://kode.naiv.no/olemd/skyview/issues
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
SkyView Team <admin@skyview.local>
|
Ole-Morten Duesund <glemt.net>
|
||||||
|
|
@ -34,25 +34,44 @@ mkdir -p "$BUILD_DIR"
|
||||||
# Change to project directory
|
# Change to project directory
|
||||||
cd "$PROJECT_DIR"
|
cd "$PROJECT_DIR"
|
||||||
|
|
||||||
# Build the application
|
# Build the applications
|
||||||
echo_info "Building SkyView application..."
|
echo_info "Building SkyView applications..."
|
||||||
export CGO_ENABLED=0
|
export CGO_ENABLED=0
|
||||||
export GOOS=linux
|
export GOOS=linux
|
||||||
export GOARCH=amd64
|
export GOARCH=amd64
|
||||||
|
|
||||||
go build -ldflags="-w -s -X main.version=$(git describe --tags --always --dirty)" \
|
VERSION=$(git describe --tags --always --dirty)
|
||||||
|
LDFLAGS="-w -s -X main.version=$VERSION"
|
||||||
|
|
||||||
|
# Build main skyview binary
|
||||||
|
echo_info "Building skyview..."
|
||||||
|
go build -ldflags="$LDFLAGS" \
|
||||||
-o "$DEB_DIR/usr/bin/skyview" \
|
-o "$DEB_DIR/usr/bin/skyview" \
|
||||||
./cmd/skyview
|
./cmd/skyview
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo_error "Failed to build application"
|
echo_error "Failed to build skyview"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo_info "Built binary: $(file "$DEB_DIR/usr/bin/skyview")"
|
# Build beast-dump utility
|
||||||
|
echo_info "Building beast-dump..."
|
||||||
|
go build -ldflags="$LDFLAGS" \
|
||||||
|
-o "$DEB_DIR/usr/bin/beast-dump" \
|
||||||
|
./cmd/beast-dump
|
||||||
|
|
||||||
# Set executable permission
|
if [ $? -ne 0 ]; then
|
||||||
|
echo_error "Failed to build beast-dump"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo_info "Built binaries:"
|
||||||
|
echo_info " skyview: $(file "$DEB_DIR/usr/bin/skyview")"
|
||||||
|
echo_info " beast-dump: $(file "$DEB_DIR/usr/bin/beast-dump")"
|
||||||
|
|
||||||
|
# Set executable permissions
|
||||||
chmod +x "$DEB_DIR/usr/bin/skyview"
|
chmod +x "$DEB_DIR/usr/bin/skyview"
|
||||||
|
chmod +x "$DEB_DIR/usr/bin/beast-dump"
|
||||||
|
|
||||||
# Get package info
|
# Get package info
|
||||||
VERSION=$(grep "Version:" "$DEB_DIR/DEBIAN/control" | cut -d' ' -f2)
|
VERSION=$(grep "Version:" "$DEB_DIR/DEBIAN/control" | cut -d' ' -f2)
|
||||||
|
|
@ -69,7 +88,7 @@ sed -i "s/Installed-Size:.*/Installed-Size: $INSTALLED_SIZE/" "$DEB_DIR/DEBIAN/c
|
||||||
echo "Installed-Size: $INSTALLED_SIZE" >> "$DEB_DIR/DEBIAN/control"
|
echo "Installed-Size: $INSTALLED_SIZE" >> "$DEB_DIR/DEBIAN/control"
|
||||||
|
|
||||||
# Build the package
|
# Build the package
|
||||||
dpkg-deb --build "$DEB_DIR" "$BUILD_DIR/$DEB_FILE"
|
dpkg-deb --root-owner-group --build "$DEB_DIR" "$BUILD_DIR/$DEB_FILE"
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo_info "Successfully created: $BUILD_DIR/$DEB_FILE"
|
echo_info "Successfully created: $BUILD_DIR/$DEB_FILE"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue