Merge ~fourdollars/pc-enablement/+git/oem-scripts:master into ~oem-solutions-engineers/pc-enablement/+git/oem-scripts:master

Proposed by Shih-Yuan Lee
Status: Merged
Approved by: Shih-Yuan Lee
Approved revision: 74dff199fc87ae744f4fe42e5bdab36f22c536a5
Merged at revision: 2ccd5eaf85404cc29b01a9df80085c1488bd0b76
Proposed branch: ~fourdollars/pc-enablement/+git/oem-scripts:master
Merge into: ~oem-solutions-engineers/pc-enablement/+git/oem-scripts:master
Diff against target: 103 lines (+46/-27)
2 files modified
debian/tests/oem-meta-packages (+31/-22)
oem-meta-packages (+15/-5)
Reviewer Review Type Date Requested Status
jeremyszu (community) Approve
Review via email: mp+431555@code.launchpad.net

Description of the change

Fix the problem when opening the cloudberry bugs for oem-somerville-charmander-meta, oem-somerville-kakuna-meta, oem-somerville-kingdra-adl-meta, oem-somerville-oranguru-meta, oem-somerville-pidgeot-meta and oem-somerville-spearow-meta.

Before this commit,
$ oem-meta-packages --dry-run staging-copy --meta oem-somerville-charmander-meta
<INFO> Using oem-scripts login
<INFO> Checking oem-somerville-charmander-meta...
<INFO> OemFromGit (20.04ubuntu13, default, linux-generic-hwe-20.04, , Latitude 5320/5520, Precision 3560)
<INFO> OemFromPPA (20.04ubuntu13, default, linux-generic-hwe-20.04, ppa:oem-archive/somerville-fossa-charmander, Latitude 5320/5520, Precision 3560)
<INFO> OemFromDevelArchive (, , , , )
<INFO> OemFromStagingArchive (, , , , )
<INFO> OemFromPublicArchive (20.04ubuntu10, oem, linux-oem-20.04c, oem:somerville-charmander, )
...

After this commit,
$ ./oem-meta-packages staging-copy --meta oem-somerville-charmander-meta
<INFO> Using oem-scripts login
<INFO> Checking oem-somerville-charmander-meta...
<INFO> OemFromGit (20.04ubuntu13, default, linux-generic-hwe-20.04, , Latitude 5320/5520, Precision 3560)
<INFO> OemFromPPA (20.04ubuntu13, default, linux-generic-hwe-20.04, ppa:oem-archive/somerville-fossa-charmander, Latitude 5320/5520, Precision 3560)
<INFO> OemFromDevelArchive (20.04ubuntu13, default, linux-generic-hwe-20.04, cesg:somerville-fossa-charmander-focal-devel, Latitude 5320/5520, Precision 3560)
<INFO> OemFromStagingArchive (20.04ubuntu10, oem, linux-oem-20.04c, cesg:somerville-fossa-charmander-focal-staging, )
<INFO> OemFromPublicArchive (20.04ubuntu10, oem, linux-oem-20.04c, oem:somerville-charmander, )

To post a comment you must log in.
Revision history for this message
OEM Taipei Bot (oem-taipei-bot) wrote :

[autopkgtest]
autopkgtest-collect-credentials PASS
autopkgtest-oem-scripts-auto PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
jq-lp PASS
launchpad-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta PASS
mir-bug PASS
oem-meta-packages SKIP exit status 77 and marked as skippable
git-url-insteadof-setting PASS
lp-dl-attm PASS
recovery-from-iso.sh PASS

https://oem-share.canonical.com/partners/lyoncore/share/artifacts/oem-scripts/oem-scripts-1.51-85f3334-in-linux-container-jammy

Revision history for this message
jeremyszu (os369510) wrote :

I don't quite familiar with this piece of code but I think we should gate it by oem-meta-package of autopkgtest because different OEM/LTS have different rule.

I thought
```
oem-meta-packages SKIP exit status 77 and marked as skippable
```

May I know why it be skipped? If we have some test cases from
1. stella-cmit-focal
2. sutton-bachman-focal
3. sutton-newwell-focal
4. sutton-simon-focal
5. somerville-focal

6. stella-jammy
7. sutton-jammy
8. somerville-jammy

Then it will be easy to be reviewed.

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

The original tests only aim on focal.
Current testing environment is on jammy so the test is skipped.
BTW, *-jammy archives are not supported yet.

Revision history for this message
OEM Taipei Bot (oem-taipei-bot) wrote :

[autopkgtest]
autopkgtest-collect-credentials PASS
autopkgtest-oem-scripts-auto PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa FAIL non-zero exit status 1
jq-lp PASS
launchpad-api FAIL non-zero exit status 1
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta PASS
mir-bug PASS
oem-meta-packages PASS
git-url-insteadof-setting PASS
lp-dl-attm PASS
recovery-from-iso.sh PASS

https://oem-share.canonical.com/partners/lyoncore/share/artifacts/oem-scripts/oem-scripts-1.51-a3f729a-in-linux-container-jammy

Revision history for this message
jeremyszu (os369510) wrote :

could we test stella & sutton cases?

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

I just added stella and sutton cases. Please help to review it again.

Revision history for this message
OEM Taipei Bot (oem-taipei-bot) wrote :

[autopkgtest]
autopkgtest-collect-credentials PASS
autopkgtest-oem-scripts-auto PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
jq-lp PASS
launchpad-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta PASS
mir-bug PASS
oem-meta-packages PASS
git-url-insteadof-setting PASS
lp-dl-attm PASS
recovery-from-iso.sh PASS

https://oem-share.canonical.com/partners/lyoncore/share/artifacts/oem-scripts/oem-scripts-1.51-74dff19-in-linux-container-jammy

Revision history for this message
jeremyszu (os369510) wrote :

