Skip to content

Commit 40ca249

Browse files
committed
fixup
1 parent a319c5e commit 40ca249

File tree

1 file changed

+60
-18
lines changed

1 file changed

+60
-18
lines changed

utils/kernel-upgrade.sh

Lines changed: 60 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -221,24 +221,8 @@ update_infix() {
221221
exit 1
222222
fi
223223

224-
# Update ChangeLog.md with new kernel version
225-
log_info "Updating ChangeLog.md..."
226-
if [ -f "doc/ChangeLog.md" ]; then
227-
# Check if there's already a kernel upgrade entry in the latest release
228-
if grep -q "^- Upgrade Linux kernel to" doc/ChangeLog.md | head -20; then
229-
# Find and update the existing kernel upgrade line
230-
sed -i "0,/^- Upgrade Linux kernel to.*/{s/^- Upgrade Linux kernel to.*/- Upgrade Linux kernel to $NEW_VERSION (LTS)/}" doc/ChangeLog.md
231-
log_info "Updated existing kernel version entry to $NEW_VERSION"
232-
else
233-
# Add new kernel upgrade entry after the first "### Changes" section
234-
sed -i "0,/^### Changes/a\\
235-
\\
236-
- Upgrade Linux kernel to $NEW_VERSION (LTS)" doc/ChangeLog.md
237-
log_info "Added new kernel version entry: $NEW_VERSION"
238-
fi
239-
else
240-
log_warn "doc/ChangeLog.md not found, skipping changelog update"
241-
fi
224+
# Update changelog
225+
update_changelog "$NEW_VERSION"
242226

243227
# Commit all changes
244228
log_info "Committing changes to infix..."
@@ -251,6 +235,64 @@ update_infix() {
251235
fi
252236
}
253237

238+
# Update ChangeLog.md with new kernel version
239+
update_changelog() {
240+
local NEW_VERSION="$1"
241+
242+
log_info "Updating ChangeLog.md..."
243+
if [ ! -f "doc/ChangeLog.md" ]; then
244+
log_warn "doc/ChangeLog.md not found, skipping changelog update"
245+
return 0
246+
fi
247+
248+
# Check if the latest release is UNRELEASED, if not create one
249+
if ! grep -q "^\[.*\]\[UNRELEASED\]" doc/ChangeLog.md; then
250+
log_info "No UNRELEASED section found, creating new one"
251+
# Extract current version and increment it
252+
CURRENT_VER=$(grep -m1 "^\[v" doc/ChangeLog.md | grep -oP 'v\d+\.\d+\.\d+' | head -1)
253+
if [ -n "$CURRENT_VER" ]; then
254+
# Parse version (e.g., v25.10.0 = year.month.patch)
255+
YEAR=$(echo "$CURRENT_VER" | cut -d'.' -f1 | sed 's/v//')
256+
MONTH=$(echo "$CURRENT_VER" | cut -d'.' -f2)
257+
PATCH=$(echo "$CURRENT_VER" | cut -d'.' -f3)
258+
259+
# Increment month, roll over to next year if needed
260+
NEXT_MONTH=$((10#$MONTH + 1))
261+
NEXT_YEAR=$YEAR
262+
if [ $NEXT_MONTH -gt 12 ]; then
263+
NEXT_MONTH=1
264+
NEXT_YEAR=$((YEAR + 1))
265+
fi
266+
NEXT_VER=$(printf "v%d.%02d.0" $NEXT_YEAR $NEXT_MONTH)
267+
268+
log_info "Creating new section for $NEXT_VER"
269+
# Insert new unreleased header at the top
270+
sed -i "1a\\
271+
[$NEXT_VER][UNRELEASED] - TBD\\
272+
-----------------------------\\
273+
\\
274+
### Changes" doc/ChangeLog.md
275+
log_info "Created new UNRELEASED header"
276+
else
277+
log_error "Could not determine current version from ChangeLog.md"
278+
exit 1
279+
fi
280+
fi
281+
282+
# Now add or update the kernel upgrade entry in the UNRELEASED section
283+
if grep -q "^- Upgrade Linux kernel to" doc/ChangeLog.md | head -20; then
284+
# Update existing kernel upgrade line
285+
sed -i "0,/^- Upgrade Linux kernel to.*/{s/^- Upgrade Linux kernel to.*/- Upgrade Linux kernel to $NEW_VERSION (LTS)/}" doc/ChangeLog.md
286+
log_info "Updated existing kernel version entry to $NEW_VERSION"
287+
else
288+
# Add new kernel upgrade entry after the first "### Changes" section
289+
sed -i "0,/^### Changes/a\\
290+
\\
291+
- Upgrade Linux kernel to $NEW_VERSION (LTS)" doc/ChangeLog.md
292+
log_info "Added new kernel version entry: $NEW_VERSION"
293+
fi
294+
}
295+
254296
# Check for uncommitted changes
255297
check_clean_working_tree() {
256298
log_info "Checking for uncommitted changes..."

0 commit comments

Comments
 (0)