Add script (scripts/qnap-patches-apply.bash) which applies QNAP/QTS specific patches
This commit is contained in:
parent
5058d21a91
commit
a8403e744f
44
scripts/qnap-patches-apply.bash
Executable file
44
scripts/qnap-patches-apply.bash
Executable file
@ -0,0 +1,44 @@
|
||||
#!/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_ "${@}"
|
||||
Loading…
x
Reference in New Issue
Block a user