Complete project rebrand for better positioning in the press freedom and digital security space. FieldWitness communicates both field deployment and evidence testimony — appropriate for the target audience of journalists, NGOs, and human rights organizations. Rename mapping: - soosef → fieldwitness (package, CLI, all imports) - soosef.stegasoo → fieldwitness.stego - soosef.verisoo → fieldwitness.attest - ~/.soosef/ → ~/.fwmetadata/ (innocuous data dir name) - SOOSEF_DATA_DIR → FIELDWITNESS_DATA_DIR - SoosefConfig → FieldWitnessConfig - SoosefError → FieldWitnessError Also includes: - License switch from MIT to GPL-3.0 - C2PA bridge module (Phase 0-2 MVP): cert.py, export.py, vendor_assertions.py - README repositioned to lead with provenance/federation, stego backgrounded - Threat model skeleton at docs/security/threat-model.md - Planning docs: docs/planning/c2pa-integration.md, docs/planning/gtm-feasibility.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
897 B
Bash
Executable File
27 lines
897 B
Bash
Executable File
#!/bin/bash
|
|
# Install FieldWitness and all dependencies into the live image.
|
|
# This runs inside the chroot during image build.
|
|
set -euo pipefail
|
|
|
|
echo "=== Installing FieldWitness ==="
|
|
|
|
# Create fieldwitness user
|
|
useradd -m -s /bin/bash -G sudo fieldwitness
|
|
echo "fieldwitness:fieldwitness" | chpasswd
|
|
|
|
# Create virtual environment
|
|
python3 -m venv /opt/fieldwitness-env
|
|
source /opt/fieldwitness-env/bin/activate
|
|
|
|
# Install fieldwitness with all extras (pre-built wheels from PyPI)
|
|
pip install --no-cache-dir "fieldwitness[web,cli,attest,stego-dct,stego-audio,fieldkit]"
|
|
|
|
# Verify installation
|
|
python3 -c "import fieldwitness; print(f'FieldWitness {fieldwitness.__version__} installed')"
|
|
python3 -c "from fieldwitness.stego import encode; print('stego OK')"
|
|
python3 -c "from fieldwitness.attest import Attestation; print('attest OK')"
|
|
|
|
deactivate
|
|
|
|
echo "=== FieldWitness installation complete ==="
|