You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are 75 open PRs against this repository. After analysis, 59 can be cleanly merged, 15 should be skipped (7
already merged/superseded, 8 need separate handling), and 1 is closed.
I have done the merge multiple times and tested the binaries as best as I can. I am open to input, the goal would be to bring ONL up to date and get as many open PRs merged.
Description: Patch covering all changes that can't be done via git apply (conflict resolution, file restructuring,
binary files, build fixes)
How to apply
REPO=opencomputeproject/OpenNetworkLinux
Start from a clean master
Follow Steps 1–61 in pr_merge_plan.md, running each git apply command in order. Some steps will partially fail —
this is expected.
Apply the manual corrections diff:
git apply onl-merge-manual-steps.diff
base.py port config classes (Steps 22–29) — 7 new classes appended; can't be applied sequentially via git apply since
each PR expects the original EOF context
buster ipmitool (Step 27c) — added to buster package list
ds4101 build fix — removed duplicate #include <linux/i2c.h> from platform_comm.c and platform_wobmc.c (causes
redefinition errors with newer toolchains)
Pre-merge prep PR (9 files) — see below
Pre-merge prep PR
A separate PR should be merged first (before the 59 PRs) or its changes can be applied via the manual diff after all
steps. It contains build system fixes required for the merge to succeed:
File: Makefile
Change: Add make clean target, .PHONY, ONL ?= $(CURDIR), fix "interative" typo
────────────────────────────────────────
File: docker/tools/onlbuilder
Change: Python 3 shebang, print()/except as/== 0 syntax, add Debian 12 bookworm builder, remove wheezy
────────────────────────────────────────
File: make/kbuild.mk
Change: Add olddefconfig before kernel build to prevent interactive prompts
────────────────────────────────────────
File: tools/mkinstaller.py
Change: Change --add-dir/--add-file from nargs='+' to action='append' (fixes grub module handling)
────────────────────────────────────────
File: onlp-snmpd/.../Makefile
Change: Add -lm to GLOBAL_LINK_LIBS
────────────────────────────────────────
File: jessie/stretch all-base-packages.yml
Change: Add build deps: autoconf, libtool, libc6-dev, g++, git
────────────────────────────────────────
File: ym2651y.c
Change: Add UPD1501SA-1190G/1290G PSU model checks (resolves index mismatch with PR #1019 after PR #1046)
────────────────────────────────────────
File: 5.4 kernel config
Change: Pre-set # CONFIG_TRUSTED_KEYS is not set (prevents interactive prompt when TCG_TPM is enabled by PR #988)
PRs included (59)
ds4101 (PR Add CLS DS4101 platform #988): platform_comm.c and platform_wobmc.c include both <linux/i2c-dev.h> and <linux/i2c.h>, causing
struct i2c_msg / union i2c_smbus_data redefinition errors on newer toolchains. Fix is included in the manual diff.
There are 75 open PRs against this repository. After analysis, 59 can be cleanly merged, 15 should be skipped (7
already merged/superseded, 8 need separate handling), and 1 is closed.
I have done the merge multiple times and tested the binaries as best as I can. I am open to input, the goal would be to bring ONL up to date and get as many open PRs merged.
Artifacts
File: pr_merge_plan.md
pr_merge_plan.md
Description: Complete runbook — step-by-step instructions for applying all 59 PRs in the correct order
────────────────────────────────────────
File: onl-merge-manual-steps.patch
onl-merge-manual-steps.patch
Description: Patch covering all changes that can't be done via git apply (conflict resolution, file restructuring,
binary files, build fixes)
How to apply
REPO=opencomputeproject/OpenNetworkLinux
this is expected.
git apply onl-merge-manual-steps.diff
What the manual diff covers
The manual diff handles everything git apply can't:
(SENSORS_PMBUS/UCD9000/TPS53679), adds USB_USBNET (28 sub-options), TCG_TPM (13 sub-options), MCE_LEGACY, MCE_INJECT,
MPL3115, and pre-sets TRUSTED_KEYS to prevent interactive kernel build prompts
accton_ipmi_intf module; PR [Accton][as7946-74xkb][as7946-30xb] Add unplugged psu's fan & thermal… #1047 ONLP merges for fani.c, platform_lib.c/h, psui.c
each PR expects the original EOF context
redefinition errors with newer toolchains)
Pre-merge prep PR
A separate PR should be merged first (before the 59 PRs) or its changes can be applied via the manual diff after all
steps. It contains build system fixes required for the merge to succeed:
File: Makefile
Change: Add make clean target, .PHONY, ONL ?= $(CURDIR), fix "interative" typo
────────────────────────────────────────
File: docker/tools/onlbuilder
Change: Python 3 shebang, print()/except as/== 0 syntax, add Debian 12 bookworm builder, remove wheezy
────────────────────────────────────────
File: make/kbuild.mk
Change: Add olddefconfig before kernel build to prevent interactive prompts
────────────────────────────────────────
File: tools/mkinstaller.py
Change: Change --add-dir/--add-file from nargs='+' to action='append' (fixes grub module handling)
────────────────────────────────────────
File: onlp-snmpd/.../Makefile
Change: Add -lm to GLOBAL_LINK_LIBS
────────────────────────────────────────
File: jessie/stretch all-base-packages.yml
Change: Add build deps: autoconf, libtool, libc6-dev, g++, git
────────────────────────────────────────
File: ym2651y.c
Change: Add UPD1501SA-1190G/1290G PSU model checks (resolves index mismatch with PR #1019 after PR #1046)
────────────────────────────────────────
File: 5.4 kernel config
Change: Pre-set # CONFIG_TRUSTED_KEYS is not set (prevents interactive prompt when TCG_TPM is enabled by PR #988)
PRs included (59)
Group A: Independent (Steps 1–11)
#371, #477, #693, #755, #829, #859, #927, #929, #994
Group B: Rootfs & Build System (Steps 12–16)
#941, #810, #869, #1013, #1044
Group C: ym2651y.c chain (Steps 17–20)
#1046 → #1019 → #884 → #889
Group D: Kernel config + new platforms (Steps 21–29)
#1011, #989, #990, #995, #1008, #1024, #1025, #1040, #988
Group E: as7946 chain (Steps 30–34)
#1007, #1041, #998, #1042, #1047
Group F: as7535-28xb chain (Steps 35–38)
#992, #997, #1022, #901
Group G: as7315-27xb chain (Steps 39–40)
#1036, #1009
Group H: Non-Accton platforms (Steps 41–43)
#815, #917, #881
Group I: Independent Accton platforms (Steps 44–61)
#985, #993, #996, #1006, #1010, #1012, #1014, #1015, #1020, #1023, #1027, #1028, #1029, #1030, #1032, #1035, #1037,
#1038
PRs skipped (15)
Known build issues
struct i2c_msg / union i2c_smbus_data redefinition errors on newer toolchains. Fix is included in the manual diff.
Post-merge build order
as9817-32d/32o, as9947-72xkb, dcg8510-32d, ds4101, s9500-22xst, wedge100bf-32qs