penguin/utils

my env utils

bash/tools/build-rbashrc.sh

raw ยท 697 bytes

#!/usr/bin/env bash
set -euo pipefail

root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
dist="$root/bash/dist"
out="$dist/rbashrc"

sha256sum "$root"/bash/sources/* \
	| sed "s|  $root/bash/|  |" > "$dist"/sources.list

{
	cat "$root/bash/rbashrc.in"

	echo ""
	echo "RBASH_SOURCES_SUM=\""$(sha256sum "$dist"/sources.list | cut -d' ' -f1)"\""

	shopt -s nullglob

	core_files=( "$root"/bash/core/*.bash )

	if [ "${#core_files[@]}" -eq 0 ]; then
		echo "error: no core files found under bash/core/*.bash" >&2
		exit 1
	fi

	for f in "${core_files[@]}"; do
		rel="${f#$root/}"
		printf '\n\n# ---- rbash: %s ----\n\n' "$rel"
		cat "$f"
	done
} > "$out"

chmod +x "$out"
echo "wrote $out"