Skip to content

Drop net-misc/bridge-utils - #4159

Merged
dongsupark merged 1 commit into
flatcar:mainfrom
Alivestars04:drop-bridge-utils-638
Aug 27, 2026
Merged

Drop net-misc/bridge-utils#4159
dongsupark merged 1 commit into
flatcar:mainfrom
Alivestars04:drop-bridge-utils-638

Conversation

@Alivestars04

@Alivestars04 Alivestars04 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

bridge-utils has been marked deprecated by its upstream maintainers in favor of the bridge utility from iproute2, which Flatcar already ships via sys-apps/iproute2 (currently 6.16.0). Keeping a deprecated package in the image means carrying two Gentoo patches (a musl fix and an AR-variable fix) and an ebuild for tooling that upstream no longer recommends.

This removes the package from portage-stable, drops it from the coreos-base/coreos package list, and removes it from the portage-stable-packages-list used by the automated package update workflow, so the updater stops tracking it. The coreos-base/coreos revision symlink is bumped from -r320 to -r321 so the package is rebuilt.

This is a user-visible change: brctl will no longer be present in the image. Users invoking brctl in scripts or Ignition configs need to switch to ip link / bridge, e.g. ip link add br0 type bridge instead of brctl addbr br0. Given that, maintainers may prefer to time this against a specific release — happy to hold or re-target the branch.

Closes flatcar/Flatcar#638

How to use

Reviewers can confirm the removal is complete and correctly scoped:

  1. No live references to the package remain in the tree (only the historical 2022 changelog entry, intentionally left as a release record):
    git grep -n bridge-utils
    
  2. The replacement is present in the same image package list:
    git grep -n 'sys-apps/iproute2' sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild
    
  3. On a built image, verify brctl is gone and bridge/ip link still create bridges:
    command -v brctl            # expected: not found
    ip link add br0 type bridge && bridge link show && ip link del br0
    

Testing done

Verified statically in the tree; I have not built an SDK image locally, so the image-level checks below are left to CI.

  • Confirmed the package existed only at sdk_container/src/third_party/portage-stable/net-misc/bridge-utils/ and was referenced in exactly two live places (coreos-base/coreos/coreos-0.0.1.ebuild and .github/workflows/portage-stable-packages-list):

    $ git grep -n bridge-utils
    sdk_container/src/third_party/portage-stable/changelog/updates/2022-02-23-update-pkgs-2015.md:1:- bridge-utils ([1.7.1](...))
    sdk_container/src/third_party/portage-stable/net-misc/bridge-utils/metadata.xml:12: ...
    sdk_container/src/third_party/portage-stable/net-misc/bridge-utils/Manifest:1: ...
    sdk_container/src/third_party/coreos-overlay/coreos-base/coreos/coreos-0.0.1.ebuild:139:  net-misc/bridge-utils
    .github/workflows/portage-stable-packages-list:561:net-misc/bridge-utils
    
  • After the change, only the historical changelog entry remains:

    $ git grep -n bridge-utils
    sdk_container/src/third_party/portage-stable/changelog/updates/2022-02-23-update-pkgs-2015.md:1:- bridge-utils ([1.7.1](...))
    
  • Confirmed the replacement is shipped in the same image package list:

    $ git grep -n 'sys-apps/iproute2' .../coreos-base/coreos/coreos-0.0.1.ebuild
    165:  sys-apps/iproute2
    
  • Confirmed no other package depends on it. The only RDEPEND in the removed ebuild was selinux? ( sec-policy/selinux-brctl ), and sec-policy/selinux-brctl is not present in the tree, so nothing is orphaned.

  • Confirmed the revision-symlink convention by checking the most recent commit to touch this ebuild (overlay coreos-base/coreos: add erofs-utils), which renamed coreos-0.0.1-r319.ebuild -> -r320.ebuild; this PR follows it with -r320 -> -r321.

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)

  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc. — will do once CI produces the image diff; expecting /usr/sbin/brctl to be the only binary removed

bridge-utils is deprecated upstream in favor of the bridge utility from
iproute2, which Flatcar already ships via sys-apps/iproute2.

Remove the package from portage-stable, drop it from the coreos-base/coreos
package list and from the portage-stable packages list used by the automated
package update workflow.

Closes flatcar/Flatcar#638

Signed-off-by: Naveen Hegde <alivestars.tech@gmail.com>
@Alivestars04
Alivestars04 requested a review from a team as a code owner July 29, 2026 06:21
@Alivestars04

Copy link
Copy Markdown
Contributor Author

please review!

cc @krnowak @pothos @chewi

@LexiNadolski

Copy link
Copy Markdown

@Alivestars04 Do not tag maintainers for reviews like this. This is not the way to operate in this project. If you cannot follow these standards, you will be removed.

@dongsupark

Copy link
Copy Markdown
Member

Definitely +1 on dropping bridge-utils, because it has been deprecated long time ago.
However the comment in the original issue is still valid. Folks still have habit of running brctl.
Therefore I would say this needs at least small deprecation announcement for several months.

Anyway I will try to run Jenkins CI with this PR.

@dongsupark dongsupark left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this PR is ready to merge.
~6 months of promotion from main to stable would be already okay for deprecation period.

@@ -0,0 +1 @@
- Removed the `net-misc/bridge-utils` package. It is deprecated upstream in favor of the `bridge` utility from iproute2, which Flatcar ships through `sys-apps/iproute2`. Use `ip link add ... type bridge` instead of `brctl addbr ...`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you please add ([Flatcar#638](https://github.com/flatcar/Flatcar/issues/638)) at the end?

- Removed the `net-misc/bridge-utils` package. It is deprecated upstream in favor of the `bridge` utility from iproute2, which Flatcar ships through `sys-apps/iproute2`. Use `ip link add ... type bridge` instead of `brctl addbr ...`. ([Flatcar#638](https://github.com/flatcar/Flatcar/issues/638))

@dongsupark

Copy link
Copy Markdown
Member

CI https://jenkins.flatcar.org/job/container/job/sdk/178/cldsv/ ran for all providers, and passed mostly except for expected failures.
I will soon merge this PR and create another PR to update changelog, because the author seems inactive since weeks.

@dongsupark
dongsupark merged commit 7989eab into flatcar:main Aug 27, 2026
30 of 38 checks passed
@github-project-automation github-project-automation Bot moved this from ✅ Testing / in Review to Implemented in Flatcar tactical, release planning, and roadmap Aug 27, 2026
pull Bot pushed a commit to TheTechOddBug/flatcar-scripts that referenced this pull request Aug 28, 2026
Add a link to the original issue flatcar/Flatcar#638
in the changelog missing in from flatcar#4159.

Signed-off-by: Dongsu Park <dongsu@dpark.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Development

Successfully merging this pull request may close these issues.

Drop net-misc/bridge-utils eventually

3 participants