Skip to content

Conversation

@amezin
Copy link
Contributor

@amezin amezin commented Mar 19, 2025

Changes

Allow multiple release codenames/suite names to be included in registryUrl

Context

Both Ubuntu and Debian have *-updates pesudo-release (noble-updates for Ubuntu noble). Post-release package updates usually get uploaded there. Then, when a patch release of Ubuntu or Debian happens, all packages are moved to the main release repository.

To track the latest version of the package, that would be installed by apt-get install <package> in the default configuration, packages from multiple releases/suites need to be merged.

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests but ran on a real repository, or
  • Both unit tests + ran on a real repository

function getReleaseParam(url: URL, optionalParams: string[]): string {
for (const param of optionalParams) {
function getReleaseParam(url: URL, optionalParams: string[]): string[] {
const releases = optionalParams.flatMap((param) => {
Copy link
Member

Choose a reason for hiding this comment

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

revert the flat map and directly return the found value as before, otherwise you return values of all optional params.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why do you think it's a problem? There's no real difference between release and suite - why not merge their values?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why should suite be silently ignored in https://archive.ubuntu.com/ubuntu?suite=noble&release=noble-updates&components=main&binaryArch=amd64? Previously the rest of the code wasn't capable of querying multiple releases, so it (somewhat) made sense. But these are just two names for the same thing, suite=noble and release=noble give exactly the same results. Not sure why the documentation is written as if these are different (IMO it's wrong).

https://manpages.debian.org/testing/apt/sources.list.5.en.html also has an example with Suites: bookworm bookworm-updates - what https://docs.renovatebot.com/modules/datasource/deb/ calls "releases".

Copy link
Member

Choose a reason for hiding this comment

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

It was probably an error to add suite and release but they aren't allowed both at the same time.

So they still shouldn't be used at the same time and we should only mention the official name in docs.
And don't merge them.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

you can now merge from main and do the required changes.

you only need to support multiple suites, not multiple releases.

@amezin amezin requested a review from viceice March 19, 2025 19:22
Copy link
Member

@viceice viceice left a comment

Choose a reason for hiding this comment

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

see comment

@rarkins rarkins added the auto:close-inactive-pr Inactive PR should be closed label Aug 16, 2025
@github-actions
Copy link
Contributor

Hi there,

We're closing this PR due to inactivity, but we are happy for you, or others, to finish the PR if time allows.

Thanks, the Renovate team

@github-actions github-actions bot closed this Aug 16, 2025
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

auto:close-inactive-pr Inactive PR should be closed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants