packages: modernize packages that build on the existing toolchain#1127
Open
bhouse-nexthop wants to merge 23 commits into
Open
Conversation
f9af593 to
45e1e53
Compare
This was referenced Jul 9, 2026
bhouse-nexthop
added a commit
to bhouse-nexthop/onie
that referenced
this pull request
Jul 9, 2026
…oolchain) Squashed content of PR opencomputeproject#1127, pulled in as a dependency: older package versions do not build under GCC 14. Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop
added a commit
to bhouse-nexthop/onie
that referenced
this pull request
Jul 10, 2026
…oolchain) Squashed content of PR opencomputeproject#1127, pulled in as a dependency: older package versions do not build under GCC 14. Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop
added a commit
to bhouse-nexthop/onie
that referenced
this pull request
Jul 13, 2026
…oolchain) Squashed content of PR opencomputeproject#1127, pulled in as a dependency: older package versions do not build under GCC 14. Signed-off-by: Brad House <bhouse@nexthop.ai>
Add a libmnl package (minimal netlink library, netfilter.org), built from the canonical upstream release via autotools. Installs libmnl.so/.so.0/.so.0.2.0 + headers/pkg-config into the sysroot. Required by ethtool's netlink interface; included inside the ETHTOOL_ENABLE block, ahead of ethtool. Signed-off-by: Brad House <bhouse@nexthop.ai>
ethtool 6.x enables its netlink interface via libmnl, so build it against the new libmnl package. Split out of the assorted version-bump batch because, unlike those, it required adding a new dependency. Signed-off-by: Brad House <bhouse@nexthop.ai>
Source moved to the madler GitHub release assets; the old SourceForge/libpng mirror 404s intermittently. Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
Requires libpcap >= 1.10.5 (bumped in the preceding commit). Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
people.redhat.com is dead; source is now the maintainer's kernel.org git snapshot, which is a .tar.gz (was .tar.bz2). Signed-off-by: Brad House <bhouse@nexthop.ai>
Refresh the ONIE cross-compile patch for 3.7. Signed-off-by: Brad House <bhouse@nexthop.ai>
acpica.org's download URL retired; the ACPICA project now publishes official acpica-unix release tarballs as GitHub release assets. Signed-off-by: Brad House <bhouse@nexthop.ai>
No dist tarball is published for 1.8.19; use the upstream GitHub source-tag archive (built via ./bootstrap). Signed-off-by: Brad House <bhouse@nexthop.ai>
Drop the vendored aarch64-support and device-tree-sorting patches (upstreamed). Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
Refresh the ONIE Makefile-changes patch for 3.15.0. Signed-off-by: Brad House <bhouse@nexthop.ai>
Drop the add-onie-partition-types patch (obsolete) and refresh the cross-compile patch. Signed-off-by: Brad House <bhouse@nexthop.ai>
Drop the vendored aarch64-support and uClibc glob-pattern workaround patches (no longer needed). Signed-off-by: Brad House <bhouse@nexthop.ai>
Signed-off-by: Brad House <bhouse@nexthop.ai>
mtd-utils 1.5.2 -> 2.3.1 (latest, infraroot.at). Switch from the git-commit snapshot scheme to a release tarball and from the hand-rolled build to autotools ./configure (--with-zlib/lzo/ubifs/jffs, --without- crypto/zstd/xattr/selinux/tests to match the available sysroot libs and the prior build's behavior). Signed-off-by: Brad House <bhouse@nexthop.ai>
i2c-tools 3.1.1 -> 4.4 (latest). jdelvare.nerim.net is dead -> kernel.org (.tar.bz2 -> .tar.gz). Rework the 3 ONIE patches for the 4.x layout (eepromer/ -> eeprog/, static libi2c, include/i2c/smbus.h). Signed-off-by: Brad House <bhouse@nexthop.ai>
dosfstools 3.0.26 -> 4.2 (latest). daniel-baumann.ch is dead, so source the upstream GitHub release dist tarball (.tar.xz -> .tar.gz). Switch to the 4.x autotools build (--without-iconv, --enable-compat-symlinks) and drop the obsolete remove-local-support patch (its gettext/locale avoidance is now covered by --without-iconv). Signed-off-by: Brad House <bhouse@nexthop.ai>
busybox 1.25.1 -> 1.38.0 (latest). Refresh the remaining 8 ONIE patches for
the post-1.26 layout, where applet/config/kbuild registration moved from the
central applets.src.h/Config.src/Kbuild.src files into per-source //applet:,
//config: and //kbuild: comments; flash_erase uses the new getopt32
"^...\0=N" spec. Reconcile conf/busybox.config to 1.38.0 (oldconfig) and
disable CONFIG_TC, which no longer builds against modern kernel uapi and was
never shipped.
Drop the dhcp-additional-options patch entirely and adapt ONIE to how
busybox's udhcpc handles options, so no busybox source patch is needed.
busybox trims rarely-used options from its built-in udhcpc table for size
(it dropped vivso/125 after ~1.25 and never carried tftpsiaddr/150), and:
- Request side: busybox accepts a numeric option code for "-O"/"-x" with no
table entry, but aborts on an unknown option *name*. networking.sh now
requests logsrv by code (-O 7) instead of "-O logsrv", which 1.38 would
reject. (discover already used numeric -O.)
- Receive side: busybox exports an option it doesn't recognize generically
as "opt<code>=<hexvalue>" -- raw hex, untyped. udhcp4_sd decodes those to
the typed value and name ONIE's discovery consumes -- 114->url (string),
72->wwwsrv (IPv4), 150->tftpsiaddr (IPv4); vivso/125 is left as hex since
import_vivso decodes it -- in the one place that builds onie_disco_*; and
udhcp4_net decodes the received $opt7 into $logsrv (IPv4). The decode
(hex->ASCII for strings, hex->dotted-quad for addresses) reproduces what
the in-table option types would have yielded, and is a no-op on a busybox
that still carries the names, so it is correct across busybox versions.
Signed-off-by: Brad House <bhouse@nexthop.ai>
Add a libaio package (Linux asynchronous I/O library) from the canonical upstream release on releases.pagure.org, built via libaio's plain Makefile. Installs libaio.so/.so.1/.so.1.0.2 + libaio.h into the sysroot. Required by lvm2 >= 2.03 (its bcache I/O engine); included inside the LVM2_ENABLE block, ahead of lvm2. Signed-off-by: Brad House <bhouse@nexthop.ai>
lvm2 2.02.105 -> 2.03.41 (latest), sourced from sourceware (LVM2.<ver>.tgz). Drop --with-clvmd (the clvmd cluster stack was removed in 2.03) and disable optional deps absent from the sysroot; depend on the libaio package (2.03's bcache I/O engine requires it). Drop sbin/lvmchange (blocklisted in 2.03) and the obsolete add-sysmacros.h patch. Signed-off-by: Brad House <bhouse@nexthop.ai>
45e1e53 to
5be3c43
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Targets
onie-modernization-2026. Independent — not stacked on any other modernization PR. It applies cleanly ononie-modernization-2026and every package builds on the existing cross-toolchain (no dependency on the toolchain milestone, the python3 port, SBOM, or OCE).Each package is now its own commit (one bump per commit, bisectable and reviewable in isolation).
New dependency libraries
Added to unblock consumers:
Package upgrades
All bumps target current upstream releases from canonical sources (stable hosts preferred over flaky mirrors); patch series were refreshed and dead/flaky source URLs fixed as part of each bump.
busybox 1.38 + DHCP VIVSO
busybox 1.38 dropped the
vivso(opt-125) andtftpsiaddr(opt-150) names from udhcpc's stock table. The busybox commit restores them (extendedpatches/busybox/dhcp-additional-options.patch) and makes ONIE's discovery decode DHCP options type-aware inrootconf/default/lib/onie/udhcp4_sd/udhcp4_net, so VIVSO-based OCP discovery keeps working. (The OCE compliance PR is the gate that exercises this end-to-end.)Testing
Validated by full local cross-builds producing a green recovery ISO, plus CI on the prior stack. Commits are individually bisectable (each builds in order).