Commit Graph

5 Commits

Author SHA1 Message Date
a110f7c55a fix(daemon): rename secubox-c3box → secubox-daemon-c3box (closes #378)
packages/secubox-daemon/ declared a secondary binary package named
secubox-c3box, but packages/secubox-c3box/ is also a distinct source
package (the Python FastAPI dashboard) that produces a .deb with the
same name. dpkg only allows one binary named secubox-c3box on a host
at a time, so whichever package the build matrix produced last would
silently displace the other on install.

The two packages do completely different things: the Go variant ships
/usr/bin/c3box (Situational Awareness for the WireGuard mesh) and
depends on secubox-daemon; the Python variant ships
/usr/lib/secubox/c3box/ (FastAPI Services Portal) and depends on
secubox-core. File paths don't overlap, but the binary-package-name
collision does.

Rename the Go variant to secubox-daemon-c3box, matching Debian's
source-binary disambiguation convention (cf. linux → linux-image-*).
The Python secubox-c3box keeps the canonical name.

Add Conflicts: secubox-c3box (<< 1.1~) so an old install is removed
cleanly when the new package lands. Operators that currently have
both produce-paths in their build matrix should install only one
package per host.

Files touched:
  - packages/secubox-daemon/debian/control       (Package: stanza
    rename + Conflicts: + description update)
  - packages/secubox-daemon/debian/rules         (debian/secubox-c3box/
    install paths → debian/secubox-daemon-c3box/)
  - debian/secubox-c3box.{postinst,prerm}        (git mv to
    secubox-daemon-c3box.{postinst,prerm})

Surfaced by the Phase 1 consolidation audit (commit a85129f5).
2026-05-27 07:23:57 +02:00
bd7dda0c6f feat(secubox): complete meta-script generator Tasks 14-17
Task 14: Arch Profiles
- Add profiles/arch/arm64.yaml and profiles/arch/amd64.yaml
- Add ResolveWithArch() to merger for base → arch → tier chain
- Add tests for arch profile resolution

Task 15: Package secubox.yaml for All Packages
- Add scripts/generate-secubox-yaml.py generator script
- Generate 131 debian/secubox.yaml files with:
  - Category detection (security, network, system, etc.)
  - Tier assignment (all, lite, standard, pro)
  - API socket and UI path detection

Task 16: APT Repository Setup
- Add apt/conf/ reprepro configuration (multi-arch arm64/amd64)
- Add apt/hooks/lintian-check pre-publish validation
- Add scripts/apt-publish.sh and scripts/apt-sync.sh
- Add apt/README.md documentation

Task 17: CI Integration
- Add .github/workflows/build-secubox-cli.yml
- Build for linux-amd64 and linux-arm64
- Version injection via ldflags
- GitHub releases on tag push

Code Quality Fixes (Tasks 10-13):
- Add atomic writes for OTA boot control files (0600 perms)
- Fix NVME device extraction (nvme0n1p2 → nvme0n1)
- Add scanner.Err() checks in hardware detection
- Fix URL injection validation in fetch command
- Add proper cleanup on checksum failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-11 05:32:29 +02:00
20ce5548c3 fix(daemon): Skip dh_strip and dh_dwz for cross-compiled Go binaries
Go binaries are cross-compiled (arm64 on x86_64 runner) and already
stripped with -ldflags "-s -w". The native strip tool can't recognize
the ARM64 binary format, causing build failures.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-04 08:22:26 +02:00
bb344390b2 fix(secubox-daemon): Use pre-built Go binaries
- Remove golang-go build dependency (binaries pre-built)
- Remove debian/compat (conflicts with debhelper-compat)
- Skip clean step to preserve pre-built binaries

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-30 06:53:16 +02:00
4901143c78 Reorganize Go daemon and fix module compliance
- Move Go mesh daemon code to daemon/ directory
  - secuboxd mesh daemon with mDNS discovery
  - secuboxctl CLI management tool
  - c3box situational awareness dashboard
  - GK-HAM-2025 ZKP authentication system

- Add Debian packaging for secubox-daemon and secubox-c3box

- Fix maintainer in 12 packages to Gerald KERMA <devel@cybermind.fr>
  - secubox-backup, device-intel, mesh, meshname, p2p
  - roadmap, soc, tor, vortex-dns, vortex-firewall
  - watchdog, zkp

- Add JWT authentication to secubox-mesh API

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 07:51:17 +01:00