Replaced github.com/mattn/go-sqlite3 (CGO-based) with modernc.org/sqlite
(pure Go implementation) to enable CGO-free builds while maintaining
full SQLite functionality.
Benefits:
- ✅ Cross-compilation without C compiler requirements
- ✅ Simplified build environment (no CGO_ENABLED=1)
- ✅ Reduced deployment dependencies
- ✅ Easier container builds and static linking
- ✅ Full SQLite compatibility maintained
Changes:
- Updated go.mod to use modernc.org/sqlite v1.34.4
- Updated database import to use pure Go SQLite driver
- Removed CGO_ENABLED=1 from all Makefile build targets
- Verified all binaries (skyview, beast-dump, skyview-data) build successfully
The modernc.org/sqlite package is a cgo-free port of SQLite that transpiles
the original C code to Go, providing identical functionality without CGO.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Run 'make format' to ensure all Go code follows standard formatting
- Maintains consistent code style across the entire codebase
- No functional changes, only whitespace and formatting improvements
- Implement comprehensive database package with versioned migrations
- Add skyview-data CLI tool for managing aviation reference data
- Integrate database with merger for real-time aircraft history persistence
- Support OurAirports and OpenFlights data sources (runtime loading)
- Add systemd timer for automated database updates
- Fix transaction-based bulk loading for 2400% performance improvement
- Add callsign enhancement system with airline/airport lookups
- Update Debian packaging with database directory and permissions
Database features:
- Aircraft position history with configurable retention
- External aviation data loading (airlines, airports)
- Callsign parsing and enhancement
- API client for external lookups (OpenSky, etc.)
- Privacy mode for complete offline operation
CLI commands:
- skyview-data status: Show database statistics
- skyview-data update: Load aviation reference data
- skyview-data list: Show available data sources
- skyview-data clear: Remove specific data sources
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>