Skip to contentSkip to conversation

package/environment-setup: add variable KERNEL_DIR alongside KERNELDIR

PATCH In review Nayab Sayed via buildroot 3 participants 5 messages Jan 31, 2024 – Jun 4, 2024

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 package/environment-setup: add variable KERNEL_DIR alongside KERNELDIR

Update host environment setup helper script to incorporate the variable KENREL_DIR alongside the existing KERNELDIR. This adjustment ensures consistency, as some projects utilize KERNELDIR while others use KERNEL_DIR.

---
Changes in v2:
- Keep both KERNEL_DIR and KERNELDIR.
- Update commit message
- Link to v1: https://lore.kernel.org/r/[email protected]

---
 package/environment-setup/environment-setup    | 3 ++-
 package/environment-setup/environment-setup.mk | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)
package/environment-setup/environment-setup +2 -1
index 84a9843c24..0bae813e1a 100644
@@ -10,7 +10,8 @@ cat <<'EOF'
 Some tips:
 * PATH now contains the SDK utilities
 * Standard autotools variables (CC, LD, CFLAGS) are exported
-* Kernel compilation variables (ARCH, CROSS_COMPILE, KERNELDIR) are exported
+* Kernel compilation variables (ARCH, CROSS_COMPILE, KERNELDIR or KERNEL_DIR)
+  are exported
 * To configure do "./configure $CONFIGURE_FLAGS" or use
   the "configure" alias
 * To build CMake-based projects, use the "cmake" alias
package/environment-setup/environment-setup.mk +2 -0
index 29ec5a9a95..4a71f18f3a 100644
@@ -35,6 +35,8 @@ define HOST_ENVIRONMENT_SETUP_INSTALL_CMDS
 
 	$(if $(BR2_LINUX_KERNEL),\
 		printf "export \"KERNELDIR=$(LINUX_BUILDDIR)\"\n" \
+			>> $(ENVIRONMENT_SETUP_FILE)
+		printf "export \"KERNEL_DIR=$(LINUX_BUILDDIR)\"\n" \
 			>> $(ENVIRONMENT_SETUP_FILE),)
 endef
 

---
base-commit: 04dfeff6242516a1061973fc7af2cc9c5e3dd4e2
change-id: 20240124-kernel_dir-41a48fd97b75

Best regards,

Signature · 6 lines
Nayab Sayed <[email protected]>

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Reviewed-by on v2 1/1
#1 lore raw
Quoted 47 lines · Nayab Sayed via buildroot

Update host environment setup helper script to incorporate the variable KENREL_DIR alongside the existing KERNELDIR. This adjustment ensures consistency, as some projects utilize KERNELDIR while others use KERNEL_DIR.

---
Changes in v2:
- Keep both KERNEL_DIR and KERNELDIR.
- Update commit message
- Link to v1:https://lore.kernel.org/r/[email protected]

---
  package/environment-setup/environment-setup    | 3 ++-
  package/environment-setup/environment-setup.mk | 2 ++
  2 files changed, 4 insertions(+), 1 deletion(-)
package/environment-setup/environment-setup +2 -1
index 84a9843c24..0bae813e1a 100644
@@ -10,7 +10,8 @@ cat <<'EOF'
  Some tips:
  * PATH now contains the SDK utilities
  * Standard autotools variables (CC, LD, CFLAGS) are exported
-* Kernel compilation variables (ARCH, CROSS_COMPILE, KERNELDIR) are exported
+* Kernel compilation variables (ARCH, CROSS_COMPILE, KERNELDIR or KERNEL_DIR)
+  are exported
  * To configure do "./configure $CONFIGURE_FLAGS" or use
    the "configure" alias
  * To build CMake-based projects, use the "cmake" alias
package/environment-setup/environment-setup.mk +2 -1
index 29ec5a9a95..4a71f18f3a 100644
@@ -35,6 +35,8 @@ define HOST_ENVIRONMENT_SETUP_INSTALL_CMDS
 
  	$(if $(BR2_LINUX_KERNEL),\
  		printf "export \"KERNELDIR=$(LINUX_BUILDDIR)\"\n" \
+			>> $(ENVIRONMENT_SETUP_FILE)
+		printf "export \"KERNEL_DIR=$(LINUX_BUILDDIR)\"\n" \
  			>> $(ENVIRONMENT_SETUP_FILE),)
  endef
 
 
---

base-commit: 04dfeff6242516a1061973fc7af2cc9c5e3dd4e2
change-id: 20240124-kernel_dir-41a48fd97b75

Quoted 1 line

Best regards,

Looks good to me.

Regards,

Antoine Coutant.

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#2 lore raw
In reply to Nayab Sayed via buildroot

Hello Nayab,

Quoted 5 lines · On Wed, 31 Jan 2024 23:48:28 +0530 Nayab Sayed via buildroot…

