Skip to content

Drop net-misc/bridge-utils - #4159

Open
Alivestars04 wants to merge 1 commit into
flatcar:mainfrom
Alivestars04:drop-bridge-utils-638
Open

Drop net-misc/bridge-utils#4159
Alivestars04 wants to merge 1 commit into
flatcar:mainfrom
Alivestars04:drop-bridge-utils-638

Conversation

@Alivestars04

Copy link
Copy Markdown

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
Author

please review!

cc @krnowak @pothos @chewi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: ✅ Testing / in Review

Development

Successfully merging this pull request may close these issues.

Drop net-misc/bridge-utils eventually

2 participants