[PATCH] livepatch-build-tools: fix misuse of script directory as work directory

Roger Pau Monne posted 1 patch 4 months, 3 weeks ago
Failed in applying to current master (apply log)
livepatch-build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] livepatch-build-tools: fix misuse of script directory as work directory
Posted by Roger Pau Monne 4 months, 3 weeks ago
It's incorrect to assume that the script directory will always match the
directory the script is executed from.  Instead cache the directory at the
start of script execution in order to be able to get back to it if needed.

Fixes: 629ab8ddb775 ('livepatch-build-tools: do not use readlink -m option')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 livepatch-build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/livepatch-build b/livepatch-build
index f622683fc56c..e318cecd4da6 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -25,6 +25,7 @@
 # script.
 
 SCRIPTDIR="$(readlink -f $(dirname $(type -p $0)))"
+WORKDIR="$(readlink -f -- .)"
 CPUS="$(getconf _NPROCESSORS_ONLN)"
 DEBUG=n
 XEN_DEBUG=n
@@ -459,7 +460,7 @@ if [ "${SKIP}" != "build" ]; then
 fi
 
 if [ "${SKIP}" != "diff" ]; then
-    cd "${SCRIPTDIR}" || die
+    cd "${WORKDIR}" || die
     [ -d "$outputarg" ] || die "Output directory does not exist"
     OUTPUT="$(readlink -f -- "$outputarg")"
 

base-commit: 0ed8ef88dc300750696a64e89efa3b82502f6dc7
prerequisite-patch-id: 20327fdf775db3903c8067a0642254d67c495806
-- 
2.43.0


Re: [PATCH] livepatch-build-tools: fix misuse of script directory as work directory
Posted by Jan Beulich 4 months, 3 weeks ago
On 13.12.2023 14:51, Roger Pau Monne wrote:
> --- a/livepatch-build
> +++ b/livepatch-build
> @@ -25,6 +25,7 @@
>  # script.
>  
>  SCRIPTDIR="$(readlink -f $(dirname $(type -p $0)))"
> +WORKDIR="$(readlink -f -- .)"

More for my own education than anything else: Isn't the (standard) pwd
utility intended to be the "canonical" way of getting at the current
directory? Its -P option (apparently what would be needed to match the
-f used above) is also a standard one afaict.

Jan
Re: [PATCH] livepatch-build-tools: fix misuse of script directory as work directory
Posted by Roger Pau Monné 4 months, 3 weeks ago
On Thu, Dec 14, 2023 at 09:19:35AM +0100, Jan Beulich wrote:
> On 13.12.2023 14:51, Roger Pau Monne wrote:
> > --- a/livepatch-build
> > +++ b/livepatch-build
> > @@ -25,6 +25,7 @@
> >  # script.
> >  
> >  SCRIPTDIR="$(readlink -f $(dirname $(type -p $0)))"
> > +WORKDIR="$(readlink -f -- .)"
> 
> More for my own education than anything else: Isn't the (standard) pwd
> utility intended to be the "canonical" way of getting at the current
> directory? Its -P option (apparently what would be needed to match the
> -f used above) is also a standard one afaict.

Hm, yes, having looked at it `pwd -P` would also be fine.  I've used
readlink because that's what is used thorough the script.

Thanks, Roger.
Re: [PATCH] livepatch-build-tools: fix misuse of script directory as work directory
Posted by Ross Lagerwall 4 months, 3 weeks ago
On Wed, Dec 13, 2023 at 1:52 PM Roger Pau Monne <roger.pau@citrix.com> wrote:
>
> It's incorrect to assume that the script directory will always match the
> directory the script is executed from.  Instead cache the directory at the
> start of script execution in order to be able to get back to it if needed.
>
> Fixes: 629ab8ddb775 ('livepatch-build-tools: do not use readlink -m option')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  livepatch-build | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/livepatch-build b/livepatch-build
> index f622683fc56c..e318cecd4da6 100755
> --- a/livepatch-build
> +++ b/livepatch-build
> @@ -25,6 +25,7 @@
>  # script.
>
>  SCRIPTDIR="$(readlink -f $(dirname $(type -p $0)))"
> +WORKDIR="$(readlink -f -- .)"
>  CPUS="$(getconf _NPROCESSORS_ONLN)"
>  DEBUG=n
>  XEN_DEBUG=n
> @@ -459,7 +460,7 @@ if [ "${SKIP}" != "build" ]; then
>  fi
>
>  if [ "${SKIP}" != "diff" ]; then
> -    cd "${SCRIPTDIR}" || die
> +    cd "${WORKDIR}" || die
>      [ -d "$outputarg" ] || die "Output directory does not exist"
>      OUTPUT="$(readlink -f -- "$outputarg")"
>
>
> base-commit: 0ed8ef88dc300750696a64e89efa3b82502f6dc7
> prerequisite-patch-id: 20327fdf775db3903c8067a0642254d67c495806
> --
> 2.43.0
>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Thanks,
Ross