[Buildroot] [RFC PATCH v5 07/11] support/scripts: add reloacte-sdk.sh script for SDK relocation
Wolfgang Grandegger
wg at grandegger.com
Tue Jul 4 07:01:51 UTC 2017
Am 04.07.2017 um 00:01 schrieb Arnout Vandecappelle:
> Type in the subject: reloacte -> relocate
>
> On 30-06-17 10:37, Wolfgang Grandegger wrote:
>> It will install the script "relocate-sdk.sh" in the HOST_DIR
>> allowing to adjust the path to the SDK directory in all text
>> files after it has been moved to a new location.
>>
>> Signed-off-by: Wolfgang Grandegger <wg at grandegger.com>
>> ---
>> support/misc/relocate-sdk.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 47 insertions(+)
>> create mode 100755 support/misc/relocate-sdk.sh
>>
>> diff --git a/support/misc/relocate-sdk.sh b/support/misc/relocate-sdk.sh
>> new file mode 100755
>> index 0000000..1b0be33
>> --- /dev/null
>> +++ b/support/misc/relocate-sdk.sh
>> @@ -0,0 +1,47 @@
>> +#!/bin/bash
>
> Minor nit: you're not using any bashism in this script so you could just as
> well use /bin/sh as shebang.
>
>> +#
>> +if [ "$#" -ne 0 ]; then
>> + echo "Run this script to relocate the buildroot SDK at that location"
>> + exit 1
>> +fi
>> +
>> +LOCFILE="./usr/share/buildroot/sdk-location"
>
> Minor nit: the ./ in front is redundant.
>
>> +FILEPATH="$(readlink -f "$0")"
>> +NEWPATH="$(dirname "${FILEPATH}")"
>> +
>> +cd "${NEWPATH}"
>> +if [ ! -r "${LOCFILE}" ]; then
>> + echo "Previous location of the buildroot SDK not found!"
>> + exit 1
>> +fi
>> +OLDPATH="$(cat "${LOCFILE}")"
>> +
>> +if [ "${NEWPATH}" = "${OLDPATH}" ]; then
>> + echo "This buildroot SDK has already been relocated!"
>> + exit 0
>> +fi
>> +
>> +# Check if the path substitution does work properly, e.g.
>> +# a tree "/a/b/c" copied into "/a/b/c/" would not be allowed.
> ^^^^^^^ You mean /a/b/c/a/b/c ?
>> +newpath="$(sed -e "s\\${OLDPATH}\\${NEWPATH}\\g" "${LOCFILE}")"
>
> \\ is a bit a weird sed separator... We use % mostly, sometimes @ or ,. But I'd
> advise %.
"%" and "@" are legal character of a file name. That's why I have chosen
"\".
Wolfgang
More information about the buildroot
mailing list