[PATCH] GTM19-448: Fix script to work without realpath

Aleksandar Rakic posted 1 patch 1 week, 3 days ago
scripts/archive-source.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
[PATCH] GTM19-448: Fix script to work without realpath
Posted by Aleksandar Rakic 1 week, 3 days ago
The archive-source.sh script depends on realpath command, which was
introduced in coreutils-8.15. CentOS-6 build systems use coreutils-4.7,
which does not have realpath, so fix the script to use 'readlink -e' to
perform the same action.

Cherry-picked 5d1d5766f0219ce2bec4e41c2467317df920ec0a
and 8003ab4032772a0e5b46e5983fe06268d3469289
from https://github.com/MIPS/gnutools-qemu

An instance of a pipeline of QEMU CI jobs run with input
variable QEMU_CI=1 for this patch is available here:
https://gitlab.com/rakicaleksandar1999/qemu/-/pipelines/1538854588
and for the master branch is available here:
https://gitlab.com/rakicaleksandar1999/qemu/-/pipelines/1533465414

Signed-off-by: Faraz Shahbazker <fshahbazker@wavecomp.com>
Signed-off-by: Chao-ying Fu <cfu@mips.com>
Signed-off-by: Aleksandar Rakic <aleksandar.rakic@htecgroup.com>
---
 scripts/archive-source.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 30677c3ec9..bfaa0c1483 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -18,7 +18,13 @@ if test $# -lt 1; then
     error "Usage: $0 <output tarball>"
 fi
 
-tar_file=$(realpath "$1")
+which realpath
+if [ $? -eq 0 ]; then
+    tar_file=$(realpath -s "$1")
+else
+    d=$(dirname "$1")
+    tar_file=$(readlink -e "$d")"/"$(basename "$1")
+fi
 sub_tdir=$(mktemp -d "${tar_file%.tar}.sub.XXXXXXXX")
 sub_file="${sub_tdir}/submodule.tar"
 
-- 
2.34.1
Re: [PATCH] GTM19-448: Fix script to work without realpath
Posted by Alex Bennée 1 week, 3 days ago
Aleksandar Rakic <rakicaleksandar1999@gmail.com> writes:

> The archive-source.sh script depends on realpath command, which was
> introduced in coreutils-8.15. CentOS-6 build systems use coreutils-4.7,
> which does not have realpath, so fix the script to use 'readlink -e' to
> perform the same action.

Isn't CentOS-6 outside of our supported build platform range? We aim for
latest stable release + 5 years. CentOS got to 8 before being replaced
with CentOS Stream.

>
> Cherry-picked 5d1d5766f0219ce2bec4e41c2467317df920ec0a
> and 8003ab4032772a0e5b46e5983fe06268d3469289
> from https://github.com/MIPS/gnutools-qemu
>
> An instance of a pipeline of QEMU CI jobs run with input
> variable QEMU_CI=1 for this patch is available here:
> https://gitlab.com/rakicaleksandar1999/qemu/-/pipelines/1538854588
> and for the master branch is available here:
> https://gitlab.com/rakicaleksandar1999/qemu/-/pipelines/1533465414
>
> Signed-off-by: Faraz Shahbazker <fshahbazker@wavecomp.com>
> Signed-off-by: Chao-ying Fu <cfu@mips.com>
> Signed-off-by: Aleksandar Rakic <aleksandar.rakic@htecgroup.com>
> ---
>  scripts/archive-source.sh | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 30677c3ec9..bfaa0c1483 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -18,7 +18,13 @@ if test $# -lt 1; then
>      error "Usage: $0 <output tarball>"
>  fi
>  
> -tar_file=$(realpath "$1")
> +which realpath
> +if [ $? -eq 0 ]; then
> +    tar_file=$(realpath -s "$1")
> +else
> +    d=$(dirname "$1")
> +    tar_file=$(readlink -e "$d")"/"$(basename "$1")
> +fi
>  sub_tdir=$(mktemp -d "${tar_file%.tar}.sub.XXXXXXXX")
>  sub_file="${sub_tdir}/submodule.tar"

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH] GTM19-448: Fix script to work without realpath
Posted by Richard Henderson 1 week, 3 days ago
On 11/12/24 10:38, Aleksandar Rakic wrote:
> The archive-source.sh script depends on realpath command, which was
> introduced in coreutils-8.15. CentOS-6 build systems use coreutils-4.7,
> which does not have realpath, so fix the script to use 'readlink -e' to
> perform the same action.

Centos 6 is not supported.  Neither is Centos 7, come to that.


r~