ACK/cmnt: [SRU][canonical-kernel-snap/main][PATCH 1/1] nvidia-hooks: clean up scripts

Juerg Haefliger juerg.haefliger at canonical.com
Tue Feb 18 14:06:58 UTC 2025


On Tue, 18 Feb 2025 16:27:57 +1100
Aaron Jauregui <aaron.jauregui at canonical.com> wrote:

> correct references to nouveau-ko, update script permissions to better
> match permissions when installed, quote variables, and replace arch call
> with uname -m for consistency with snapcraft.yaml
> 
> Signed-off-by: Aaron Jauregui <aaron.jauregui at canonical.com>
> ---
>  hooks/module/install.module                        |  2 +-
>  hooks/module/post-refresh.module                   |  2 +-
>  hooks/module/remove.module                         |  2 +-
>  hooks/nvidia-ko/install.nvidia-ko                  | 10 +++++-----
>  hooks/nvidia-ko/post-refresh.nvidia-ko             |  0
>  hooks/nvidia-ko/remove.nvidia-ko                   |  0
>  hooks/nvidia-user/install.nvidia-user              |  4 ++--
>  hooks/nvidia-user/kernel-gpu-2404-provider-mangler |  2 +-
>  hooks/nvidia-user/remove.nvidia-user               |  0
>  hooks/pc-kernel/install.pc-kernel                  |  4 ++--
>  hooks/pc-kernel/post-refresh.pc-kernel             |  4 ++--
>  11 files changed, 15 insertions(+), 15 deletions(-)
>  mode change 100644 => 100755 hooks/module/install.module
>  mode change 100644 => 100755 hooks/module/post-refresh.module
>  mode change 100644 => 100755 hooks/module/remove.module
>  mode change 100644 => 100755 hooks/nvidia-ko/install.nvidia-ko
>  mode change 100644 => 100755 hooks/nvidia-ko/post-refresh.nvidia-ko
>  mode change 100644 => 100755 hooks/nvidia-ko/remove.nvidia-ko
>  mode change 100644 => 100755 hooks/nvidia-user/install.nvidia-user
>  mode change 100644 => 100755 hooks/nvidia-user/kernel-gpu-2404-provider-mangler
>  mode change 100644 => 100755 hooks/nvidia-user/remove.nvidia-user
>  mode change 100644 => 100755 hooks/pc-kernel/install.pc-kernel
>  mode change 100644 => 100755 hooks/pc-kernel/post-refresh.pc-kernel
> 
> diff --git a/hooks/module/install.module b/hooks/module/install.module
> old mode 100644
> new mode 100755
> index 44e4394..8fb6b8e
> --- a/hooks/module/install.module
> +++ b/hooks/module/install.module
> @@ -6,7 +6,7 @@ set -eux
>  name=$(echo "$SNAP_COMPONENT_NAME" | cut -d+ -f2)
>  
>  # nouveau needs a special case to override nvidia modules
> -if [ "$name" = "nouveau" ] ; then
> +if [ "$name" = "nouveau-ko" ] ; then
>  	dest="$SNAP_DATA/modules/$(uname -r)/graphics"
>  else
>  	dest="$SNAP_DATA/modules/$(uname -r)/$name"
> diff --git a/hooks/module/post-refresh.module b/hooks/module/post-refresh.module
> old mode 100644
> new mode 100755
> index 44e4394..8fb6b8e
> --- a/hooks/module/post-refresh.module
> +++ b/hooks/module/post-refresh.module
> @@ -6,7 +6,7 @@ set -eux
>  name=$(echo "$SNAP_COMPONENT_NAME" | cut -d+ -f2)
>  
>  # nouveau needs a special case to override nvidia modules
> -if [ "$name" = "nouveau" ] ; then
> +if [ "$name" = "nouveau-ko" ] ; then
>  	dest="$SNAP_DATA/modules/$(uname -r)/graphics"
>  else
>  	dest="$SNAP_DATA/modules/$(uname -r)/$name"
> diff --git a/hooks/module/remove.module b/hooks/module/remove.module
> old mode 100644
> new mode 100755
> index e326e7d..bada5fe
> --- a/hooks/module/remove.module
> +++ b/hooks/module/remove.module
> @@ -4,7 +4,7 @@
>  set -eux
>  
>  name=$(echo "$SNAP_COMPONENT_NAME" | cut -d+ -f2)
> -if [ "$name" = "nouveau" ] ; then
> +if [ "$name" = "nouveau-ko" ] ; then
>  	dest="$SNAP_DATA/modules/$(uname -r)/graphics"
>  else
>  	dest="$SNAP_DATA/modules/$(uname -r)/$name"
> diff --git a/hooks/nvidia-ko/install.nvidia-ko b/hooks/nvidia-ko/install.nvidia-ko
> old mode 100644
> new mode 100755
> index c4b5285..e11d532
> --- a/hooks/nvidia-ko/install.nvidia-ko
> +++ b/hooks/nvidia-ko/install.nvidia-ko
> @@ -5,16 +5,16 @@ set -eux
>  
>  # First setup the kernel modules
>  tmp_dir="/tmp/nvidia-ko"
> -rm -rf $tmp_dir
> -mkdir $tmp_dir
> +rm -rf "$tmp_dir"
> +mkdir "$tmp_dir"
>  cp -r "$SNAP_COMPONENT"/bits $tmp_dir/bits
>  
> -cd $tmp_dir/bits
> +cd "$tmp_dir/bits"
>  
>  sed -i "s|/usr/bin/ld.bfd|$SNAP_COMPONENT/bin/ld.bfd|" BUILD
>  sed -i "s|make|$SNAP_COMPONENT/bin/make|" BUILD
>  
> -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP_COMPONENT/lib/$(uname -m)-linux-gnu sh BUILD
> +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SNAP_COMPONENT/lib/$(uname -m)-linux-gnu" sh BUILD
>  
>  # Clean up directory before copying modules
>  rm -rf "$SNAP_DATA/modules/$(uname -r)/graphics"
> @@ -22,4 +22,4 @@ mkdir -p "$SNAP_DATA/modules/$(uname -r)/graphics"
>  
>  mv ../*.ko "$SNAP_DATA/modules/$(uname -r)/graphics/"
>  
> -rm -rf $tmp_dir
> +rm -rf "$tmp_dir"
> diff --git a/hooks/nvidia-ko/post-refresh.nvidia-ko b/hooks/nvidia-ko/post-refresh.nvidia-ko
> old mode 100644
> new mode 100755
> diff --git a/hooks/nvidia-ko/remove.nvidia-ko b/hooks/nvidia-ko/remove.nvidia-ko
> old mode 100644
> new mode 100755
> diff --git a/hooks/nvidia-user/install.nvidia-user b/hooks/nvidia-user/install.nvidia-user
> old mode 100644
> new mode 100755
> index fab93e5..e58769a
> --- a/hooks/nvidia-user/install.nvidia-user
> +++ b/hooks/nvidia-user/install.nvidia-user
> @@ -6,11 +6,11 @@ set -eux
>  # Now setup the userspace libraries via kernel-gpu-2404 interface
>  SENTINEL_FILE="$SNAP_COMMON"/kernel-gpu-2404/kernel-gpu-2404-sentinel
>  
> -mkdir -p "$SNAP_COMMON"/kernel-gpu-2404
> -
>  # Clean up existing installs
>  rm -rf "$SNAP_COMMON"/kernel-gpu-2404/*

This should now be:
rm -rf "$SNAP_COMMON"/kernel-gpu-2404

Can be fixed when applied.

Acked-by: Juerg Haefliger <juerg.haefliger at canonical.com>

...Juerg


>  
> +mkdir -p "$SNAP_COMMON"/kernel-gpu-2404
> +
>  cp -r "$SNAP_COMPONENT"/usr "$SNAP_COMMON"/kernel-gpu-2404
>  cp "$SNAP_COMPONENT"/kernel-gpu-2404-provider-mangler "$SNAP_COMMON"/kernel-gpu-2404
>  
> diff --git a/hooks/nvidia-user/kernel-gpu-2404-provider-mangler b/hooks/nvidia-user/kernel-gpu-2404-provider-mangler
> old mode 100644
> new mode 100755
> index ea032fd..f80cf93
> --- a/hooks/nvidia-user/kernel-gpu-2404-provider-mangler
> +++ b/hooks/nvidia-user/kernel-gpu-2404-provider-mangler
> @@ -1,7 +1,7 @@
>  #!/bin/bash
>  
>  
> -ARCH_TRIPLET="$(arch)-linux-gnu"
> +ARCH_TRIPLET="$(uname -m)-linux-gnu"
>  
>  export OCL_ICD_VENDORS=${OCL_ICD_VENDORS:+$OCL_ICD_VENDORS:}${COMPONENT_PATH}/etc/OpenCL/vendors
>  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${COMPONENT_PATH}/usr/lib/${ARCH_TRIPLET}
> diff --git a/hooks/nvidia-user/remove.nvidia-user b/hooks/nvidia-user/remove.nvidia-user
> old mode 100644
> new mode 100755
> diff --git a/hooks/pc-kernel/install.pc-kernel b/hooks/pc-kernel/install.pc-kernel
> old mode 100644
> new mode 100755
> index 0523662..08d0067
> --- a/hooks/pc-kernel/install.pc-kernel
> +++ b/hooks/pc-kernel/install.pc-kernel
> @@ -1,6 +1,6 @@
>  #!/bin/bash
>  
>  #install nouveau graphics as default if not already installed
> -if [ ! -d "/snap/${SNAP_NAME}/components/mnt/nouveau" ]; then
> -	snapctl install +nouveau
> +if [ ! -d "/snap/${SNAP_NAME}/components/mnt/nouveau-ko" ]; then
> +	snapctl install +nouveau-ko
>  fi
> diff --git a/hooks/pc-kernel/post-refresh.pc-kernel b/hooks/pc-kernel/post-refresh.pc-kernel
> old mode 100644
> new mode 100755
> index 0523662..08d0067
> --- a/hooks/pc-kernel/post-refresh.pc-kernel
> +++ b/hooks/pc-kernel/post-refresh.pc-kernel
> @@ -1,6 +1,6 @@
>  #!/bin/bash
>  
>  #install nouveau graphics as default if not already installed
> -if [ ! -d "/snap/${SNAP_NAME}/components/mnt/nouveau" ]; then
> -	snapctl install +nouveau
> +if [ ! -d "/snap/${SNAP_NAME}/components/mnt/nouveau-ko" ]; then
> +	snapctl install +nouveau-ko
>  fi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20250218/3c2208de/attachment.sig>


More information about the kernel-team mailing list