UBUNTU: [Packaging] remove debian/scripts/misc/arch-has-odm-enabled.sh

On Ubuntu, /bin/sh is a symlink to /bin/dash by default.

While this is a rare use case, when /bin/sh is a symlink to /bin/bash,
the annotation check fails due to a mismatch of CONFIG_UBUNTU_ODM_DRIVERS.

debian/scripts/misc/arch-has-odm-enabled.sh always fails with bash.

You can see it if you directly execute it.

[with dash]

  $ dash debian/scripts/misc/arch-has-odm-enabled.sh amd64
  cat: debian/scripts/misc/../../../debian.master/rules.d/hooks.mk: No such file or directory
  $ echo $?
  0

[with bash]

  $ bash debian/scripts/misc/arch-has-odm-enabled.sh amd64
  cat: debian/scripts/misc/../../../debian.master/rules.d/hooks.mk: No such file or directory
  debian/scripts/misc/arch-has-odm-enabled.sh: line 26: return: can only `return' from a function or sourced script
  $ echo $?
  2

Bash provides stricter checks, hence the 'return' statement outside
a function leads to an error.

While it is trivial to fix, I wonder if we need this script in the
first place. Its purpose is to make CONFIG_UBUNTU_ODM_DRIVERS a
user-unconfigurable option.

Given debian.*/config/annotations specifying the CONFIG set for each
arch/flavour, why not handle CONFIG_UBUNTU_ODM_DRIVERS just like
other normal CONFIG options? Users are still allow to toggle it from
menuconfig etc., but I do not see a significant issue, as any trouble
comes to users' responsibility when they change CONFIG options by
themselves.

Signed-off-by: Masahiro Yamada <masahiro.yamada@canonical.com>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Masahiro Yamada
2024-03-01 18:16:35 +09:00
committed by Andrea Righi
parent 9c85bd8126
commit 056f4386aa
7 changed files with 2 additions and 37 deletions
-26
View File
@@ -1,26 +0,0 @@
#!/bin/sh
# Evaluate whether arch ($1) will be built with do_odm_drivers set to true.
set -e
if [ "$1" = "" ]; then
case $ARCH in
x86) ARCH=amd64;;
*) ;;
esac
else
ARCH=$1
fi
TOPDIR=$(dirname $0)/../../..
. $TOPDIR/debian/debian.env
RULESDIR=$TOPDIR/$DEBIAN/rules.d
do_odm_drivers=false
for f in $ARCH.mk hooks.mk; do
eval $(cat $RULESDIR/$f | sed -n -e '/do_odm_drivers/s/ \+//gp')
done
if [ "$do_odm_drivers" != "true" ]; then
return 1
fi
return 0