diff options
| -rwxr-xr-x | bin/platform_meta_test | 70 | ||||
| -rwxr-xr-x | bin/platform_meta_test_bios_id | 48 | ||||
| -rw-r--r-- | jobs/somerville/somerville.txt.in | 7 | ||||
| -rw-r--r-- | units/somerville-audio.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-auto.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-bios-regression.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-cpu.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-dock.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-fv-regression.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-graphic.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-iev-full-18-04.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-iev-full-20-04.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-iev-regression.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-stress.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-touch-webcam.pxu | 2 | ||||
| -rw-r--r-- | units/somerville-wireless.pxu | 2 |
16 files changed, 74 insertions, 77 deletions
diff --git a/bin/platform_meta_test b/bin/platform_meta_test index b5b72c3..74d4264 100755 --- a/bin/platform_meta_test +++ b/bin/platform_meta_test @@ -1,21 +1,73 @@ #!/bin/bash +# For somerville xenial-osp1 and after, there are two meta packages should be installed +# 1. Platform meta pacakge: PLATFORM_NAME-meta, e.g. turis-vegas-mlk-glk-meta +# 2. BIOS ID meta package: dell-BIOS_ID-RELEASE-meta or dell-BIOS_ID-meta. +# e.g. dell-086b-bionic-meta +# From somerville bionic-osp1 and after, the BIOS ID package is deprecated and replaced +# by modaliases in platform meta package. +# 1. Platform meta pacakge: oem-PLATFORM_NAME-meta, e.g. oem-beaver-osp1-worm-meta +# 2. BIOS ID modaliases in platform meta package: +# e.g. Modaliases: hwe(pci:*sv00001028sd0000096E*, pci:*sv00001028sd0000096F*) echo "Beginning Platform Metapackage Test" 1>&2 +failed() +{ + [ -n "$1" ] && echo "$1" + echo "$0 failed!!" + exit 1 +} -failed(){ -[ -n "$1" ] && echo $1 -echo "$0 failed!!" -exit 1 +passed() +{ + [ -n "$1" ] && echo "$1" + echo "$0 passed!!" + exit 0 } platform_tag=$(ubuntu-report show | grep DCD | awk -F'+' '{print $2}') - [ -n "${platform_tag}" ] || failed "no platform tag in ubuntu-report" -dpkg -l ${platform_tag}-meta > /dev/null 2>&1 || dpkg -l oem-${platform_tag}-meta > /dev/null 2>&1 || failed "no platform meta is installed." +BIOSID=$(lspci -s 00:00.0 -nnv | grep Subsystem | grep -o -E "[[:xdigit:]]{4}:[[:xdigit:]]{4}" | cut -d ":" -f 2 | tr '[:lower:]' '[:upper:]') +codename=$(lsb_release -cs) -grep ${platform_tag} /etc/apt/sources.list.d/* > /dev/null || failed "no platform archive in source list" +case "$codename" in + ('xenial') + for meta in $(dpkg -l | grep ".*-meta" | awk '{print ($2)}'); do + if [[ "$meta" =~ ^dell-$BIOSID(-${codename})?-meta$ ]];then + pmeta=$(apt-cache depends "$meta" | grep Depends | awk '{print ($2)}' | grep -o ".*-meta") + passed "Found platform meta packages: $pmeta, $meta" + fi + done + ;; + ('bionic') + for meta in $(dpkg -l | grep ".*-meta" | awk '{print ($2)}'); do + if [[ "$meta" =~ ^dell-$BIOSID(-${codename})?-meta$ ]];then + pmeta=$(apt-cache depends "$meta" | grep Depends | awk '{print ($2)}' | grep -o ".*-meta") + passed "Found platform meta packages: $pmeta, $meta" + fi + done + dpkg -l "${platform_tag}-meta" > /dev/null 2>&1 && passed "Found platform meta package: ${platform_tag}-meta" + pmeta="oem-${platform_tag}-meta" + dpkg -l "$pmeta" > /dev/null 2>&1 && apt-cache show "$pmeta" | grep ^Modaliases | grep -i "sv00001028sd0000$BIOSID" && passed "Found platform meta package '$pmeta' containing BIOS ID '$BIOSID'" + for pmeta in $(ubuntu-drivers list | grep "^oem" | grep "meta$"); do + if apt-cache show "$pmeta" | grep ^Modaliases | grep -i "sv00001028sd0000$BIOSID" > /dev/null 2>&1; then + passed "Found platform meta package '$pmeta' containing BIOS ID '$BIOSID'" + fi + done + ;; + ('focal') + for meta in $(ubuntu-drivers list | grep "^oem" | grep "meta$"); do + if apt-cache show "$meta" | grep ^Modaliases | grep -i "sv00001028sd0000$BIOSID" > /dev/null 2>&1; then + factory="${meta/oem-somerville/oem-somerville-factory}" + dpkg -l "$factory" > /dev/null 2>&1 || failed "The platform factory meta package '$factory' is not installed." + passed "Found the platform meta package '$meta' containing BIOS ID '$BIOSID' and the platform factory meta package '$factory'" + fi + done + ;; + (*) + failed "$codename is not supported yet." + ;; +esac -echo "platform meta well installed" -exit 0 +failed "No platform meta is installed. (Platform Tag: $platform_tag, BIOS ID: $BIOSID)" diff --git a/bin/platform_meta_test_bios_id b/bin/platform_meta_test_bios_id deleted file mode 100755 index c598ad3..0000000 --- a/bin/platform_meta_test_bios_id +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -# For somerville xenial-osp1 and after, there are two meta packages should be installed -# 1. Platform meta pacakge: PLATFORM_NAME-meta, e.g. turis-vegas-mlk-glk-meta -# 2. BIOS ID meta package: dell-BIOS_ID-RELEASE-meta or dell-BIOS_ID-meta. -# e.g. dell-086b-bionic-meta -# From somerville bionic-osp1 and after, the BIOS ID package is deprecated and replaced -# by modaliases in platform meta package. -# 1. Platform meta pacakge: oem-PLATFORM_NAME-meta, e.g. oem-beaver-osp1-worm-meta -# 2. BIOS ID modaliases in platform meta package: -# e.g. Modaliases: hwe(pci:*sv00001028sd0000096E*, pci:*sv00001028sd0000096F*) - -echo "Beginning Platform Metapackage BIOS ID Test" 1>&2 - -BIOSID=$(lspci -s 00:00.0 -nnv | grep Subsystem | grep -o -E "[[:xdigit:]]{4}:[[:xdigit:]]{4}" | cut -d ":" -f 2 | tr '[:lower:]' '[:upper:]') -codename=$(lsb_release -cs) - -for meta in $(dpkg -l | grep ".*-meta" | awk '{print ($2)}'); do - if [[ "$meta" =~ ^dell-[[:xdigit:]]{4}(-${codename})?-meta$ ]];then - pmeta=$(apt-cache depends "$meta" | grep Depends | awk '{print ($2)}' | grep -o ".*-meta") - echo "Found platform meta packages: $pmeta, $meta" - exit 0 - fi -done - -ptag=$(ubuntu-report show | grep DCD | awk -F'+' '{print $2}') - -if [ -n "$ptag" ]; then - if dpkg-query -W "oem-$ptag-meta" >/dev/null 2>&1; then - pmeta="oem-$ptag-meta" - elif dpkg-query -W "$ptag-meta" >/dev/null 2>&1; then - pmeta="$ptag-meta" - fi -fi - -if [ -n "$pmeta" ] && apt-cache show "$pmeta" | grep ^Modaliases | grep -i "sv00001028sd0000$BIOSID"; then - echo "Found platform meta package '$pmeta' containing BIOS ID '$BIOSID'" - exit 0 -fi - -for pmeta in $(ubuntu-drivers list | grep "^oem" | grep "meta$"); do - if apt-cache show "$pmeta" | grep ^Modaliases | grep -i "sv00001028sd0000$BIOSID"; then - echo "Found platform meta package '$pmeta' containing BIOS ID '$BIOSID'" - exit 0 - fi -done - -echo "Platform Metapackage BIOS ID ($BIOSID) cannot be found for the platform tag ($ptag)" -exit 1 diff --git a/jobs/somerville/somerville.txt.in b/jobs/somerville/somerville.txt.in index ba3c7b3..1240269 100644 --- a/jobs/somerville/somerville.txt.in +++ b/jobs/somerville/somerville.txt.in @@ -156,13 +156,6 @@ command: platform_meta_test _description: Check if the platform metapackage is installed. -id: somerville/platform-meta-test-bios-id -category_id: somerville -plugin: shell -command: - platform_meta_test_bios_id -_description: Check if the platform metapackage is installed. (BIOS ID) - id: somerville/dkms-build-exclusive-test category_id: somerville plugin: user-interact-verify diff --git a/units/somerville-audio.pxu b/units/somerville-audio.pxu index f3e7d99..776d16d 100644 --- a/units/somerville-audio.pxu +++ b/units/somerville-audio.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-audio diff --git a/units/somerville-auto.pxu b/units/somerville-auto.pxu index dc00fe3..32295db 100644 --- a/units/somerville-auto.pxu +++ b/units/somerville-auto.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-auto diff --git a/units/somerville-bios-regression.pxu b/units/somerville-bios-regression.pxu index 9b1d20a..2c6ecc5 100644 --- a/units/somerville-bios-regression.pxu +++ b/units/somerville-bios-regression.pxu @@ -13,7 +13,7 @@ include: somerville/query-bto-version somerville/manifest_version somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: com.canonical.certification::submission-cert-full diff --git a/units/somerville-cpu.pxu b/units/somerville-cpu.pxu index f3ca458..5458e20 100644 --- a/units/somerville-cpu.pxu +++ b/units/somerville-cpu.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-graphic diff --git a/units/somerville-dock.pxu b/units/somerville-dock.pxu index ac3ab2e..8c1ba91 100644 --- a/units/somerville-dock.pxu +++ b/units/somerville-dock.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-docking diff --git a/units/somerville-fv-regression.pxu b/units/somerville-fv-regression.pxu index 92619f1..c5e441a 100644 --- a/units/somerville-fv-regression.pxu +++ b/units/somerville-fv-regression.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard com.canonical.certification::audio/channels com.canonical.certification::audio/external-lineout diff --git a/units/somerville-graphic.pxu b/units/somerville-graphic.pxu index 96ac51e..5f99d8d 100644 --- a/units/somerville-graphic.pxu +++ b/units/somerville-graphic.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-graphic diff --git a/units/somerville-iev-full-18-04.pxu b/units/somerville-iev-full-18-04.pxu index 9406ce6..3674011 100644 --- a/units/somerville-iev-full-18-04.pxu +++ b/units/somerville-iev-full-18-04.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-full diff --git a/units/somerville-iev-full-20-04.pxu b/units/somerville-iev-full-20-04.pxu index 54238bb..680aef4 100644 --- a/units/somerville-iev-full-20-04.pxu +++ b/units/somerville-iev-full-20-04.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard somerville/fingerprint-login somerville/fingerprint-negative diff --git a/units/somerville-iev-regression.pxu b/units/somerville-iev-regression.pxu index 35de889..3ddb36b 100644 --- a/units/somerville-iev-regression.pxu +++ b/units/somerville-iev-regression.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard com.canonical.certification::audio/external-lineout nested_part: diff --git a/units/somerville-stress.pxu b/units/somerville-stress.pxu index 9941b0e..bd1423e 100644 --- a/units/somerville-stress.pxu +++ b/units/somerville-stress.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-stress diff --git a/units/somerville-touch-webcam.pxu b/units/somerville-touch-webcam.pxu index 2310057..c1cf98a 100644 --- a/units/somerville-touch-webcam.pxu +++ b/units/somerville-touch-webcam.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-touch-webcam diff --git a/units/somerville-wireless.pxu b/units/somerville-wireless.pxu index 81b04e5..7ac925e 100644 --- a/units/somerville-wireless.pxu +++ b/units/somerville-wireless.pxu @@ -10,7 +10,7 @@ include: somerville/phase-sku somerville/phase-platform somerville/dell-repository - somerville/platform-meta-test-bios-id + somerville/platform-meta-test somerville/desktop-kpi-dashboard nested_part: oem-generic-wireless |
