diff --git a/external/openembedded-layer/recipes-extended/haveged/haveged_%.bbappend b/external/openembedded-layer/recipes-extended/haveged/haveged_%.bbappend index 0cd6b830..9d70a6d4 100644 --- a/external/openembedded-layer/recipes-extended/haveged/haveged_%.bbappend +++ b/external/openembedded-layer/recipes-extended/haveged/haveged_%.bbappend @@ -11,7 +11,7 @@ SRC_URI:append:tegra = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'fil do_install:append:tegra() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/haveged.service ${D}${systemd_system_unitdir}/haveged.service + install -m 0644 ${UNPACKDIR}/haveged.service ${D}${systemd_system_unitdir}/haveged.service sed -i -e "s,@SBIN_DIR@,${sbindir},g" ${D}${systemd_system_unitdir}/haveged.service fi } diff --git a/external/openembedded-layer/recipes-support/libusbgx/libusbgx-config.bbappend b/external/openembedded-layer/recipes-support/libusbgx/libusbgx-config.bbappend index a66bee66..9f12d500 100644 --- a/external/openembedded-layer/recipes-support/libusbgx/libusbgx-config.bbappend +++ b/external/openembedded-layer/recipes-support/libusbgx/libusbgx-config.bbappend @@ -8,13 +8,13 @@ SRC_URI:append:tegra = " \ do_install:append:tegra() { install -d ${D}${datadir}/usbgx - install -m 0644 ${WORKDIR}/l4t.schema.in ${D}${datadir}/usbgx/ + install -m 0644 ${UNPACKDIR}/l4t.schema.in ${D}${datadir}/usbgx/ install -d ${D}${sysconfdir}/usbgx ln -sf /run/usbgx/l4t.schema ${D}${sysconfdir}/usbgx/ install -d ${D}${sysconfdir}/systemd/system/usbgx.service.d - install -m 0644 ${WORKDIR}/usbgx-overrides.conf ${D}${sysconfdir}/systemd/system/usbgx.service.d/ + install -m 0644 ${UNPACKDIR}/usbgx-overrides.conf ${D}${sysconfdir}/systemd/system/usbgx.service.d/ install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/l4t-gadget-config-setup.sh ${D}${bindir}/l4t-gadget-config-setup + install -m 0755 ${UNPACKDIR}/l4t-gadget-config-setup.sh ${D}${bindir}/l4t-gadget-config-setup sed -i -e's,^IMPORT_SCHEMAS=.*,IMPORT_SCHEMAS="l4t",' ${D}${sysconfdir}/default/usbgx } diff --git a/external/openembedded-layer/recipes-support/opencv/opencv_4.9.%.bbappend b/external/openembedded-layer/recipes-support/opencv/opencv_4.9.%.bbappend index 6aa83439..5754ae48 100644 --- a/external/openembedded-layer/recipes-support/opencv/opencv_4.9.%.bbappend +++ b/external/openembedded-layer/recipes-support/opencv/opencv_4.9.%.bbappend @@ -22,7 +22,13 @@ SRC_URI:append:cuda = " \ OPTICALFLOW_MD5 = "a73cd48b18dcc0cc8933b30796074191" OPTICALFLOW_HASH = "edb50da3cf849840d680249aa6dbef248ebce2ca" -SRC_URI:append:cuda = " https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/${OPTICALFLOW_HASH}.zip;name=opticalflow;unpack=false;subdir=${OPENCV_DLDIR}/nvidia_optical_flow;downloadfilename=${OPTICALFLOW_MD5}-${OPTICALFLOW_HASH}.zip" +SRC_URI:append:cuda = " https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/${OPTICALFLOW_HASH}.zip;name=opticalflow;unpack=false;downloadfilename=${OPTICALFLOW_MD5}-${OPTICALFLOW_HASH}.zip" + +do_unpack_extra:append:cuda() { + mkdir -p ${OPENCV_DLDIR}/nvidia_optical_flow + ln -sf ${UNPACKDIR}/${OPTICALFLOW_MD5}-${OPTICALFLOW_HASH}.zip ${OPENCV_DLDIR}/nvidia_optical_flow/ +} + SRC_URI[opticalflow.md5sum] = "${OPTICALFLOW_MD5}" SRC_URI[opticalflow.sha256sum] = "e300c02e4900741700b2b857965d2589f803390849e1e2022732e02f4ae9be44" diff --git a/external/virtualization-layer/recipes-containers/docker/docker-moby_%.bbappend b/external/virtualization-layer/recipes-containers/docker/docker-moby_%.bbappend index fb697a1c..1bcdf818 100644 --- a/external/virtualization-layer/recipes-containers/docker/docker-moby_%.bbappend +++ b/external/virtualization-layer/recipes-containers/docker/docker-moby_%.bbappend @@ -1,7 +1,7 @@ do_install:append:tegra() { if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/docker.init ${D}${sysconfdir}/init.d/docker.init + install -m 0755 ${UNPACKDIR}/docker.init ${D}${sysconfdir}/init.d/docker.init fi } diff --git a/external/virtualization-layer/recipes-containers/libnvidia-container/libnvidia-container_1.10.0.bb b/external/virtualization-layer/recipes-containers/libnvidia-container/libnvidia-container_1.10.0.bb index 328d756b..e11695e0 100644 --- a/external/virtualization-layer/recipes-containers/libnvidia-container/libnvidia-container_1.10.0.bb +++ b/external/virtualization-layer/recipes-containers/libnvidia-container/libnvidia-container_1.10.0.bb @@ -39,8 +39,10 @@ NVIDIA_MODPROBE_VERSION = "495.44" ELF_TOOLCHAIN_VERSION = "0.7.1" LIBTIRPC_VERSION = "1.3.2" +NVIDIA_MODPROBE_SRCURI_DESTSUFFIX = "${@os.path.join(os.path.basename(d.getVar('S')), 'deps', 'src', 'nvidia-modprobe-' + d.getVar('NVIDIA_MODPROBE_VERSION')) + '/'}" + SRC_URI = "git://github.com/NVIDIA/libnvidia-container.git;protocol=https;name=libnvidia;branch=main \ - git://github.com/NVIDIA/nvidia-modprobe.git;protocol=https;branch=main;name=modprobe;destsuffix=git/deps/src/nvidia-modprobe-${NVIDIA_MODPROBE_VERSION} \ + git://github.com/NVIDIA/nvidia-modprobe.git;protocol=https;branch=main;name=modprobe;destsuffix=${NVIDIA_MODPROBE_SRCURI_DESTSUFFIX} \ file://0001-OE-cross-build-fixups.patch \ file://0002-Expose-device-file-attrs.patch \ " diff --git a/external/virtualization-layer/recipes-containers/nvidia-container-toolkit/nvidia-container-toolkit_1.11.0.bb b/external/virtualization-layer/recipes-containers/nvidia-container-toolkit/nvidia-container-toolkit_1.11.0.bb index b65b2da1..b0a75e30 100644 --- a/external/virtualization-layer/recipes-containers/nvidia-container-toolkit/nvidia-container-toolkit_1.11.0.bb +++ b/external/virtualization-layer/recipes-containers/nvidia-container-toolkit/nvidia-container-toolkit_1.11.0.bb @@ -35,7 +35,7 @@ LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=3b83ef96387f14655fc854dd file://src/${GO_IMPORT}/vendor/sigs.k8s.io/yaml/LICENSE;md5=0ceb9ff3b27d3a8cf451ca3785d73c71 \ " -SRC_URI = "git://github.com/NVIDIA/nvidia-container-toolkit.git;protocol=https;branch=main" +SRC_URI = "git://github.com/NVIDIA/nvidia-container-toolkit.git;protocol=https;branch=main;destsuffix=${GO_SRCURI_DESTSUFFIX}" SRCREV = "d9de4a09b8fd51a46207398199ecfeb3998ad49d" SRC_URI += "\ @@ -67,7 +67,7 @@ do_compile() { sed -e's,!LOCALSTATEDIR!,${localstatedir},g' \ -e's,!BASE_SBINDIR!,${base_sbindir},g' \ -e's,!SYSCONFDIR!,${sysconfdir},g' \ - -e's,!DATADIR!,${datadir},g' ${WORKDIR}/config.toml.in > ${B}/config.toml + -e's,!DATADIR!,${datadir},g' ${UNPACKDIR}/config.toml.in > ${B}/config.toml } do_install(){ diff --git a/recipes-bsp/l4t-usb-device-mode/l4t-usb-device-mode.bb b/recipes-bsp/l4t-usb-device-mode/l4t-usb-device-mode.bb index dc947dcd..d725027e 100644 --- a/recipes-bsp/l4t-usb-device-mode/l4t-usb-device-mode.bb +++ b/recipes-bsp/l4t-usb-device-mode/l4t-usb-device-mode.bb @@ -15,7 +15,8 @@ inherit features_check REQUIRED_DISTRO_FEATURES = "systemd" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_configure[noexec] = "1" do_compile[noexec] = "1" diff --git a/recipes-bsp/tegra-binaries/tegra-argus-daemon_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-argus-daemon_35.5.0.bb index bacd99d0..92021c49 100644 --- a/recipes-bsp/tegra-binaries/tegra-argus-daemon_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-argus-daemon_35.5.0.bb @@ -10,7 +10,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-binaries/tegra-configs-alsa_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-configs-alsa_35.5.0.bb index ddec033f..1a512f45 100644 --- a/recipes-bsp/tegra-binaries/tegra-configs-alsa_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-configs-alsa_35.5.0.bb @@ -12,8 +12,8 @@ SRC_URI += "file://asound.conf.tegra-hda-p3767-p3509" do_install() { if [ -n "${TEGRA_AUDIO_DEVICE}" ]; then install -d ${D}${sysconfdir} - if [ -e "${WORKDIR}/asound.conf.${TEGRA_AUDIO_DEVICE}" ]; then - install -m 0644 ${WORKDIR}/asound.conf.${TEGRA_AUDIO_DEVICE} ${D}${sysconfdir}/asound.conf + if [ -e "${UNPACKDIR}/asound.conf.${TEGRA_AUDIO_DEVICE}" ]; then + install -m 0644 ${UNPACKDIR}/asound.conf.${TEGRA_AUDIO_DEVICE} ${D}${sysconfdir}/asound.conf else install -m 0644 ${S}/etc/asound.conf.${TEGRA_AUDIO_DEVICE} ${D}${sysconfdir}/asound.conf fi diff --git a/recipes-bsp/tegra-binaries/tegra-configs_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-configs_35.5.0.bb index f5411a43..cdb3fe5c 100644 --- a/recipes-bsp/tegra-binaries/tegra-configs_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-configs_35.5.0.bb @@ -32,7 +32,7 @@ do_install() { install -m 0644 ${S}/etc/udev/rules.d/99-nv-l4t-usb-host-config.rules ${D}${sysconfdir}/udev/rules.d install -d ${D}/opt/nvidia/l4t-bootloader-config - install -m 0755 ${WORKDIR}/nv-l4t-bootloader-config.sh ${D}/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh + install -m 0755 ${UNPACKDIR}/nv-l4t-bootloader-config.sh ${D}/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh install -d ${D}${sysconfdir}/X11 @@ -49,7 +49,7 @@ do_install() { # Please create an issue for a missing file in the passthrough # FIXME: create a mechanism to dynamically generate l4t.csv based on the installed libraries install -d ${D}${sysconfdir}/nvidia-container-runtime/host-files-for-container.d - install -m 0644 ${WORKDIR}/l4t.csv ${D}${sysconfdir}/nvidia-container-runtime/host-files-for-container.d + install -m 0644 ${UNPACKDIR}/l4t.csv ${D}${sysconfdir}/nvidia-container-runtime/host-files-for-container.d } do_install:append:tegra194() { diff --git a/recipes-bsp/tegra-binaries/tegra-flashvars_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-flashvars_35.5.0.bb index 7bde8981..992ce974 100644 --- a/recipes-bsp/tegra-binaries/tegra-flashvars_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-flashvars_35.5.0.bb @@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" B = "${WORKDIR}/build" def generate_flashvar_settings(d): diff --git a/recipes-bsp/tegra-binaries/tegra-helper-scripts-native_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-helper-scripts-native_35.5.0.bb index 07ca799d..148b3457 100644 --- a/recipes-bsp/tegra-binaries/tegra-helper-scripts-native_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-helper-scripts-native_35.5.0.bb @@ -17,7 +17,8 @@ SRC_URI = " \ file://brcid-to-uid.py \ " -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${bindir}/tegra-flash diff --git a/recipes-bsp/tegra-binaries/tegra-nvfancontrol_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvfancontrol_35.5.0.bb index 6ce629ec..3775db58 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvfancontrol_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvfancontrol_35.5.0.bb @@ -18,9 +18,9 @@ do_install() { install -m 0755 ${B}/usr/sbin/nvfancontrol ${D}${sbindir}/ install -d ${D}${sysconfdir}/init.d install -m 0644 ${B}/etc/nvpower/nvfancontrol/${NVFANCONTROL}.conf ${D}${sysconfdir}/nvfancontrol.conf - install -m 0755 ${WORKDIR}/nvfancontrol.init ${D}${sysconfdir}/init.d/nvfancontrol + install -m 0755 ${UNPACKDIR}/nvfancontrol.init ${D}${sysconfdir}/init.d/nvfancontrol install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/nvfancontrol.service ${D}${systemd_system_unitdir}/ + install -m 0644 ${UNPACKDIR}/nvfancontrol.service ${D}${systemd_system_unitdir}/ } inherit systemd update-rc.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvphs_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvphs_35.5.0.bb index 4f74fd84..7a0b88ae 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvphs_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvphs_35.5.0.bb @@ -10,7 +10,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${systemd_system_unitdir} ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvpmodel_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvpmodel_35.5.0.bb index bbd76acf..93dd7170 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvpmodel_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvpmodel_35.5.0.bb @@ -10,7 +10,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvpower_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvpower_35.5.0.bb index ff793785..2a22cbff 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvpower_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvpower_35.5.0.bb @@ -29,9 +29,9 @@ do_install() { install -m 0755 ${B}/etc/systemd/nvpower.sh ${D}${libexecdir}/ install -m 0644 ${B}/etc/nvpower/libjetsonpower/${NVPOWER}.conf ${D}${sysconfdir}/nvpower/libjetsonpower/ install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/nvpower.init ${D}${sysconfdir}/init.d/nvpower + install -m 0755 ${UNPACKDIR}/nvpower.init ${D}${sysconfdir}/init.d/nvpower install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/nvpower.service ${D}${systemd_system_unitdir} + install -m 0644 ${UNPACKDIR}/nvpower.service ${D}${systemd_system_unitdir} } inherit systemd update-rc.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvs-service_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvs-service_35.5.0.bb index 23e0028f..4249a039 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvs-service_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvs-service_35.5.0.bb @@ -10,7 +10,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${systemd_system_unitdir} ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvsciipc_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvsciipc_35.5.0.bb index 7d326694..c9126032 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvsciipc_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvsciipc_35.5.0.bb @@ -11,7 +11,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${systemd_system_unitdir} ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-binaries/tegra-nvstartup_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-nvstartup_35.5.0.bb index 509ed0e3..30b0eea5 100644 --- a/recipes-bsp/tegra-binaries/tegra-nvstartup_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-nvstartup_35.5.0.bb @@ -10,7 +10,8 @@ SRC_URI = "\ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${sysconfdir}/init.d ${D}${systemd_system_unitdir} diff --git a/recipes-bsp/tegra-binaries/tegra-redundant-boot_35.5.0.bb b/recipes-bsp/tegra-binaries/tegra-redundant-boot_35.5.0.bb index bf09938e..16b143ea 100644 --- a/recipes-bsp/tegra-binaries/tegra-redundant-boot_35.5.0.bb +++ b/recipes-bsp/tegra-binaries/tegra-redundant-boot_35.5.0.bb @@ -11,7 +11,8 @@ INHIBIT_DEFAULT_DEPS = "1" COMPATIBLE_MACHINE = "(tegra)" PR = "r1" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { install -d ${D}${sysconfdir}/init.d diff --git a/recipes-bsp/tegra-bluetooth/tegra-bluetooth_1.0.bb b/recipes-bsp/tegra-bluetooth/tegra-bluetooth_1.0.bb index 7f6c1d30..7cedaec2 100644 --- a/recipes-bsp/tegra-bluetooth/tegra-bluetooth_1.0.bb +++ b/recipes-bsp/tegra-bluetooth/tegra-bluetooth_1.0.bb @@ -13,7 +13,8 @@ COMPATIBLE_MACHINE = "tegra" TEGRA_BT_SUPPORT_PACKAGE ??= "tegra-brcm-patchram" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" inherit systemd diff --git a/recipes-bsp/tegra-sources/tegra-sources-35.5.0.inc b/recipes-bsp/tegra-sources/tegra-sources-35.5.0.inc index 8ffe0884..50f68002 100644 --- a/recipes-bsp/tegra-sources/tegra-sources-35.5.0.inc +++ b/recipes-bsp/tegra-sources/tegra-sources-35.5.0.inc @@ -5,7 +5,7 @@ SRC_URI[sha256sum] = "89368d7003c278cdcf3746501db0ba5aa01f8cf9b39f2205d2d16c7852 inherit l4t_bsp unpack_tar_in_tar() { - cd ${WORKDIR} + cd ${UNPACKDIR} tar -x -j -f ${SRC_ARCHIVE} ${TEGRA_SRC_SUBARCHIVE} --to-command="tar -x -j --no-same-owner -f- ${TEGRA_SRC_SUBARCHIVE_OPTS}" if [ -n "${TEGRA_SRC_EXTRA_SUBARCHIVE}" ]; then tar -x -j -f ${SRC_ARCHIVE} ${TEGRA_SRC_EXTRA_SUBARCHIVE} --to-command="tar -x -j --no-same-owner -f- ${TEGRA_SRC_EXTRA_SUBARCHIVE_OPTS}" @@ -13,10 +13,27 @@ unpack_tar_in_tar() { } python do_unpack() { + import shutil + + sourcedir = d.getVar('S') + + d.setVar("SOURCE_BASEDIR", sourcedir) + src_uri = (d.getVar('SRC_URI') or "").split() - rootdir = d.getVar('WORKDIR') - p_dir = os.path.join(d.getVar('S'), 'patches') + + basedir = None + workdir = d.getVar('WORKDIR') + unpackdir = d.getVar('UNPACKDIR') + + p_dir = os.path.join(sourcedir, 'patches') bb.utils.remove(p_dir, True) + + if sourcedir.startswith(workdir) and not sourcedir.startswith(unpackdir): + basedir = sourcedir.replace(workdir, '').strip("/").split('/')[0] + if basedir: + bb.utils.remove(workdir + '/' + basedir, True) + d.setVar("SOURCE_BASEDIR", workdir + '/' + basedir) + try: fetcher = bb.fetch2.Fetch(src_uri, d) except bb.fetch2.BBFetchException as e: @@ -31,7 +48,10 @@ python do_unpack() { else: other_src_uris.append(s) if other_src_uris: - fetcher.unpack(d.getVar('WORKDIR'), urls=other_src_uris) + fetcher.unpack(d.getVar('UNPACKDIR'), urls=other_src_uris) + + if basedir and os.path.exists(unpackdir + '/' + basedir): + shutil.move(unpackdir + '/' + basedir, workdir + '/' + basedir) } COMPATIBLE_MACHINE = "tegra" diff --git a/recipes-bsp/tegra-wifi/tegra-wifi_1.0.bb b/recipes-bsp/tegra-wifi/tegra-wifi_1.0.bb index f8f83841..917d5413 100644 --- a/recipes-bsp/tegra-wifi/tegra-wifi_1.0.bb +++ b/recipes-bsp/tegra-wifi/tegra-wifi_1.0.bb @@ -8,7 +8,8 @@ SRC_URI = "\ COMPATIBLE_MACHINE = "tegra" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_install() { if [ -s ${S}/tegra-wifi.rules ]; then diff --git a/recipes-bsp/tools/setup-nv-boot-control_1.0.bb b/recipes-bsp/tools/setup-nv-boot-control_1.0.bb index c34367a7..9c5378c6 100644 --- a/recipes-bsp/tools/setup-nv-boot-control_1.0.bb +++ b/recipes-bsp/tools/setup-nv-boot-control_1.0.bb @@ -19,7 +19,8 @@ NVIDIA_ESPMOUNT ?= "/opt/nvidia/esp" ESPMOUNTUNIT ?= "${@'-'.join(d.getVar('ESPMOUNT').split('/')[1:])}.mount" ESPVARDIR ?= "${ESPMOUNT}/EFI/NVDA/Variables" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" B = "${WORKDIR}/build" inherit systemd update-rc.d diff --git a/recipes-bsp/uefi/edk2-firmware-tegra_35.5.0.bb b/recipes-bsp/uefi/edk2-firmware-tegra_35.5.0.bb index 48c25f69..c81e1cad 100644 --- a/recipes-bsp/uefi/edk2-firmware-tegra_35.5.0.bb +++ b/recipes-bsp/uefi/edk2-firmware-tegra_35.5.0.bb @@ -45,7 +45,7 @@ do_compile:append() { cp ${B}/images/L4TConfiguration.dtbo ${B}/images/L4TConfiguration-rcmboot.dtbo fdtput -t s ${B}/images/L4TConfiguration-rcmboot.dtbo /fragment@0/__overlay__/firmware/uefi/variables/gNVIDIATokenSpaceGuid/DefaultBootPriority data boot.img if [ ${USE_REDUNDANT_FLASH_LAYOUT} -eq 1 ]; then - dtc -Idts -Odtb -o ${B}/images/L4TConfiguration-RootfsRedundancyLevelABEnable.dtbo ${WORKDIR}/L4TConfiguration-RootfsRedundancyLevelABEnable.dtsi + dtc -Idts -Odtb -o ${B}/images/L4TConfiguration-RootfsRedundancyLevelABEnable.dtbo ${UNPACKDIR}/L4TConfiguration-RootfsRedundancyLevelABEnable.dtsi fi } do_compile[depends] += "${NVDISPLAY_INIT_DEPS}" diff --git a/recipes-bsp/uefi/tegra-uefi-keys-dtb.bb b/recipes-bsp/uefi/tegra-uefi-keys-dtb.bb index a0cb13b8..f3cf00a2 100644 --- a/recipes-bsp/uefi/tegra-uefi-keys-dtb.bb +++ b/recipes-bsp/uefi/tegra-uefi-keys-dtb.bb @@ -21,15 +21,15 @@ DEPENDS = "dtc-native" B = "${WORKDIR}/build" do_configure() { - if [ ! -s "${WORKDIR}/UefiDefaultSecurityKeys.dts" ]; then + if [ ! -s "${UNPACKDIR}/UefiDefaultSecurityKeys.dts" ]; then bbfatal "Please provide a non-empty UefiDefaultSecurityKeys.dts" fi } do_compile() { - dtc -Idts -Odtb -o ${B}/UefiDefaultSecurityKeys.dtbo ${WORKDIR}/UefiDefaultSecurityKeys.dts - if [ -a "${WORKDIR}/UefiUpdateSecurityKeys.dts" ]; then - dtc -Idts -Odtb -o ${B}/UefiUpdateSecurityKeys.dtbo ${WORKDIR}/UefiUpdateSecurityKeys.dts + dtc -Idts -Odtb -o ${B}/UefiDefaultSecurityKeys.dtbo ${UNPACKDIR}/UefiDefaultSecurityKeys.dts + if [ -s "${UNPACKDIR}/UefiUpdateSecurityKeys.dts" ]; then + dtc -Idts -Odtb -o ${B}/UefiUpdateSecurityKeys.dtbo ${UNPACKDIR}/UefiUpdateSecurityKeys.dts fi } @@ -38,7 +38,7 @@ do_install[noexec] = "1" do_deploy() { install -d ${DEPLOYDIR} install -m 0644 ${B}/UefiDefaultSecurityKeys.dtbo ${DEPLOYDIR}/ - if [ -a "${B}/UefiUpdateSecurityKeys.dtbo" ]; then + if [ -e "${B}/UefiUpdateSecurityKeys.dtbo" ]; then install -m 0644 ${B}/UefiUpdateSecurityKeys.dtbo ${DEPLOYDIR}/ fi } diff --git a/recipes-core/initrdscripts/tegra-flash-init_1.0.bb b/recipes-core/initrdscripts/tegra-flash-init_1.0.bb index 72df93e6..c342f6ec 100644 --- a/recipes-core/initrdscripts/tegra-flash-init_1.0.bb +++ b/recipes-core/initrdscripts/tegra-flash-init_1.0.bb @@ -11,20 +11,18 @@ SRC_URI = "\ COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" - do_install() { - install -m 0755 ${WORKDIR}/init-flash.sh ${D}/init - install -m 0755 ${WORKDIR}/init-extra.sh ${D}/init-extra + install -m 0755 ${UNPACKDIR}/init-flash.sh ${D}/init + install -m 0755 ${UNPACKDIR}/init-extra.sh ${D}/init-extra install -m 0755 -d ${D}/init-extra.d install -m 0555 -d ${D}/proc ${D}/sys install -m 0755 -d ${D}/dev ${D}/mnt ${D}/run ${D}/usr install -m 1777 -d ${D}/tmp mknod -m 622 ${D}/dev/console c 5 1 install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/program-boot-device.sh ${D}${bindir}/program-boot-device + install -m 0755 ${UNPACKDIR}/program-boot-device.sh ${D}${bindir}/program-boot-device install -d ${D}${sysconfdir}/initrd-flash - install -m 0644 ${WORKDIR}/initrd-flash.scheme.in ${D}${sysconfdir}/initrd-flash/ + install -m 0644 ${UNPACKDIR}/initrd-flash.scheme.in ${D}${sysconfdir}/initrd-flash/ } FILES:${PN} = "/" diff --git a/recipes-core/initrdscripts/tegra-flash-reboot_1.0.bb b/recipes-core/initrdscripts/tegra-flash-reboot_1.0.bb index d48c9fae..8d129704 100644 --- a/recipes-core/initrdscripts/tegra-flash-reboot_1.0.bb +++ b/recipes-core/initrdscripts/tegra-flash-reboot_1.0.bb @@ -6,7 +6,8 @@ SRC_URI = "file://reboot-recovery.c" COMPATIBLE_MACHINE = "(tegra)" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" B = "${WORKDIR}/build" do_compile() { diff --git a/recipes-core/initrdscripts/tegra-minimal-init_1.0.bb b/recipes-core/initrdscripts/tegra-minimal-init_1.0.bb index 95e63507..8e0703f6 100644 --- a/recipes-core/initrdscripts/tegra-minimal-init_1.0.bb +++ b/recipes-core/initrdscripts/tegra-minimal-init_1.0.bb @@ -11,16 +11,14 @@ COMPATIBLE_MACHINE = "(tegra)" PACKAGE_ARCH = "${MACHINE_ARCH}" -S = "${WORKDIR}" - do_install() { - install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init + install -m 0755 ${UNPACKDIR}/init-boot.sh ${D}/init install -m 0555 -d ${D}/proc ${D}/sys install -m 0755 -d ${D}/dev ${D}/mnt ${D}/run ${D}/usr install -m 1777 -d ${D}/tmp mknod -m 622 ${D}/dev/console c 5 1 install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/platform-preboot.sh ${D}${sysconfdir}/platform-preboot + install -m 0644 ${UNPACKDIR}/platform-preboot.sh ${D}${sysconfdir}/platform-preboot sed -i -e "s#@@TNSPEC_BOOTDEV@@#${TNSPEC_BOOTDEV}#g" ${D}${sysconfdir}/platform-preboot } diff --git a/recipes-devtools/ccache/cuda-compiler-check-native_1.0.bb b/recipes-devtools/ccache/cuda-compiler-check-native_1.0.bb index 2b22ed7a..509ecb2c 100644 --- a/recipes-devtools/ccache/cuda-compiler-check-native_1.0.bb +++ b/recipes-devtools/ccache/cuda-compiler-check-native_1.0.bb @@ -6,7 +6,8 @@ SRC_URI = "file://cuda-compiler-check.sh" inherit native -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" do_compile() { : diff --git a/recipes-devtools/cuda/cuda-compatibility-workarounds_1.0.bb b/recipes-devtools/cuda/cuda-compatibility-workarounds_1.0.bb index 2cb123ba..e03974a2 100644 --- a/recipes-devtools/cuda/cuda-compatibility-workarounds_1.0.bb +++ b/recipes-devtools/cuda/cuda-compatibility-workarounds_1.0.bb @@ -20,7 +20,7 @@ do_install() { } do_install:aarch64() { - install -D -m 0644 -t ${D}${includedir}/cuda-compat-workarounds/bits ${WORKDIR}/math-vector.h + install -D -m 0644 -t ${D}${includedir}/cuda-compat-workarounds/bits ${UNPACKDIR}/math-vector.h } ALLOW_EMPTY:${PN} = "1" diff --git a/recipes-devtools/cuda/cuda-samples_11.4.300-1.bb b/recipes-devtools/cuda/cuda-samples_11.4.300-1.bb index 66c545d9..950288ac 100644 --- a/recipes-devtools/cuda/cuda-samples_11.4.300-1.bb +++ b/recipes-devtools/cuda/cuda-samples_11.4.300-1.bb @@ -11,7 +11,7 @@ L4T_DEB_GROUP = "cuda-samples" SRC_URI[sha256sum] = "58b2d1f5fbb5c1adc12d168042cebb2fdf4e279bc820cf3fc7f4431695d2f0b6" do_unpack_samples() { - dpkg-deb --fsys-tarfile ${WORKDIR}/cuda-samples-${CUDA_VERSION_DASHED}_${PV}_arm64.deb | \ + dpkg-deb --fsys-tarfile ${UNPACKDIR}/cuda-samples-${CUDA_VERSION_DASHED}_${PV}_arm64.deb | \ tar --strip-components=5 --exclude="*/doc/*" --exclude="*/bin/*" -x -f- -C ${S} } @@ -91,7 +91,7 @@ do_install() { [ -e "$f" ] || continue install -m 0755 "$f" ${D}${bindir}/cuda-samples/ done - dpkg-deb --fsys-tarfile ${WORKDIR}/cuda-samples-11-4_${PV}_arm64.deb | \ + dpkg-deb --fsys-tarfile ${UNPACKDIR}/cuda-samples-11-4_${PV}_arm64.deb | \ tar --exclude="*usr/share*" -x -f- -C ${D} } diff --git a/recipes-devtools/cuda/cuda-target-environment_1.0.bb b/recipes-devtools/cuda/cuda-target-environment_1.0.bb index 423c2da5..f57ffed2 100644 --- a/recipes-devtools/cuda/cuda-target-environment_1.0.bb +++ b/recipes-devtools/cuda/cuda-target-environment_1.0.bb @@ -8,7 +8,8 @@ COMPATIBLE_MACHINE = "(cuda)" inherit cuda-gcc -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" COMPILER_CMD = "${@d.getVar('CXX_FOR_CUDA').split()[0]}" CMAKE_CUDA_ARCHITECTURES = "${@d.getVar('CUDA_ARCHITECTURES') if d.getVar('CUDA_ARCHITECTURES') else 'OFF'}" diff --git a/recipes-devtools/cuda/nativesdk-cuda-environment_1.0.bb b/recipes-devtools/cuda/nativesdk-cuda-environment_1.0.bb index 0f6e1dec..646e5c03 100644 --- a/recipes-devtools/cuda/nativesdk-cuda-environment_1.0.bb +++ b/recipes-devtools/cuda/nativesdk-cuda-environment_1.0.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = "file://cuda_environment_setup.sh.in \ file://cuda_toolchain.cmake" -S = "${WORKDIR}" +S = "${WORKDIR}/sources" +UNPACKDIR = "${S}" inherit nativesdk diff --git a/recipes-graphics/mesa/egl-gbm_1.1.0.bb b/recipes-graphics/mesa/egl-gbm_1.1.0.bb index 261febeb..316bd9e9 100644 --- a/recipes-graphics/mesa/egl-gbm_1.1.0.bb +++ b/recipes-graphics/mesa/egl-gbm_1.1.0.bb @@ -22,7 +22,7 @@ inherit meson pkgconfig features_check do_install:append() { install -d ${D}${datadir}/egl/egl_external_platform.d - install -m 0644 ${WORKDIR}/nvidia_gbm.json ${D}${datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json + install -m 0644 ${UNPACKDIR}/nvidia_gbm.json ${D}${datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json } FILES:${PN} += "${datadir}/egl" diff --git a/recipes-graphics/wayland/egl-wayland_1.1.9.bb b/recipes-graphics/wayland/egl-wayland_1.1.9.bb index c8990057..24edbf28 100644 --- a/recipes-graphics/wayland/egl-wayland_1.1.9.bb +++ b/recipes-graphics/wayland/egl-wayland_1.1.9.bb @@ -23,7 +23,7 @@ inherit meson pkgconfig features_check do_install:append() { install -d ${D}${datadir}/egl/egl_external_platform.d - install -m 0644 ${WORKDIR}/nvidia_wayland.json ${D}${datadir}/egl/egl_external_platform.d/20_nvidia_wayland.json + install -m 0644 ${UNPACKDIR}/nvidia_wayland.json ${D}${datadir}/egl/egl_external_platform.d/20_nvidia_wayland.json } FILES:${PN} += "${datadir}/egl" diff --git a/recipes-graphics/wayland/weston_10.0.2.bb b/recipes-graphics/wayland/weston_10.0.2.bb index 073c5cee..39c59343 100644 --- a/recipes-graphics/wayland/weston_10.0.2.bb +++ b/recipes-graphics/wayland/weston_10.0.2.bb @@ -103,18 +103,18 @@ do_install:append() { # If X11, ship a desktop file to launch it if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then install -d ${D}${datadir}/applications - install ${WORKDIR}/weston.desktop ${D}${datadir}/applications + install ${UNPACKDIR}/weston.desktop ${D}${datadir}/applications install -d ${D}${datadir}/icons/hicolor/48x48/apps - install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps + install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps fi if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland + install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland fi if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then - install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify + install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify fi if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then diff --git a/recipes-kernel/nvidia-drm-loadconf/nvidia-drm-loadconf_1.0.bb b/recipes-kernel/nvidia-drm-loadconf/nvidia-drm-loadconf_1.0.bb index d1d69674..30c9d74f 100644 --- a/recipes-kernel/nvidia-drm-loadconf/nvidia-drm-loadconf_1.0.bb +++ b/recipes-kernel/nvidia-drm-loadconf/nvidia-drm-loadconf_1.0.bb @@ -10,5 +10,5 @@ COMPATIBLE_MACHINE = "(tegra234)" do_install() { install -d ${D}${sysconfdir}/modprobe.d - install -m 0644 ${WORKDIR}/nvidia-drm-modprobe.conf ${D}${sysconfdir}/modprobe.d/nvidia-drm.conf + install -m 0644 ${UNPACKDIR}/nvidia-drm-modprobe.conf ${D}${sysconfdir}/modprobe.d/nvidia-drm.conf } diff --git a/recipes-l4t-workarounds/tar/tar-l4t-workaround-native_1.0.bb b/recipes-l4t-workarounds/tar/tar-l4t-workaround-native_1.0.bb index 813d2ad2..acb7d489 100644 --- a/recipes-l4t-workarounds/tar/tar-l4t-workaround-native_1.0.bb +++ b/recipes-l4t-workarounds/tar/tar-l4t-workaround-native_1.0.bb @@ -17,5 +17,5 @@ do_compile() { } do_install() { - install -m 0755 -D ${WORKDIR}/tar-wrapper.sh ${D}${bindir}/tar + install -m 0755 -D ${UNPACKDIR}/tar-wrapper.sh ${D}${bindir}/tar } diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r35.5.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r35.5.0.bb index ba2a03d6..0ec2dec7 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r35.5.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvv4l2camerasrc_1.14.0-r35.5.0.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://nvbufsurface.h;endline=9;md5=25279494f0285af8ac21bc9d TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gst-nvv4l2camera_src.tbz2" TEGRA_SRC_SUBARCHIVE_OPTS = "--exclude=3rdpartyheaders.tbz2" TEGRA_SRC_EXTRA_SUBARCHIVE = "Linux_for_Tegra/source/public/gst-nvarguscamera_src.tbz2" -TEGRA_SRC_EXTRA_SUBARCHIVE_OPTS = "-C ${S} --strip-components=1 gst-nvarguscamera/nvbufsurface.h" +TEGRA_SRC_EXTRA_SUBARCHIVE_OPTS = "-C ${UNPACKDIR}/gst-nvv4l2camera --strip-components=1 gst-nvarguscamera/nvbufsurface.h" require recipes-bsp/tegra-sources/tegra-sources-35.5.0.inc diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r35.5.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r35.5.0.bb index c30328a2..f194b939 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r35.5.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-nvvideo4linux2_1.14.0-r35.5.0.bb @@ -31,8 +31,8 @@ inherit gettext pkgconfig features_check REQUIRED_DISTRO_FEATURES = "opengl" remove_headers() { - rm ${WORKDIR}/nvbufsurface.h - rm ${WORKDIR}/v4l2_nv_extensions.h + rm ${UNPACKDIR}/nvbufsurface.h + rm ${UNPACKDIR}/v4l2_nv_extensions.h } do_unpack:append() { diff --git a/recipes-security/optee/optee-client_3.21.0-l4t-r35.5.0.bb b/recipes-security/optee/optee-client_3.21.0-l4t-r35.5.0.bb index 6c40b248..9ec3816b 100644 --- a/recipes-security/optee/optee-client_3.21.0-l4t-r35.5.0.bb +++ b/recipes-security/optee/optee-client_3.21.0-l4t-r35.5.0.bb @@ -31,11 +31,11 @@ do_compile() { oe_runmake -C ${S} build sed -e's,@sbindir@,${sbindir},g' \ -e's,@sysconfdir@,${sysconfdir},g' \ - ${WORKDIR}/tee-supplicant.service.in >${B}/tee-supplicant.service + ${UNPACKDIR}/tee-supplicant.service.in >${B}/tee-supplicant.service sed -e's,@sbindir@,${sbindir},g' \ -e's,@sysconfdir@,${sysconfdir},g' \ -e's,@stripped_path@,${base_sbindir}:${base_bindir}:${sbindir}:${bindir},g' \ - ${WORKDIR}/tee-supplicant.sh.in >${B}/tee-supplicant.sh + ${UNPACKDIR}/tee-supplicant.sh.in >${B}/tee-supplicant.sh } do_install() {