LGTM, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/tests/oem-meta-packages b/debian/tests/oem-meta-packages
2index 5f9b531..d1e219f 100644
3--- a/debian/tests/oem-meta-packages
4+++ b/debian/tests/oem-meta-packages
5@@ -35,31 +35,40 @@ export LAUNCHPAD_API="https://api.launchpad.net/"
6
7 oem-meta-packages --quiet list
8
9-if [ "$(lsb_release -cs)" != focal ]; then
10- exit 77
11-fi
12+case "$(lsb_release -cs)" in
13+ (focal)
14+ oem-meta-packages --quiet collect --json platforms.json --output meta-info.json # --output platforms-meta-info.json (by default)
15+ if [ "x$(jq -r '."oem-somerville-beric-icl-meta".new_desc' < meta-info.json)" != "xDell Inspiron 3501, Vostro 3401/3501" ]; then
16+ jq -S -M < meta-info.json
17+ exit 1
18+ fi
19
20-oem-meta-packages --quiet collect --json platforms.json --output meta-info.json # --output platforms-meta-info.json (by default)
21-if [ "x$(jq -r '."oem-somerville-beric-icl-meta".new_desc' < meta-info.json)" != "xDell Inspiron 3501, Vostro 3401/3501" ]; then
22- jq -S -M < meta-info.json
23- exit 1
24-fi
25+ oem-meta-packages --quiet collect --meta oem-somerville-beric-icl-meta # --output oem-somerville-beric-icl-meta.json (by default)
26+ if [ "x$(jq -r '."oem-somerville-beric-icl-meta".oem.git.market_name' < oem-somerville-beric-icl-meta.json)" != "xInspiron 3501, Vostro 3401/3501" ]; then
27+ jq -S -M < oem-somerville-beric-icl-meta.json
28+ exit 1
29+ fi
30
31-oem-meta-packages --quiet collect --meta oem-somerville-beric-icl-meta # --output oem-somerville-beric-icl-meta.json (by default)
32-if [ "x$(jq -r '."oem-somerville-beric-icl-meta".oem.git.market_name' < oem-somerville-beric-icl-meta.json)" != "xInspiron 3501, Vostro 3401/3501" ]; then
33- jq -S -M < oem-somerville-beric-icl-meta.json
34- exit 1
35-fi
36+ oem-meta-packages --dry-run update --json meta-info.json
37
38-oem-meta-packages --dry-run update --json meta-info.json
39+ sed -i 's/"staging_version":.*/"staging_version": "20.04ubuntu2",/' meta-info.json # lower the staging version to simulate
40
41-sed -i 's/"staging_version":.*/"staging_version": "20.04ubuntu2",/' meta-info.json # lower the staging version to simulate
42+ oem-meta-packages --dry-run staging-copy --json meta-info.json
43
44-oem-meta-packages --dry-run staging-copy --json meta-info.json
45+ oem-meta-packages --dry-run staging-copy --ignore-staging-lock --json meta-info.json
46
47-oem-meta-packages --dry-run staging-copy --ignore-staging-lock --json meta-info.json
48-
49-for project in somerville stella sutton; do
50- meta="$(apt-cache search oem-"$project" | awk '{print $1}' | shuf | head -n 1)"
51- oem-meta-packages --dry-run update --meta "$meta" --factory
52-done
53+ for project in somerville stella sutton; do
54+ meta="$(apt-cache search oem-"$project" | awk '{print $1}' | shuf | head -n 1)"
55+ oem-meta-packages --dry-run update --meta "$meta" --factory
56+ done
57+ ;;
58+ (jammy)
59+ oem-meta-packages --dry-run staging-copy --meta oem-somerville-kingdra-adl-meta 2>&1 | grep -e cesg:somerville-fossa-kingdra-adl-focal-staging -e somerville-fossa-kingdra-adl-focal-devel
60+ oem-meta-packages --dry-run staging-copy --meta oem-somerville-charmander-meta 2>&1 | grep -e cesg:somerville-fossa-charmander-focal-staging -e cesg:somerville-fossa-charmander-focal-devel
61+ oem-meta-packages --dry-run staging-copy --meta oem-stella.cmit-aerodactyl-meta 2>&1 | grep -e cesg:stella-cmit-ouagadougou-focal-staging -e stella-cmit-ouagadougou-focal-devel
62+ oem-meta-packages --dry-run staging-copy --meta oem-sutton.newell-aaden-meta 2>&1 | grep -e cesg:sutton-newell-focal-staging -e cesg:sutton-newell-focal-devel
63+ ;;
64+ (*)
65+ exit 77
66+ ;;
67+esac
68diff --git a/oem-meta-packages b/oem-meta-packages
69index 446c663..e163c6b 100755
70--- a/oem-meta-packages
71+++ b/oem-meta-packages
72@@ -1309,16 +1309,26 @@ class OemFromPrivateArchive(OemMetaPkgInfo):
73 codename = self.platform
74 else:
75 codename = self.group
76+
77 for line in index.split("\n"):
78- if (
79- self.project in line
80- and codename in line
81- and f"focal-{self._branch}" in line
82- ):
83+ if self.project in line and f"{codename}-focal-{self._branch}" in line:
84 result = self.staging_pattern.match(line)
85 if result:
86 archive = result.group(1)
87 break
88+
89+ if not archive:
90+ for line in index.split("\n"):
91+ if (
92+ self.project in line
93+ and codename in line
94+ and f"focal-{self._branch}" in line
95+ ):
96+ result = self.staging_pattern.match(line)
97+ if result:
98+ archive = result.group(1)
99+ break
100+
101 source_line = config["archive"].replace(
102 "https://", f"https://{config['username']}:{config['password']}@"
103 )

Subscribers

People subscribed via source and target branches