Skip to content

Conversation

igorpecovnik
Copy link
Member

@igorpecovnik igorpecovnik commented Sep 1, 2025

Description

Since Ubuntu Plucky was introduced, we have to provide possibility to upgrade to that.

How Has This Been Tested?

  • Tested upgrades from Jammy, Noble, Bookworm

Checklist:

  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Copy link
Contributor

coderabbitai bot commented Sep 1, 2025

Walkthrough

Updated upgrade target mappings in four distribution config files (data-only):

  • config/distributions/focal/upgrade: appended "plucky" to the codename list (jammy,noble,oracular → jammy,noble,oracular,plucky).
  • config/distributions/jammy/upgrade: appended "plucky" (noble,oracular → noble,oracular,plucky).
  • config/distributions/noble/upgrade: appended "plucky" (oracular → oracular,plucky).
  • config/distributions/oracular/upgrade: replaced "none" with "oracular,plucky".
    No structural, code, or API changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 5f29a24 and d0a47a4.

📒 Files selected for processing (4)
  • config/distributions/focal/upgrade (1 hunks)
  • config/distributions/jammy/upgrade (1 hunks)
  • config/distributions/noble/upgrade (1 hunks)
  • config/distributions/oracular/upgrade (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
  • config/distributions/focal/upgrade
  • config/distributions/oracular/upgrade
  • config/distributions/noble/upgrade
  • config/distributions/jammy/upgrade
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rel-upg

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added 11 Milestone: Fourth quarter release size/small PR with less then 50 lines Needs review Seeking for review labels Sep 1, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1fae738 and 5f29a24.

📒 Files selected for processing (4)
  • config/distributions/focal/upgrade (1 hunks)
  • config/distributions/jammy/upgrade (1 hunks)
  • config/distributions/noble/upgrade (1 hunks)
  • config/distributions/oracular/upgrade (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: leggewie
PR: armbian/build#8357
File: config/boards/qcom-robotics-rb5.conf:88-88
Timestamp: 2025-07-04T18:33:19.873Z
Learning: In the Armbian build system, package transitions in Debian/Ubuntu don't happen uniformly across all releases. For example, the transition from plasma-workspace-wayland to plasma-workspace occurred in newer releases like trixie (Debian testing) around July 2024, but older releases like jammy (Ubuntu 22.04) still maintain the original plasma-workspace-wayland package. Release-specific package availability must be considered when updating package references.
🔇 Additional comments (3)
config/distributions/oracular/upgrade (1)

1-1: Oracular → Plucky upgrade enabled (24.10 → 25.04). LGTM.

Matches expected forward path after Oracular EOL.

config/distributions/jammy/upgrade (1)

1-1: Confirm upgrade target precedence from CSV order.

If the upgrader prefers the first entry, Jammy defaults to Noble (LTS) over Plucky (interim). Verify this is intentional.

config/distributions/noble/upgrade (1)

1-1: Noble → Plucky added. LGTM.

Keeps fastest forward path current.

@leggewie leggewie self-requested a review September 1, 2025 21:58
Copy link
Collaborator

@leggewie leggewie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this change is wrong, but I might also misunderstand the semantics of this code. In any case, you cannot upgrade directly from noble to plucky, you have to pass through oracular first. The only time you can skip a release in an upgrade is when going from LTS to LTS.

c.f. https://help.ubuntu.com/community/UpgradeNotes

@igorpecovnik
Copy link
Member Author

igorpecovnik commented Sep 1, 2025

I believe this change is wrong, but I might also misunderstand the semantics of this code.

It defines possible upgrade path. The rest of the logic is in armbian-config

you cannot upgrade directly from noble to plucky, you have to pass through oracular first

You can, works, but there is of course no guarantee of success. That everything will work. Here LTS - new LTS, oldstable - stable ... that is important. The rest is experimental anyway.

@leggewie
Copy link
Collaborator

leggewie commented Sep 3, 2025

You can

You can do all kinds of things, including shooting yourself in the foot with a shotgun among other things. You can also ignore a "you can't" that was supported by a reference to the relevant documentation saying so.

But I have to wonder why you all so often do these kinds of things that will you get in trouble, @igorpecovnik ?

@igorpecovnik
Copy link
Member Author

igorpecovnik commented Sep 3, 2025

APT is "advanced" but this is what we have. We don't have build-in function to (auto)reverse in case things go south ... distribution upgrade is troublesome / critical operation by default, LTS or non LTS, but people still wants to do it. During my testings I had success with Debian minimal and troubles with Ubuntu LTS minimal ... but this also don't tell anything.

Now. We can ignore and keep elitist position (which is also wrong as Ubuntu Jammy - Noble upgrade had many broken dependencies and force fix was needed, while Debian upgrade went smooth) or say: "it is experimental feature, use at your own risk" - similar to kernel changing.
https://github.com/armbian/configng/blob/main/tools/json/config.system.json#L541-L553
This PR has nothing to do with any of this as it only stores information on possible upgrade. Additional conditioning can be implemented into armbian-config. I was thinking to disable this feature for Ubuntu and only keep Debian.

@leggewie
Copy link
Collaborator

leggewie commented Sep 4, 2025

Oh my!

I have to ask, did you actually read the source I gave? https://help.ubuntu.com/community/UpgradeNotes I thought you are actually aware of this and the source wasn't even needed, but I am not so sure anymore.

Again, why insist on a quirky way that the upstream you rely on clearly says is "not supported"? I just don't get you. Why are we even arguing?

@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Sep 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
11 Milestone: Fourth quarter release Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines
Development

Successfully merging this pull request may close these issues.

2 participants