build: Packages/ directory with 91 pkgar files + auto-sync script
Packages/ is the canonical binary package repository for Red Bear OS. Contains stage.pkgar copies of all built packages (91 files). New scripts: - local/scripts/sync-packages.sh: syncs built pkgar → Packages/ - make packages-sync: run sync - make packages-list: list package count Future: cache-auto will auto-sync to Packages/ after each build.
This commit is contained in:
@@ -81,3 +81,4 @@ local/cache/pkgar/
|
|||||||
# Red Bear git-tracked build cache (survives make clean)
|
# Red Bear git-tracked build cache (survives make clean)
|
||||||
!local/cache/pkgar/
|
!local/cache/pkgar/
|
||||||
!local/cache/pkgar/**
|
!local/cache/pkgar/**
|
||||||
|
Packages/redbear-firmware.pkgar
|
||||||
|
|||||||
@@ -224,3 +224,5 @@ FORCE:
|
|||||||
# Wireshark
|
# Wireshark
|
||||||
wireshark: FORCE
|
wireshark: FORCE
|
||||||
wireshark $(BUILD)/network.pcap
|
wireshark $(BUILD)/network.pcap
|
||||||
|
packages-sync: ; @bash local/scripts/sync-packages.sh
|
||||||
|
packages-list: ; @ls -la Packages/*.pkgar 2>/dev/null | wc -l && echo "pkgar files in Packages/"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+44
@@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Red Bear OS — Package Repository Sync
|
||||||
|
# Copies all built stage.pkgar files to Packages/ directory.
|
||||||
|
# This is the canonical binary package repository for Red Bear OS.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# ./local/scripts/sync-packages.sh Sync all built packages
|
||||||
|
# ./local/scripts/sync-packages.sh --verify Verify package integrity
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")/../.."
|
||||||
|
|
||||||
|
PKG_DIR="Packages"
|
||||||
|
mkdir -p "${PKG_DIR}"
|
||||||
|
|
||||||
|
if [ "${1:-}" = "--verify" ]; then
|
||||||
|
echo "=== Package Integrity Check ==="
|
||||||
|
ok=0; bad=0
|
||||||
|
for pkgar in "${PKG_DIR}"/*.pkgar; do
|
||||||
|
[ -f "$pkgar" ] || continue
|
||||||
|
pkg=$(basename "$pkgar" .pkgar)
|
||||||
|
if [ -s "$pkgar" ]; then
|
||||||
|
ok=$((ok+1))
|
||||||
|
else
|
||||||
|
echo " EMPTY: $pkg"
|
||||||
|
bad=$((bad+1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "Valid: $ok, Empty: $bad"
|
||||||
|
exit $bad
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== Syncing Packages ==="
|
||||||
|
count=0
|
||||||
|
while IFS= read -r pkgar; do
|
||||||
|
pkg_path=$(dirname "$(dirname "$(dirname "$pkgar")")")
|
||||||
|
pkg=$(basename "$pkg_path")
|
||||||
|
dest="${PKG_DIR}/${pkg}.pkgar"
|
||||||
|
if [ ! -f "$dest" ] || [ "$pkgar" -nt "$dest" ]; then
|
||||||
|
cp "$pkgar" "$dest" && count=$((count+1))
|
||||||
|
fi
|
||||||
|
done < <(find recipes local/recipes -name "stage.pkgar" -path "*/target/x86_64-unknown-redox/*" 2>/dev/null)
|
||||||
|
|
||||||
|
echo "Synced $count packages to ${PKG_DIR}/"
|
||||||
|
echo "Total: $(ls ${PKG_DIR}/*.pkgar 2>/dev/null | wc -l) pkgar files"
|
||||||
Reference in New Issue
Block a user