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: 452fffb2ca0a26efbbb0071031647efcc50b6cec
Merged at revision: 7a6254c6a6e58cc712036e23b6d6711cef439a30
Proposed branch: ~fourdollars/pc-enablement/+git/oem-scripts:master
Merge into: ~oem-solutions-engineers/pc-enablement/+git/oem-scripts:master
Diff against target: 346 lines (+94/-65)
4 files modified
bootstrap-meta (+73/-51)
debian/tests/bootstrap-meta (+13/-8)
debian/tests/mir-bug (+2/-2)
mir-bug (+6/-4)
Reviewer Review Type Date Requested Status
Andy Chi Approve
Review via email: mp+446148@code.launchpad.net

Description of the change

$ bootstrap-meta create-sru-bug fossa-bronn.json --kernel linux-generic-hwe-20.04
<INFO> Using oem-scripts login
<INFO> meta package public bug: https://bugs.launchpad.net/bugs/2026244

*** Before this commit ***

$ bootstrap-meta update-sru-git fossa-bronn.json --kernel linux-generic-hwe-20.04 --dryrun
<INFO> Using oem-scripts login
> Do you want to update the bootstrap OEM metapackage in Git repository for LP: #2026244 - "[DRAFT] Update the hardware support for Dell Precision 5750 in oem-somerville-bronn-meta" for linux-generic-hwe-20.04? (y/n) y
<INFO> LP: #2026244 "[DRAFT] Update the hardware support for Dell Precision 5750 in oem-somerville-bronn-meta"
<CRITICAL> return 2
<CRITICAL> usage: pkg-somerville-meta [-h]
                           [-k {linux-oem-20.04d,linux-oem-20.04c,linux-oem-20.04b,linux-oem-20.04,linux-oem-22.04c,linux-oem-22.04b,linux-oem-22.04a,linux-oem-22.04,linux-generic-hwe-20.04,linux-generic-hwe-22.04,linux-generic}]
                           [-s {focal,jammy,kinetic,lunar,mantic}]
                           [--public-bug PUBLIC_BUG] --private-bug PRIVATE_BUG
                           [--market-name MARKET_NAME]
                           [--product-name PRODUCT_NAME] -p PLATFORM
                           bios_id [bios_id ...]
pkg-somerville-meta: error: the following arguments are required: --private-bug

*** After this commit ***

