kas-docker: Translate all kas files into containter paths
Ensure that all file elements of the kas file parameter are properly canonicalized and mapped onto the container volume. This is important when kas-docker is called using relative paths while PWD is not the repository root. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
		
				
					committed by
					
						
						Daniel Wagner
					
				
			
			
				
	
			
			
			
						parent
						
							70c568f05f
						
					
				
				
					commit
					dabda7617f
				
			
							
								
								
									
										19
									
								
								kas-docker
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								kas-docker
									
									
									
									
									
								
							@@ -144,12 +144,19 @@ while [ $# -gt 0 ]; do
 | 
				
			|||||||
		shift 1
 | 
							shift 1
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	*)
 | 
						*)
 | 
				
			||||||
		KAS_FILE=$1
 | 
							KAS_FILES=
 | 
				
			||||||
		FILE=$(echo ${KAS_FILE} | cut -d ':' -f 1)
 | 
							for FILE in $(IFS=':'; echo $1); do
 | 
				
			||||||
		if ! FIRST_KAS_FILE=$(readlink -e $FILE); then
 | 
								if ! REAL_FILE=$(realpath -qe $FILE); then
 | 
				
			||||||
			echo "Error: configuration file '$FILE' not found"
 | 
									echo "Error: configuration file '${FILE}' not found"
 | 
				
			||||||
				exit 1
 | 
									exit 1
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
 | 
								if [ -z "${KAS_FILES}" ]; then
 | 
				
			||||||
 | 
									FIRST_KAS_FILE=${REAL_FILE}
 | 
				
			||||||
 | 
									KAS_FILES=${REAL_FILE}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									KAS_FILES=${KAS_FILES}:${REAL_FILE}
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
							done
 | 
				
			||||||
		shift 1
 | 
							shift 1
 | 
				
			||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
@@ -163,7 +170,7 @@ REPO_DIR=$(git -C ${KAS_FILE_DIR} rev-parse --show-toplevel 2>/dev/null) \
 | 
				
			|||||||
	|| REPO_DIR=$(hg --cwd ${KAS_FILE_DIR} root 2>/dev/null) \
 | 
						|| REPO_DIR=$(hg --cwd ${KAS_FILE_DIR} root 2>/dev/null) \
 | 
				
			||||||
	|| REPO_DIR=${KAS_FILE_DIR}
 | 
						|| REPO_DIR=${KAS_FILE_DIR}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
KAS_FILE=/repo/$(echo ${KAS_FILE} | sed 's|'${REPO_DIR}'/||g;s|:|:/repo/|g')
 | 
					KAS_FILES=/repo/$(echo ${KAS_FILES} | sed 's|'${REPO_DIR}'/||g;s|:|:/repo/|g')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
trace mkdir -p ${KAS_WORK_DIR}
 | 
					trace mkdir -p ${KAS_WORK_DIR}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -213,4 +220,4 @@ for var in SHELL TERM KAS_DISTRO KAS_MACHINE KAS_TARGET KAS_TASK \
 | 
				
			|||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
trace docker run "$@" ${ISAR_ARGS} ${USER_ARGS} \
 | 
					trace docker run "$@" ${ISAR_ARGS} ${USER_ARGS} \
 | 
				
			||||||
		 ${DOCKER_IMAGE} ${CMD} ${KAS_OPTIONS} ${KAS_FILE}
 | 
							 ${DOCKER_IMAGE} ${CMD} ${KAS_OPTIONS} ${KAS_FILES}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user