#!/usr/bin/env bash quilt-ensure() { command -v quilt >/dev/null || { "${REPO_ROOT}/projects/quilt/ossbuild-quilt.bash" } } _main_() { declare -g REPO_ROOT REPO_ROOT="$(realpath "$(dirname "${BASH_SOURCE[-1]}")/..")" source "${REPO_ROOT}/lib/ossbuild-common.bash" quilt-ensure shopt -s globstar ossbuild-pushd "${REPO_ROOT}/quilt/qnap" ossbuild-cmd quilt push -a || true local dst='root/' src p local -a cmd=('cp' '-uv' '--target' "${dst}" '--parents') for src in */; do [ "${src}" = 'patches/' ] || { for p in "${src}"**; do [ -f "${p}" ] || continue #echo "p:'${p}'/'${dst}${p}'" if [ -f "${dst}${p}" ] && ! diff -q "${dst}${p}" "${p}" >/dev/null; then if [ -w "${dst}${p}" ]; then ossbuild-cmd "${cmd[@]}" "${p}" else ossbuild-cmd sudo "${cmd[@]}" "${p}" fi fi done } done ossbuild-cmd quilt pop -a ossbuild-popd } _main_ "${@}"