Files
pulsar/scripts/sbom.sh
T
zeekay 6fd38d451f pulsar-m: bootstrap NIST MPTC submission package
Initial commit. Holds the technical specification (LaTeX), the design
docs, the build/test/bench scripts, the package layout, and the empty
ref/go/pkg/pulsarm skeleton.

The spec at spec/pulsar-m.tex (11,300 words of LaTeX) is the canonical
description of the protocol. docs/nist-mptc-category.md states the
Class N1 + N4 claim. CONTRIBUTING.md and SECURITY.md pin the IP and
disclosure posture.

Subsequent commits land the reference implementation in stages.

Signed-off-by: Lux Industries <[email protected]>
2026-05-10 20:25:09 -07:00

26 lines
829 B
Bash
Executable File

#!/usr/bin/env bash
# Pulsar-M SBOM generation.
#
# Produces an SPDX SBOM for the reference implementation, capturing every
# transitive dependency. Required as part of the MPTC submission package.
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$REPO_ROOT"
OUT="bench/results/sbom.spdx.json"
mkdir -p "$(dirname "$OUT")"
if command -v cyclonedx-gomod >/dev/null 2>&1; then
( cd ref/go && cyclonedx-gomod mod -json -output "$REPO_ROOT/$OUT" )
elif command -v go-licenses >/dev/null 2>&1; then
echo " [info] cyclonedx-gomod not found; falling back to go-licenses report"
( cd ref/go && go-licenses csv ./... > "$REPO_ROOT/${OUT%.json}.csv" )
else
echo " [warn] no SBOM tool found (install cyclonedx-gomod or go-licenses)"
exit 1
fi
echo "==> SBOM written to $OUT"