Skip to content

general-concepts/bundled-dependencies: new section#377

Merged
gentoo-bot merged 4 commits into
gentoo:masterfrom
thesamesam:bundled
Apr 6, 2026
Merged

general-concepts/bundled-dependencies: new section#377
gentoo-bot merged 4 commits into
gentoo:masterfrom
thesamesam:bundled

Conversation

@thesamesam
Copy link
Copy Markdown
Member

@thesamesam thesamesam commented Sep 20, 2025

I've tried to faithfully port the wiki page [0] to the devmanual in this commit, and intend to change the contents as required in followups, to allow easier comparison and to retain provenance.

[0] https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies

Closes: https://bugs.gentoo.org/300625


Note: I'm looking for review of the formatting and porting to the devmanual for now, not whether we should add/adjust content etc (which I will do once the foundation is OK).

Comment thread general-concepts/bundled-deps/text.xml
Comment thread general-concepts/bundled-deps/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml Outdated
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/bundled-dependencies/text.xml
Comment thread ebuild-writing/text.xml Outdated
Comment thread general-concepts/bundled-deps/text.xml
@thesamesam
Copy link
Copy Markdown
Member Author

How's it looking now? OK to proceed to content review? And do we want to commit this as-is, or review the content here? Either is fine with me. I guess reviewing the content here is easier because you can comment on the full diff more easily.

What I don't want to do, however, is squash any content fixes into the first commit.

@thesamesam thesamesam marked this pull request as ready for review September 20, 2025 21:40
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml
@ulm
Copy link
Copy Markdown
Member

ulm commented Sep 20, 2025

I'd say we should continue with content review here.

@thesamesam
Copy link
Copy Markdown
Member Author

Let me know when it looks OK and I'll move onto content (I don't want to try fix existing style issues in the first commit once I started that, as cherry-picking that will be hell).

@thesamesam thesamesam requested a review from ulm September 21, 2025 12:01
Copy link
Copy Markdown
Member

@ulm ulm left a comment

Choose a reason for hiding this comment

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

Formatting looks good.

I have some tiny comments, admittedly most are into spelling territory (but you might want to fix them now, so they won't interfere with content review later).

Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml
@thesamesam
Copy link
Copy Markdown
Member Author

Thank you! The quick reviews are appreciated, it helps a lot with momentum and motivation.

@thesamesam thesamesam requested a review from ulm September 21, 2025 18:28
Copy link
Copy Markdown
Member

@ulm ulm left a comment

Choose a reason for hiding this comment

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

Formatting LGTM.

@thesamesam thesamesam marked this pull request as draft September 21, 2025 21:21
Copy link
Copy Markdown
Contributor

@laumann laumann left a comment

Choose a reason for hiding this comment

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

This is good reading 👍

idk if you want examples of packages where upstream does vendor dependencies, but has a mechanism not to use them. media-libs/openjpeg vendors some libraries that Gentoo's packaging carefully removes. At least it's optional to use the vendored versions.

Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
Comment thread ebuild-writing/bundled-deps/text.xml Outdated
@orlitzky
Copy link
Copy Markdown
Contributor

I'm not sure if it fits in the narrative anywhere, but one argument I hear often is "so what, we'll just upgrade the bundled version when it becomes vulnerable." This fails in practice for two reasons:

  1. Except for the rare well-written report where the authors trace the origin of a bug, no one is looking for vulnerabilities in older versions.
  2. MITRE specifically does not issue CVEs for bundled dependencies.

So the lack of a "vulnerability" in a bundled dependency is truly indicative of nothing.

@thesamesam
Copy link
Copy Markdown
Member Author

@orlitzky Added, thanks!

@thesamesam thesamesam marked this pull request as ready for review April 4, 2026 12:46
@thesamesam
Copy link
Copy Markdown
Member Author

I think this should be good-to-go now.

@thesamesam thesamesam force-pushed the bundled branch 2 times, most recently from acf0327 to 10cfeb8 Compare April 4, 2026 12:48
@ulm
Copy link
Copy Markdown
Member

ulm commented Apr 4, 2026

Looking at this again, I wonder if "ebuild-writing" is the best place, or if it should go under "general-concepts"?

@thesamesam
Copy link
Copy Markdown
Member Author

I think on reflection I agree that concepts would be a better fit.

@thesamesam thesamesam changed the title ebuild-writing/bundled-dependencies: new section general-conceps/bundled-dependencies: new section Apr 5, 2026
@thesamesam thesamesam changed the title general-conceps/bundled-dependencies: new section general-concepts/bundled-dependencies: new section Apr 5, 2026
I've tried to faithfully port the wiki page [0] to the devmanual in
this commit, and intend to change the contents as required in followups,
to allow easier comparison and to retain provenance.

[0] https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies

Closes: https://bugs.gentoo.org/300625
Signed-off-by: Sam James <sam@gentoo.org>
* Use 3rd-person perspective as we do elsewhere
* Tweak grammar (usually just a missing comma or so)
* Use longer example names where it aids readability (rather than letters;
  kept in some places)

Signed-off-by: Sam James <sam@gentoo.org>
A common answer when asked to unbundle is that projects will simply
update their bundled copy when a vulnerability is discovered.

This has two issues:
1) nobody checks if old versions of packages are vulnerable;
2) MITRE does not issue CVEs for bundled versions of dependencies.

It's therefore easy to miss that a copy is problematically stale.

Suggested-by: Michael Orlitzky <mjo@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
bug #919100 is a nice example of where Meson subprojects exposed a real
problem in a bundled dependency.

Bug: https://bugs.gentoo.org/919100
Signed-off-by: Sam James <sam@gentoo.org>
@gentoo-bot gentoo-bot merged commit 4998068 into gentoo:master Apr 6, 2026
1 check passed
@thesamesam thesamesam deleted the bundled branch April 6, 2026 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants