diff mbox series

[3/4] scripts/esdk-tools: use a dedicated, static directory for esdk tools

Message ID 20231103102806.2332746-3-alex@linutronix.de
State Accepted, archived
Commit 20c548f2edca3888152adb63de7b23d84e3848e7
Headers show
Series [1/4] populate_sdk_ext.bbclass: do not symlink unfsd from sdk image sysroot into eSDK tools path | expand

Commit Message

Alexander Kanavin Nov. 3, 2023, 10:28 a.m. UTC
This allows easier replication of esdk environment (which provides
a curated, limited set of tools that for example does not include bitbake)
in a standard yocto build. Switchover between various sets can be achieved
via PATH manipulation.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes-recipe/populate_sdk_ext.bbclass | 16 ++++------------
 scripts/esdk-tools/devtool                   |  1 +
 scripts/esdk-tools/oe-find-native-sysroot    |  1 +
 scripts/esdk-tools/recipetool                |  1 +
 scripts/esdk-tools/runqemu                   |  1 +
 scripts/esdk-tools/runqemu-addptable2image   |  1 +
 scripts/esdk-tools/runqemu-export-rootfs     |  1 +
 scripts/esdk-tools/runqemu-extract-sdk       |  1 +
 scripts/esdk-tools/runqemu-gen-tapdevs       |  1 +
 scripts/esdk-tools/runqemu-ifdown            |  1 +
 scripts/esdk-tools/runqemu-ifup              |  1 +
 scripts/esdk-tools/wic                       |  1 +
 12 files changed, 15 insertions(+), 12 deletions(-)
 create mode 120000 scripts/esdk-tools/devtool
 create mode 120000 scripts/esdk-tools/oe-find-native-sysroot
 create mode 120000 scripts/esdk-tools/recipetool
 create mode 120000 scripts/esdk-tools/runqemu
 create mode 120000 scripts/esdk-tools/runqemu-addptable2image
 create mode 120000 scripts/esdk-tools/runqemu-export-rootfs
 create mode 120000 scripts/esdk-tools/runqemu-extract-sdk
 create mode 120000 scripts/esdk-tools/runqemu-gen-tapdevs
 create mode 120000 scripts/esdk-tools/runqemu-ifdown
 create mode 120000 scripts/esdk-tools/runqemu-ifup
 create mode 120000 scripts/esdk-tools/wic
diff mbox series

Patch

diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass
index 173b3065b00..53adc868d47 100644
--- a/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -220,16 +220,16 @@  python copy_buildsystem () {
         if os.path.exists(os.path.join(baseoutpath, relpath)):
             conf_initpath = relpath
 
-        relpath = os.path.join('layers', path, 'scripts', 'devtool')
+        relpath = os.path.join('layers', path, 'scripts', 'esdk-tools', 'devtool')
         if os.path.exists(os.path.join(baseoutpath, relpath)):
-            scriptrelpath = os.path.dirname(relpath)
+            esdk_tools_path = os.path.dirname(relpath)
 
         relpath = os.path.join('layers', path, 'meta')
         if os.path.exists(os.path.join(baseoutpath, relpath, 'lib', 'oe')):
             core_meta_subdir = relpath
 
     d.setVar('oe_init_build_env_path', conf_initpath)
-    d.setVar('scriptrelpath', scriptrelpath)
+    d.setVar('esdk_tools_path', esdk_tools_path)
 
     # Write out config file for devtool
     import configparser
@@ -627,14 +627,6 @@  def get_sdk_required_utilities(buildtools_fn, d):
     return ' '.join(sanity_required_utilities)
 
 install_tools() {
-	install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}
-	scripts="devtool recipetool oe-find-native-sysroot runqemu* wic"
-	for script in $scripts; do
-		for scriptfn in `find ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath} -maxdepth 1 -executable -name "$script"`; do
-			targetscriptfn="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/$(basename $scriptfn)"
-			test -e ${targetscriptfn} || ln -rs ${scriptfn} ${targetscriptfn}
-		done
-	done
 	touch ${SDK_OUTPUT}/${SDKPATH}/.devtoolbase
 
 	# find latest buildtools-tarball and install it
@@ -713,7 +705,7 @@  sdk_ext_postinst() {
 
 	# A bit of another hack, but we need this in the path only for devtool
 	# so put it at the end of $PATH.
-	echo "export PATH=\"$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH\"" >> $env_setup_script
+	echo "export PATH=\"$target_sdk_dir/${esdk_tools_path}:\$PATH\"" >> $env_setup_script
 
 	echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script
 
diff --git a/scripts/esdk-tools/devtool b/scripts/esdk-tools/devtool
new file mode 120000
index 00000000000..176a01ca682
--- /dev/null
+++ b/scripts/esdk-tools/devtool
@@ -0,0 +1 @@ 
+../devtool
\ No newline at end of file
diff --git a/scripts/esdk-tools/oe-find-native-sysroot b/scripts/esdk-tools/oe-find-native-sysroot
new file mode 120000
index 00000000000..d3493f3310a
--- /dev/null
+++ b/scripts/esdk-tools/oe-find-native-sysroot
@@ -0,0 +1 @@ 
+../oe-find-native-sysroot
\ No newline at end of file
diff --git a/scripts/esdk-tools/recipetool b/scripts/esdk-tools/recipetool
new file mode 120000
index 00000000000..60a95dd9360
--- /dev/null
+++ b/scripts/esdk-tools/recipetool
@@ -0,0 +1 @@ 
+../recipetool
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu b/scripts/esdk-tools/runqemu
new file mode 120000
index 00000000000..ae7e7ad7c22
--- /dev/null
+++ b/scripts/esdk-tools/runqemu
@@ -0,0 +1 @@ 
+../runqemu
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-addptable2image b/scripts/esdk-tools/runqemu-addptable2image
new file mode 120000
index 00000000000..afcd00e79d9
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-addptable2image
@@ -0,0 +1 @@ 
+../runqemu-addptable2image
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-export-rootfs b/scripts/esdk-tools/runqemu-export-rootfs
new file mode 120000
index 00000000000..a26fcf6110f
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-export-rootfs
@@ -0,0 +1 @@ 
+../runqemu-export-rootfs
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-extract-sdk b/scripts/esdk-tools/runqemu-extract-sdk
new file mode 120000
index 00000000000..cc858aaad55
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-extract-sdk
@@ -0,0 +1 @@ 
+../runqemu-extract-sdk
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-gen-tapdevs b/scripts/esdk-tools/runqemu-gen-tapdevs
new file mode 120000
index 00000000000..dbdf79134cf
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-gen-tapdevs
@@ -0,0 +1 @@ 
+../runqemu-gen-tapdevs
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-ifdown b/scripts/esdk-tools/runqemu-ifdown
new file mode 120000
index 00000000000..0097693ca3d
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-ifdown
@@ -0,0 +1 @@ 
+../runqemu-ifdown
\ No newline at end of file
diff --git a/scripts/esdk-tools/runqemu-ifup b/scripts/esdk-tools/runqemu-ifup
new file mode 120000
index 00000000000..41026d2c0a4
--- /dev/null
+++ b/scripts/esdk-tools/runqemu-ifup
@@ -0,0 +1 @@ 
+../runqemu-ifup
\ No newline at end of file
diff --git a/scripts/esdk-tools/wic b/scripts/esdk-tools/wic
new file mode 120000
index 00000000000..a9d908aa254
--- /dev/null
+++ b/scripts/esdk-tools/wic
@@ -0,0 +1 @@ 
+../wic
\ No newline at end of file