Update host environment setup helper script to incorporate the variable KENREL_DIR alongside the existing KERNELDIR. This adjustment ensures consistency, as some projects utilize KERNELDIR while others use KERNEL_DIR.

Thanks for this new iteration, but on my side, I'm tempted to reject this patch, and actually to remove the support for KERNELDIR as well.

Indeed, even Angelo, who added the environment-setup script was not able to provide a solid reason for exporting KERNELDIR in the first place. I don't think there is any standard, or somewhat standard variable to point to the Linux kernel source directory.

I'm fine with environment-setup exposing CC, LD, CFLAGS, LDFLAGS, or even CROSS_COMPILE as these are reasonably standardized by various build systems. But KERNELDIR or KERNEL_DIR are not, and the simple fact that both would be needed/useful is a clear hint of that. The whole thing I didn't like in the first place with environment-setup is the fact that it exports a mixed bag of somewhat random environment variables, and exposing both KERNELDIR and KERNEL_DIR clearly goes further into this direction in my opinion.

Best regards,

Thomas

Signature · 7 lines
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#3 lore raw
Quoted 19 lines · Thomas Petazzoni

Hello Nayab,

Quoted 5 lines · On Wed, 31 Jan 2024 23:48:28 +0530 Nayab Sayed via buildroot…

Update host environment setup helper script to incorporate the variable KENREL_DIR alongside the existing KERNELDIR. This adjustment ensures consistency, as some projects utilize KERNELDIR while others use KERNEL_DIR.

Thanks for this new iteration, but on my side, I'm tempted to reject this patch, and actually to remove the support for KERNELDIR as well.

Indeed, even Angelo, who added the environment-setup script was not able to provide a solid reason for exporting KERNELDIR in the first place. I don't think there is any standard, or somewhat standard variable to point to the Linux kernel source directory.

Quoted 8 lines

I'm fine with environment-setup exposing CC, LD, CFLAGS, LDFLAGS, or even CROSS_COMPILE as these are reasonably standardized by various build systems. But KERNELDIR or KERNEL_DIR are not, and the simple fact that both would be needed/useful is a clear hint of that. The whole thing I didn't like in the first place with environment-setup is the fact that it exports a mixed bag of somewhat random environment variables, and exposing both KERNELDIR and KERNEL_DIR clearly goes further into this direction in my opinion.

Well, without an exported KERNELDIR, it will be very hard to build kernel
modules outside of buildroot (and the whole point of this environment-setup thing is to make it easier to build stuff outside of buildroot). Indeed, output/build/linux-* will match stuff like linux-pam as well.

That said, I agree that exporting both KERNELDIR and KERNEL_DIR sounds a bit
over the top.

Regards,
Arnout
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#4 lore raw

Il mar 13 feb 2024, 09:23 Arnout Vandecappelle <[email protected]> ha scritto:

Quoted 32 lines · Thomas Petazzoni
Quoted 8 lines

Hello Nayab,

Quoted 3 lines · On Wed, 31 Jan 2024 23:48:28 +0530 Nayab Sayed via buildroot…

Update host environment setup helper script to incorporate the variable KENREL_DIR alongside the existing KERNELDIR. This adjustment ensures consistency, as some projects utilize KERNELDIR while others use

KERNEL_DIR.

Quoted 11 lines
Quoted 2 lines

Thanks for this new iteration, but on my side, I'm tempted to reject this patch, and actually to remove the support for KERNELDIR as well.

Indeed, even Angelo, who added the environment-setup script was not able to provide a solid reason for exporting KERNELDIR in the first place. I don't think there is any standard, or somewhat standard variable to point to the Linux kernel source directory.

Quoted 8 lines

I'm fine with environment-setup exposing CC, LD, CFLAGS, LDFLAGS, or even CROSS_COMPILE as these are reasonably standardized by various build systems. But KERNELDIR or KERNEL_DIR are not, and the simple fact that both would be needed/useful is a clear hint of that. The whole thing I didn't like in the first place with environment-setup is the fact that it exports a mixed bag of somewhat random environment variables, and exposing both KERNELDIR and KERNEL_DIR clearly goes further into this direction in my opinion.

Quoted 7 lines

Well, without an exported KERNELDIR, it will be very hard to build
kernel
modules outside of buildroot (and the whole point of this environment-setup
thing is to make it easier to build stuff outside of buildroot). Indeed, output/build/linux-* will match stuff like linux-pam as well.

Exactly. I also think the main idea here is to have a simple way to externally compile something or test if it cross compiles under buildroot.

That said, I agree that exporting both KERNELDIR and KERNEL_DIR sounds a

Quoted 3 lines

bit
over the top.

I do not agree here: those two variables are almost the standard and we are not exactly polluting the environment with a variable more.

A user can opt-in to use the environment-setup script, so he will be ok having it exporting some variable to his current environment.

I think it will make the script only a little bit more useful!

Quoted 3 lines

Regards,
Arnout

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot