#!/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