Skip to content

Commit db99e2e

Browse files
fix(scripts): handle missing lqx/ patches in series file
grep exits 1 when no lines match; under set -e this killed the script when the Liquorix release has no lqx/ patch series (e.g. 6.19-6 only has zen/ patches). Refactor into a stage_patches helper that captures grep output safely.
1 parent f85cf9b commit db99e2e

1 file changed

Lines changed: 25 additions & 20 deletions

File tree

scripts/fetch-lqx-patches.sh

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,35 @@ PATCH_SRC="${EXTRACT_DIR}/linux-liquorix/debian/patches"
4949
exit 1
5050
}
5151

52+
stage_patches() {
53+
local prefix="${1}" # e.g. "zen" or "lqx"
54+
local dest="${PATCHES_DIR}/${prefix}"
55+
mkdir -p "${dest}"
56+
57+
# grep exits 1 when no lines match; that is not an error here
58+
local entries
59+
entries=$(grep -P "^${prefix}/" "${PATCH_SRC}/series" 2>/dev/null) || true
60+
61+
while IFS= read -r p; do
62+
[[ -z "${p}" ]] && continue
63+
local src="${PATCH_SRC}/${p}"
64+
local fname
65+
fname=$(basename "${p}")
66+
local dst="${dest}/${fname}"
67+
[[ -f "${src}" ]] && cp "${src}" "${dst}"
68+
done <<< "${entries}"
69+
70+
# Write series index (strip the prefix/ component)
71+
printf '%s\n' "${entries}" | sed "s|^${prefix}/||" \
72+
| grep -v '^$' > "${dest}/series" || true
73+
}
74+
5275
# Stage zen/ patches
5376
log INFO "Staging zen/ patches"
54-
mkdir -p "${PATCHES_DIR}/zen"
55-
grep -P '^zen/' "${PATCH_SRC}/series" 2>/dev/null | while IFS= read -r p; do
56-
src="${PATCH_SRC}/${p}"
57-
dst="${PATCHES_DIR}/zen/$(basename "${p}")"
58-
[[ -f "${src}" ]] && cp "${src}" "${dst}"
59-
done
60-
61-
# Write zen series file
62-
grep -P '^zen/' "${PATCH_SRC}/series" 2>/dev/null \
63-
| sed 's|^zen/||' > "${PATCHES_DIR}/zen/series" || true
77+
stage_patches zen
6478

6579
# Stage lqx/ patches
6680
log INFO "Staging lqx/ patches"
67-
mkdir -p "${PATCHES_DIR}/lqx"
68-
grep -P '^lqx/' "${PATCH_SRC}/series" 2>/dev/null | while IFS= read -r p; do
69-
src="${PATCH_SRC}/${p}"
70-
dst="${PATCHES_DIR}/lqx/$(basename "${p}")"
71-
[[ -f "${src}" ]] && cp "${src}" "${dst}"
72-
done
73-
74-
# Write lqx series file
75-
grep -P '^lqx/' "${PATCH_SRC}/series" 2>/dev/null \
76-
| sed 's|^lqx/||' > "${PATCHES_DIR}/lqx/series" || true
81+
stage_patches lqx
7782

7883
log INFO "Liquorix patches staged: zen=$(wc -l < "${PATCHES_DIR}/zen/series" 2>/dev/null || echo 0) lqx=$(wc -l < "${PATCHES_DIR}/lqx/series" 2>/dev/null || echo 0)"

0 commit comments

Comments
 (0)