$ ./bootstrap-meta update-sru-git ~/projects/oem-hw-info/platform-info/somerville/fossa-bronn.json --kernel linux-generic-hwe-20.04 --yes
<INFO> Using oem-scripts login
> Do you want to update the bootstrap OEM metapackage in Git repository for LP: #2026244 - "[DRAFT] Update the hardware support for Dell Precision 5750 in oem-somerville-bronn-meta" for linux-generic-hwe-20.04? (y/n) y
<INFO> LP: #2026244 "[DRAFT] Update the hardware support for Dell Precision 5750 in oem-somerville-bronn-meta"
<WARNING> $ git diff
diff --git a/debian/changelog b/debian/changelog
index e8dd768..7d1211e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+oem-somerville-bronn-meta (20.04~ubuntu2) UNRELEASED; urgency=medium
+
+ * Update the hardware support for Dell Precision 5750. (LP: #2026244)
+
+ -- Shih-Yuan Lee (FourDollars) <email address hidden> Thu, 06 Jul 2023 14:24:27 +0800
+
 oem-somerville-bronn-meta (20.04~ubuntu1) focal; urgency=medium

   * Meta package for Somerville Bronn. (LP: #1897551)
diff --git a/debian/control b/debian/control
index 5c2add4..a55ea9b 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,8 @@ Package: oem-somerville-bronn-meta
 Architecture: all
 Depends: ${misc:Depends}, ubuntu-oem-keyring
 XB-Modaliases: ${modaliases}
-XB-Ubuntu-OEM-Kernel-Flavour: oem
-Description: hardware support for Somerville Bronn platform
- This is a metapackage for Somerville Bronn platform. It installs
- packages needed to support this hardware fully.
+XB-Ubuntu-OEM-Kernel-Flavour: default
+Description: hardware support for Dell Precision 5750
+ This is a metapackage for Dell PC:
+ * Dell Precision 5750
+ It installs packages needed to support this hardware fully.
diff --git a/debian/copyright b/debian/copyright
index 3641fb8..64a8e0e 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -3,7 +3,7 @@ Upstream-Name: oem-somerville-bronn-meta
 Source: https://code.launchpad.net/~oem-solutions-engineers/pc-enablement/+git/oem-somerville-projects-meta/+ref/bronn-focal-ubuntu

 Files: *
-Copyright: 2020 Canonical Limited
+Copyright: 2023 Canonical Limited
 License: GPL-3
  This package is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
diff --git a/debian/modaliases b/debian/modaliases
index bed999c..fe8d131 100644
--- a/debian/modaliases
+++ b/debian/modaliases
@@ -1 +1 @@
-alias pci:*sv00001028sd00000990* meta oem-somerville-bronn-meta
+alias pci:*sv00001028sd00000990bc0Csc05* meta oem-somerville-bronn-meta
> Do you want to commit and push the changes above into the 'bronn-focal-ubuntu' branch of oem-somerville-bronn-meta's Git repository? (y/n) y

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-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.82-33c3f0e-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-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.82-6a20b66-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-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 FAIL non-zero exit status 1
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.82-ca0fc3b-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta FAIL non-zero exit status 1
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.82-0e4848a-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta FAIL non-zero exit status 1
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.82-0e4848a-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-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 FAIL non-zero exit status 1
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.82-8dd466f-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta FAIL non-zero exit status 1
mir-bug FAIL non-zero exit status 1
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.82-1a38013-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta FAIL non-zero exit status 1
mir-bug PASS
oem-meta-packages FAIL non-zero exit status 1
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.82-1a38013-in-linux-container-jammy

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

[autopkgtest]
blame: .
badpkg: rules build failed with exit code 2
erroneous package: rules build failed with exit code 2

https://oem-share.canonical.com/partners/lyoncore/share/artifacts/oem-scripts/oem-scripts-1.82-2426ebc-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta PASS
pkg-somerville-meta PASS
pkg-stella-meta PASS
pkg-sutton-meta PASS
bug-bind PASS
get-private-ppa PASS
lp-api PASS
lp-bug PASS
pkg-list PASS
review-merge-proposal PASS
run-autopkgtest PASS
setup-apt-dir PASS
bootstrap-meta FAIL non-zero exit status 1
mir-bug PASS
oem-meta-packages FAIL non-zero exit status 1
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.82-452fffb-in-linux-container-jammy

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

[autopkgtest]
pkg-iot-meta 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
lp-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.82-452fffb-in-linux-container-jammy

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

My changes are not related to `get-private-ppa FAIL non-zero exit status 1` and `lp-api FAIL non-zero exit status 1`.
Those failures are majorly because of the unstable Launchpad staging server.

Revision history for this message
Andy Chi (andch) wrote :

4$ dada,
When will we use `bootstrap-meta`, is it for real meta SRU?

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

No, bootstrap-meta is for the SRU process of the bootstrap meta in Ubuntu archive.

Revision history for this message
Andy Chi (andch) wrote :

LGTM.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/bootstrap-meta b/bootstrap-meta
2index b9f335f..c523795 100755
3--- a/bootstrap-meta
4+++ b/bootstrap-meta
5@@ -28,7 +28,7 @@ import re
6 import shutil
7
8 from copy import copy
9-from logging import info, debug, warning, error, critical
10+from logging import info, warning, error, critical
11 from oem_scripts import (
12 ALLOWED_KERNEL_META_LIST,
13 SUBSCRIBER_LIST,
14@@ -148,7 +148,13 @@ class BootstrapMeta(object):
15 raise Exception("Not supported")
16
17 def search_meta_bug(
18- self, pattern, yes, output=None, update_bug=False, update_git=False
19+ self,
20+ pattern,
21+ yes,
22+ dryrun=False,
23+ output=None,
24+ update_bug=False,
25+ update_git=False,
26 ):
27 if update_bug and update_git:
28 critical("This should not happen.")
29@@ -172,7 +178,7 @@ class BootstrapMeta(object):
30 bug = task.bug
31 if pattern.match(bug.title):
32 found = True
33- if yes_or_ask(
34+ if dryrun or yes_or_ask(
35 yes,
36 f'{question_prefix} LP: #{bug.id} - "{bug.title}" for {self.kernel_meta}?',
37 ):
38@@ -184,7 +190,7 @@ class BootstrapMeta(object):
39 bug = task.bug
40 if pattern.match(bug.title):
41 found = True
42- if yes_or_ask(
43+ if dryrun or yes_or_ask(
44 yes,
45 f'{question_prefix} LP: #{bug.id} - "{bug.title}" for {self.kernel_meta}?',
46 ):
47@@ -275,9 +281,13 @@ class BootstrapMetaSRU(BootstrapMeta):
48 task = bug.addTask(target=lp.projects[f"ubuntu/+source/{self.meta}"])
49 task.lp_save()
50
51- def update(self, release=False, ready=False, yes=False):
52+ def update(self, release=False, ready=False, yes=False, dryrun=False):
53 bug = self.search_meta_bug(
54- pattern=self.pattern, yes=yes, output=self.output, update_bug=True
55+ pattern=self.pattern,
56+ yes=yes,
57+ dryrun=dryrun,
58+ output=self.output,
59+ update_bug=True,
60 )
61 bug.title = f"Update the hardware support for {self.market_name} in {self.meta}"
62 bug.description = self._read_from_template()
63@@ -420,7 +430,9 @@ class BootstrapMetaGit(BootstrapMeta):
64 )
65 if mir:
66 pattern = re.compile(rf".*[MIR] {self.meta}")
67- bug = self.search_meta_bug(pattern=pattern, yes=yes, update_git=True)
68+ bug = self.search_meta_bug(
69+ pattern=pattern, yes=yes, dryrun=dryrun, update_git=True
70+ )
71 info(f'LP: #{bug.id} "{bug.title}"')
72 if self.group:
73 branch = f"{self.group}.{self.platform}-focal-ubuntu"
74@@ -429,6 +441,7 @@ class BootstrapMetaGit(BootstrapMeta):
75 kernel_flavour, _, market_name, ids = _get_items_from_git(
76 self.project, branch, self.meta
77 )
78+ meta_bug = self.json.get("metabug", "")
79 with TemporaryDirectory() as tmpdir:
80 os.chdir(tmpdir)
81 # Generated the meta package by pkg-oem-meta
82@@ -443,6 +456,8 @@ class BootstrapMetaGit(BootstrapMeta):
83 self.platform,
84 "--public-bug",
85 str(bug.id),
86+ "--private-bug",
87+ str(meta_bug),
88 "--market-name",
89 self.market_name,
90 ]
91@@ -463,6 +478,8 @@ class BootstrapMetaGit(BootstrapMeta):
92 self.platform,
93 "--public-bug",
94 str(bug.id),
95+ "--private-bug",
96+ str(meta_bug),
97 "--market-name",
98 self.market_name,
99 ]
100@@ -483,6 +500,8 @@ class BootstrapMetaGit(BootstrapMeta):
101 self.platform,
102 "--public-bug",
103 str(bug.id),
104+ "--private-bug",
105+ str(meta_bug),
106 "--market-name",
107 self.market_name,
108 ]
109@@ -505,6 +524,7 @@ class BootstrapMetaGit(BootstrapMeta):
110 shutil.rmtree(os.path.join(new_dir, ".git"))
111 os.remove(os.path.join(new_dir, "debian", "changelog"))
112
113+ # Checkout git branch
114 git_repo = f"git+ssh://{lp.me.name}@git.launchpad.net/~oem-solutions-engineers/pc-enablement/+git/oem-{self.project}-projects-meta"
115 git_command = (
116 "git",
117@@ -520,48 +540,6 @@ class BootstrapMetaGit(BootstrapMeta):
118 os.chdir(os.path.join(tmpdir, self.meta))
119 shutil.copytree(new_dir, ".", dirs_exist_ok=True)
120
121- lines = None
122- found = False
123- changelog = os.path.join(tmpdir, self.meta, "debian", "changelog")
124- with open(changelog, "r") as f:
125- lines = f.readlines()
126-
127- for idx, line in enumerate(lines):
128- if f"(LP: #{bug.id})" in line:
129- found = True
130- lines[
131- idx
132- ] = f" * Update the hardware support for {self.market_name}. (LP: #{bug.id})\n"
133-
134- if found:
135- with open(changelog, "w") as f:
136- f.writelines(lines)
137- else:
138- dist, _, _ = _run_command(
139- [
140- "dpkg-parsechangelog",
141- "--show-field",
142- "Distribution",
143- "-l",
144- "debian/changelog",
145- ]
146- )
147- if dist == "UNRELEASED":
148- _run_command(
149- [
150- "dch",
151- f"Update the hardware support for {self.market_name}. (LP: #{bug.id})",
152- ]
153- )
154- else:
155- _run_command(
156- [
157- "dch",
158- "-i",
159- f"Update the hardware support for {self.market_name}. (LP: #{bug.id})",
160- ]
161- )
162-
163 # Remove deprecated autopkgtest file
164 deprecated_test = os.path.join(
165 tmpdir, self.meta, "debian", "tests", self.meta
166@@ -572,11 +550,55 @@ class BootstrapMetaGit(BootstrapMeta):
167 # Remove deprecated debian/compat
168 deprecated_compat = os.path.join(tmpdir, self.meta, "debian", "compat")
169 if os.path.exists(deprecated_compat):
170- _run_command(["git", "rm", f"debian/compat"])
171+ _run_command(["git", "rm", "debian/compat"])
172+
173+ out, _, _ = _run_command(["git", "diff"])
174+ if out:
175+ # Dealing with debian/changelog
176+ lines = None
177+ found = False
178+ changelog = os.path.join(tmpdir, self.meta, "debian", "changelog")
179+ with open(changelog, "r") as f:
180+ lines = f.readlines()
181+
182+ for idx, line in enumerate(lines):
183+ if f"(LP: #{bug.id})" in line:
184+ found = True
185+ lines[
186+ idx
187+ ] = f" * Update the hardware support for {self.market_name}. (LP: #{bug.id})\n"
188+
189+ if found:
190+ with open(changelog, "w") as f:
191+ f.writelines(lines)
192+ else:
193+ dist, _, _ = _run_command(
194+ [
195+ "dpkg-parsechangelog",
196+ "--show-field",
197+ "Distribution",
198+ "-l",
199+ "debian/changelog",
200+ ]
201+ )
202+ if dist == "UNRELEASED":
203+ _run_command(
204+ [
205+ "dch",
206+ f"Update the hardware support for {self.market_name}. (LP: #{bug.id})",
207+ ]
208+ )
209+ else:
210+ _run_command(
211+ [
212+ "dch",
213+ "-i",
214+ f"Update the hardware support for {self.market_name}. (LP: #{bug.id})",
215+ ]
216+ )
217
218 # Check git status
219 if args.debug:
220- debug("$ git status")
221 out, _, _ = _run_command(["git", "status"])
222 print(out)
223
224diff --git a/debian/tests/bootstrap-meta b/debian/tests/bootstrap-meta
225index a4dff03..0338fcc 100644
226--- a/debian/tests/bootstrap-meta
227+++ b/debian/tests/bootstrap-meta
228@@ -4,6 +4,7 @@ set -euo pipefail
229 IFS=$'\n\t'
230
231 export LAUNCHPAD_API="https://api.staging.launchpad.net/"
232+export COPYRIGHT_YEAR=2021
233
234 # Change the working folder to avoid reading the template files under the source code folder.
235 cd /tmp
236@@ -11,6 +12,8 @@ cd /tmp
237 cat > fossa-varys.json <<ENDLINE
238 {
239 "group": "",
240+ "metabug": 1908047,
241+ "mirbug": 1937243,
242 "platform": "varys",
243 "productnames": [
244 "Precision 5550"
245@@ -26,7 +29,7 @@ cleanup() {
246 rm bugid
247 fi
248 if [ -f "$BUG_ID.json" ]; then
249- jq -C -S < "$BUG_ID.json"
250+ jq -S -M < "$BUG_ID.json"
251 rm "$BUG_ID.json"
252 lp-bug cleanup --yes "$BUG_ID"
253 fi
254@@ -36,7 +39,7 @@ trap cleanup EXIT INT TERM
255
256 bootstrap-meta create-sru-bug fossa-varys.json --kernel linux-oem-20.04 --output bugid
257 BUG_ID=$(cat bugid)
258-launchpad-api get "bugs/$BUG_ID" > "$BUG_ID.json"
259+lp-api get "bugs/$BUG_ID" > "$BUG_ID.json"
260 jq -r .description < "$BUG_ID.json" | grep "Precision 5550"
261 jq -r .description < "$BUG_ID.json" | grep linux-oem-20.04
262 jq -r '.tags|join(" ")' < "$BUG_ID.json" | grep oem-meta-packages
263@@ -47,20 +50,22 @@ if bootstrap-meta create-sru-bug fossa-varys.json --kernel linux-oem-20.04 --out
264 fi
265
266 bootstrap-meta update-sru-bug fossa-varys.json --kernel linux-oem-20.04b --yes
267-launchpad-api get "bugs/$BUG_ID" > "$BUG_ID.json"
268+lp-api get "bugs/$BUG_ID" > "$BUG_ID.json"
269 jq -r .description < "$BUG_ID.json" | grep linux-oem-20.04b
270
271 bootstrap-meta update-sru-bug fossa-varys.json --kernel linux-oem-20.04c --yes --ready
272-launchpad-api get "bugs/$BUG_ID" > "$BUG_ID.json"
273+lp-api get "bugs/$BUG_ID" > "$BUG_ID.json"
274 jq -r .description < "$BUG_ID.json" | grep linux-oem-20.04c
275 jq -r '.tags|join(" ")' < "$BUG_ID.json" | grep oem-needs-upload
276
277-bootstrap-meta update-sru-bug fossa-varys.json --kernel linux-oem-20.04d --yes --release
278-launchpad-api get "bugs/$BUG_ID" > "$BUG_ID.json"
279-jq -r .description < "$BUG_ID.json" | grep linux-oem-20.04d
280+bootstrap-meta update-sru-bug fossa-varys.json --kernel linux-generic-hwe-20.04 --yes --release
281+lp-api get "bugs/$BUG_ID" > "$BUG_ID.json"
282+jq -r .description < "$BUG_ID.json" | grep linux-generic-hwe-20.04
283 jq -r '.tags|join(" ")' < "$BUG_ID.json" | grep oem-done-upload
284
285-if bootstrap-meta update-sru-git fossa-varys.json --kernel linux-oem-20.04d --yes --dryrun; then
286+if bootstrap-meta update-sru-git fossa-varys.json --kernel linux-oem-20.04d --dryrun; then
287 echo "It is expected to return failed."
288 exit 1
289 fi
290+
291+bootstrap-meta update-sru-git fossa-varys.json --kernel linux-generic-hwe-20.04 --dryrun
292diff --git a/debian/tests/mir-bug b/debian/tests/mir-bug
293index 1858edd..94610c8 100644
294--- a/debian/tests/mir-bug
295+++ b/debian/tests/mir-bug
296@@ -22,7 +22,7 @@ trap cleanup EXIT INT TERM
297 # create
298 mir-bug create -o bug_id somerville bronn "some Dell platforms" --series focal
299 BUG_ID=$(cat bug_id)
300-launchpad-api get bugs/"$BUG_ID" > "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json"
301+lp-api get bugs/"$BUG_ID" > "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json"
302 jq -r .title < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep "\[MIR\] oem-somerville-bronn-meta"
303 jq -r .description < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep focal
304 jq -r .description < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep 20.04
305@@ -31,7 +31,7 @@ rm bug_id
306
307 mir-bug create -o bug_id somerville tentacool "some Dell platforms" --series jammy
308 BUG_ID=$(cat bug_id)
309-launchpad-api get bugs/"$BUG_ID" > "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json"
310+lp-api get bugs/"$BUG_ID" > "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json"
311 jq -r .title < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep "\[MIR\]\[jammy\] oem-somerville-tentacool-meta"
312 jq -r .description < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep jammy
313 jq -r .description < "$AUTOPKGTEST_ARTIFACTS/$BUG_ID.json" | grep 22.04
314diff --git a/mir-bug b/mir-bug
315index d01bd75..6049d74 100755
316--- a/mir-bug
317+++ b/mir-bug
318@@ -110,10 +110,12 @@ update.add_argument(
319 update.add_argument(
320 "--ready",
321 action="store_true",
322- help="Update the bug to Fix Committed, also affects 'Ubuntu', and subscribe 'ubuntu-sponsors' and 'ubuntu-desktop'.",
323+ help="Update the oem-priority bug to Fix Committed, and wait for an OEM metapackages uploader to upload the package.",
324 )
325 update.add_argument(
326- "--release", action="store_true", help="Update the bug for release."
327+ "--release",
328+ action="store_true",
329+ help="Also affects 'Ubuntu', and subscribe 'ubuntu-sponsors'.",
330 )
331
332 check = subparsers.add_parser(
333@@ -719,11 +721,11 @@ def update_bug_status(bug, pkg_name: str, yes: bool, series: str) -> None:
334 _change_task_status(bug_task, "Incomplete", yes)
335 else:
336 warning(f"{bug_task.bug_target_name} {bug_task.status}")
337- if args.ready and saw_ubuntu_task is False:
338+ if args.release and args.ready and saw_ubuntu_task is False:
339 bug.addTask(target=lp.projects["Ubuntu"])
340 for bug_task in bug.bug_tasks:
341 if bug_task.bug_target_name == "ubuntu":
342- _change_task_status(bug_task, "Confirmed", yes)
343+ _change_task_status(bug_task, "In Progress", yes)
344
345
346 def check_and_update_bug_subscriptions(lp, bug, update=False, yes=False) -> bool:

Subscribers

People subscribed via source and target branches