-
Notifications
You must be signed in to change notification settings - Fork 145
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
Bug in handling of CONFIG_DOCKER_SEARCH_DIRS config #62
Comments
I think you're right @paulsonnenschein, it should be With enabling BuildKit, we now rely on |
Hi, I'm a bit confused, could you please explain why Dockerfiles have to be in a specific location? I see in the example provided in your README, the user Dockerfiles can be located anywhere. As an example, I currently have a list of directories included in my Docker search list:
So, when I run a building process, I get the wrong path by adding "/home/daniil/repos/squidrc-ros/rc_ws/src/isaac_ros_common/scripts/" to {1} path: |
Do you have an update on this @hemalshahNV ? |
I could see this bug still persists, Have raised a PR to fix this - #89 |
Thanks for your patience, @paulsonnenschein, and your PRs (@harishkumarbalaji)! I finally got a chance to dig into this and verify your fix. The issue was recognizing whether a path was absolute or relative. The following is a distilled version of that check:
Removing the asterisks is not enough it turns out. We also need to remove the quotes around /* too. The below is the patch going into the next Isaac ROS release with a slight modification of your changes @harishkumarbalaji diff --git a/scripts/build_base_image.sh b/scripts/build_base_image.sh
index 52f0707..c619468 100755
--- a/scripts/build_base_image.sh
+++ b/scripts/build_base_image.sh
@@ -29,7 +29,9 @@ if [[ -f "${ROOT}/.isaac_ros_common-config" ]]; then
# Prepend configured docker search dirs
if [ ${#CONFIG_DOCKER_SEARCH_DIRS[@]} -gt 0 ]; then
for (( i=${#CONFIG_DOCKER_SEARCH_DIRS[@]}-1 ; i>=0 ; i-- )); do
- if [[ "${CONFIG_DOCKER_SEARCH_DIRS[i]}" != '/*'* ]]; then
+
+ # If the path is relative, then prefix ROOT to the path
+ if [[ "${CONFIG_DOCKER_SEARCH_DIRS[i]}" != /* ]]; then
CONFIG_DOCKER_SEARCH_DIRS[$i]="${ROOT}/${CONFIG_DOCKER_SEARCH_DIRS[i]}"
fi
done |
This fix is in Isaac ROS 2.0.0 which is now available. Please check again and close as appropriate. |
I finally got around to upgrading to the 2.0 release. |
After updating to the DP 3 Release, our current
CONFIG_DOCKER_SEARCH_DIRS
config isn't handled the same anymore.It seems that
build_base_image.sh
now always prepends the path to theisaac_ros_common/scripts/
folder to each listed element, even when using absolute paths.Im guessing this is a bug in this line:
isaac_ros_common/scripts/build_base_image.sh
Line 32 in c3f4ce5
Changing the comparison to
!= '/'*
change fixed it for me, but im not a bash expert so this might not be the proper solution.The text was updated successfully, but these errors were encountered: