fix: remove all `user.kernel:*` config

This commit is contained in:
insleker 2026-05-22 19:40:52 +08:00
parent e231e9b967
commit 8d6a663379
1 changed files with 6 additions and 25 deletions

View File

@ -34,15 +34,9 @@ class LinuxKbuildTreeConan(ConanFile):
self.folders.generators = os.path.join(self.folders.build, "generators") self.folders.generators = os.path.join(self.folders.build, "generators")
def package_id(self): def package_id(self):
arch = self.conf.get("user.kernel:arch", default=None) c_compiler = self._compiler_executable("c")
if arch: if c_compiler is not None:
self.info.conf.define("user.kernel:arch", str(arch)) self.info.conf.define("tools.build:compiler_executables", {"c": str(c_compiler)})
cross_compile = self.conf.get("user.kernel:cross_compile", default=None)
if cross_compile is None:
cross_compile = self._cross_compile_from_compiler_executables()
if cross_compile is not None:
self.info.conf.define("user.kernel:cross_compile", str(cross_compile))
def validate(self): def validate(self):
if self.settings.os != "Linux": if self.settings.os != "Linux":
@ -58,8 +52,8 @@ class LinuxKbuildTreeConan(ConanFile):
if cross_building(self) and self._cross_compile is None: if cross_building(self) and self._cross_compile is None:
raise ConanInvalidConfiguration( raise ConanInvalidConfiguration(
"Cross-building a kernel tree requires user.kernel:cross_compile " "Cross-building a kernel tree requires "
"or tools.build:compiler_executables with a GCC-like C compiler" "tools.build:compiler_executables with a GCC-like C compiler"
) )
def source(self): def source(self):
@ -129,11 +123,6 @@ class LinuxKbuildTreeConan(ConanFile):
keep_path=False, keep_path=False,
) )
def package_info(self):
self.conf_info.define("user.kernel:kernel_dir", self.package_folder)
self.conf_info.define("user.kernel:arch", self._kernel_arch)
self.conf_info.define("user.kernel:cross_compile", self._cross_compile or "")
def _linux_ref_from_version(self): def _linux_ref_from_version(self):
# Upstream Linux tags base releases as v6.8, while the kernel release # Upstream Linux tags base releases as v6.8, while the kernel release
# and Conan package version are commonly represented as 6.8.0. # and Conan package version are commonly represented as 6.8.0.
@ -144,10 +133,6 @@ class LinuxKbuildTreeConan(ConanFile):
@property @property
def _kernel_arch(self): def _kernel_arch(self):
arch = self.conf.get("user.kernel:arch", default=None)
if arch:
return str(arch)
arch = str(self.settings.arch) arch = str(self.settings.arch)
arch_map = { arch_map = {
"x86": "x86", "x86": "x86",
@ -180,16 +165,12 @@ class LinuxKbuildTreeConan(ConanFile):
if arch not in arch_map: if arch not in arch_map:
raise ConanInvalidConfiguration( raise ConanInvalidConfiguration(
f"Cannot derive Linux ARCH from settings.arch={arch!r}; " f"Cannot derive Linux ARCH from settings.arch={arch!r}; "
"set user.kernel:arch explicitly" "add this Conan architecture to the recipe arch map"
) )
return arch_map[arch] return arch_map[arch]
@property @property
def _cross_compile(self): def _cross_compile(self):
cross_compile = self.conf.get("user.kernel:cross_compile", default=None)
if cross_compile is not None:
return str(cross_compile)
if not cross_building(self): if not cross_building(self):
return "" return ""