Files
builders_rubenslte/patches/README.md
T
2026-09-13 20:08:34 +02:00

3.6 KiB

Patches

These patches make the 2015-era sources build on a modern host toolchain, and fix the small LOS 14.1 source-tree issues this project hit. They are applied automatically by the build scripts (build_twrp.sh and build_los.sh) and are idempotent (already-applied patches are detected and skipped), so re-running after a repo sync is safe.

Applied by which script:

  • patches/twrp/ — build_twrp.sh (applied at the root of the omni twrp-5.1 workspace in twrp-build/)
  • patches/kernel/ — both scripts (applied at kernel/samsung/rubenslte/ in each workspace, the gitea kernel clone android_kernel_samsung_rubenslte)
  • patches/los/ — build_los.sh (applied at the root of the cm-14.1 workspace in los-build/)

TWRP / omni 5.1 (patches/twrp/)

Patch File(s) Problem fixed
0001-host-cflags-suppress-stringop-truncation.patch build/core/combo/HOST_linux-x86*.mk -Werror=stringop-truncation errors with host GCC >= 8
0002-build-core-fix-ar-absolute-paths.patch build/core/definitions.mk host ar/absolute path handling in whole-archive extraction breaks with newer binutils; extract to a temp dir instead
0003-recovery-add-std-gnu++11-for-nullptr-support.patch bootable/recovery/Android.mk adds -std=gnu++11 for nullptr under the recovery Clang build
0004-build-core-combo-remove-icf-safe-for-BFD-ld.patch build/core/combo/TARGET_linux-arm.mk -Wl,--icf=safe is gold-only; commented out for the BFD linker supplied by the toolchain download
0005-build-core-tasks-kernel-fix-KERNEL_CONFIG_OVERRIDE-ordering-and-passthrough.patch build/core/tasks/kernel.mk applies the additional config before the override, drops the clobbering oldconfig after override, and passes the override on the kernel build command line

These target the omni twrp-5.1 manifest sources — they only apply inside the repo workspace, not on a host.

Kernel (patches/kernel/)

All target kernel/samsung/rubenslte/... as checked out by either build script. Shared by both builds.

Patch File(s) Problem fixed
0001-kernel-arch-msm-config-and-defconfig-fixes.patch arch/arm/mach-msm/Kconfig, arch/arm/configs/msm8926-sec_rubenslte_defconfig adds the missing ARCH_MSM Kconfig entry and enables CONFIG_OF/ARCH_MSM in the variant defconfig (fresh kernel tree lacks them)
0002-kernel-timeconst-pl-fix.patch kernel/timeconst.pl defined(@array) removed in Perl 5.22+; use !@val
0003-kernel-modpost-nonfatal.patch scripts/Makefile.modpost drops the -E flag so section mismatches are warnings, not errors (newer host binutils)
0004-kernel-dtc-fcommon-host-build.patch scripts/dtc/Makefile -fcommon for the flex/bison host objects (GCC 10 default -fno-common breaks the dtc host build)

LineageOS 14.1 (patches/los/)

Patch File(s) Problem fixed
0001-vendor-cmsdk-droiddoc-support-libs-classpath.patch vendor/cmsdk/Android.mk droiddoc crash java.lang.NullPointerException in ExecutableMemberDocImpl.position ("Class android.support.annotation.RestrictTo not found"): put android-support-annotations (and $(cmsdk_LOCAL_JAVA_LIBRARIES)) on the docs classpath

(The former 0001-device-millet-common-allow-rubenslte.patch was deleted: millet-common is no longer part of this LOS tree — rubenslte owns its family layer in-tree.)

Anything needed from the shared kernel/device trees that can't be expressed in a device repo should go under patches/kernel/ (kernel) or patches/los/ (other LOS vendor trees).