-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scripts/subfolder_list.py: Support long paths #24576
Comments
Fixes: zephyrproject-rtos#24576 The name of the symbolic link would be constructed using the full path name to the target folder. This is not needed and caused the issue raised in zephyrproject-rtos#24576. This has been fixed by no longer using the toplevel target directory in the link name, for example: Old style: _project_zephyr_workspace_zephyr_include_sys New style: include_sys Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This would actually not help, as the symlink name itself is what causes a too long filename, not whether that link is full path or relative path.
Well, in you case this will make the symlink name itself much shorter than half. But this is now fixed in #24584 |
Fixes: #24576 The name of the symbolic link would be constructed using the full path name to the target folder. This is not needed and caused the issue raised in #24576. This has been fixed by no longer using the toplevel target directory in the link name, for example: Old style: _project_zephyr_workspace_zephyr_include_sys New style: include_sys Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#24576 The name of the symbolic link would be constructed using the full path name to the target folder. This is not needed and caused the issue raised in zephyrproject-rtos#24576. This has been fixed by no longer using the toplevel target directory in the link name, for example: Old style: _project_zephyr_workspace_zephyr_include_sys New style: include_sys Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#24576 The name of the symbolic link would be constructed using the full path name to the target folder. This is not needed and caused the issue raised in zephyrproject-rtos#24576. This has been fixed by no longer using the toplevel target directory in the link name, for example: Old style: _project_zephyr_workspace_zephyr_include_sys New style: include_sys Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
I am facing an issue where os.symlink call in subfolder_list.py(zephyr v2.2) results in below error:
"scripts/subfolder_list.py", line 56, in main
os.symlink(directory, symlink)
OSError: [Errno 36] File name too long
Here is the example of one of the symlink getting created on one of the systems:
directory path:
It's symlink created by subfolder_list.py:
Above symlink is evidently too long.
I can think of 2 ways to reduce symlink length:
Symlink creation should use relative path instead of absolute path.
As symlink is in zephyr build directory and original directory is in source directory;
a relation needs to be established in between zephyr source directory and build directory.
The final symlink name should not use entire PATH in the name, rather just start from "include_*"
For example: Instead of this:
_tmp_yocto_builds_20133855_genericx86-64_poky_build_tmp_work_aarch64-poky-linux_brcm-zephyr_gitAUTOINC+a20a30cd86_bfa48a337e_dbbf7c9b30_f3635d87f4_90d93a11ba_ae871b61ae_5ba575618e-r0_git_zephyr_include_arch_arm_aarch32_cortex_m_mpu
Name could be just:
include_arch_arm_aarch32_cortex_m_mpu
This should reduce symlink length almost by half.
The text was updated successfully, but these errors were encountered: