Files
g15keyboard/packaging/extract-binaries.sh
T
Mikhail Yevchenko 9743898fa2
Debian 13 packages / build (push) Successful in 3m50s
Add local Debian package + plain binary build task
Adds packaging/local-build.sh and packaging/extract-binaries.sh, reused by a
new VS Code task, to populate gitignored dist/ and bin/ directories with the
same build.sh/test.sh/run.sh scripts the Gitea and GitHub workflows run.
2026-09-07 17:02:26 +00:00

21 lines
757 B
Bash
Executable File

#!/bin/bash
# Extracts plain executables and shared libraries from built .deb artifacts.
set -euo pipefail
src=$(realpath "${1:?artifact directory required}")
out=$(realpath "${2:?output binary directory required}")
extract=$(mktemp -d)
trap 'rm -rf "$extract"' EXIT
shopt -s nullglob
debs=("$src"/*.deb)
[[ ${#debs[@]} -gt 0 ]] || { echo 'No .deb files found to extract' >&2; exit 1; }
for deb in "${debs[@]}"; do
dpkg-deb -x "$deb" "$extract"
done
mkdir -p "$out"
for dir in "$extract/usr/bin" "$extract/usr/sbin"; do
[[ -d $dir ]] || continue
find "$dir" -mindepth 1 -maxdepth 1 -type f -exec cp {} "$out/" \;
done
[[ -d $extract/usr/lib ]] && find "$extract/usr/lib" -mindepth 2 -maxdepth 2 -type f -name '*.so*' -exec cp {} "$out/" \;
true