Skip to content

Commit c136949

Browse files
committed
extract_utils: allow exposing bin/etc/lib/sh packages to recovery
Change-Id: Idd316dbc62f358c92ca3ae7065068b3cbdad7ba6
1 parent b059613 commit c136949

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

extract_utils/bp_builder.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,13 @@ def skip_preprocessed_apk_checks(self):
214214
optional=True,
215215
)
216216

217+
def recovery_available(self):
218+
return self.set(
219+
'recovery_available',
220+
self.__file.recovery_available,
221+
optional=True,
222+
)
223+
217224
def target(self, f: File, machine: EM, deps: Optional[List[str]]):
218225
target = self.o.setdefault('target', {})
219226

extract_utils/file.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class FileArgs(str, Enum):
6262
SYMLINK = 'SYMLINK'
6363
TRYSRCFIRST = 'TRYSRCFIRST'
6464
FILEGROUP = 'FILEGROUP'
65+
RECOVERY_AVAILABLE = 'RECOVERY_AVAILABLE'
6566

6667

6768
FILE_ARGS_TYPE_MAP = {
@@ -86,6 +87,7 @@ class FileArgs(str, Enum):
8687
FileArgs.SYMLINK: list,
8788
FileArgs.TRYSRCFIRST: True,
8889
FileArgs.FILEGROUP: list,
90+
FileArgs.RECOVERY_AVAILABLE: True,
8991
}
9092

9193
assert len(FileArgs) == len(FILE_ARGS_TYPE_MAP)
@@ -308,6 +310,10 @@ def inferred_bits(self):
308310
def filegroups(self):
309311
return self.args.get(FileArgs.FILEGROUP)
310312

313+
@property
314+
def recovery_available(self):
315+
return self.args.get(FileArgs.RECOVERY_AVAILABLE)
316+
311317

312318
T = TypeVar('T')
313319

extract_utils/makefiles.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ def write_sh_package(file: File, builder: FileBpBuilder, any_extension=False):
180180
.filename()
181181
.sub_dir()
182182
.specific()
183+
.recovery_available()
183184
)
184185

185186
return package_name
@@ -234,6 +235,7 @@ def write_elfs_package(
234235
.prefer()
235236
.relative_install_path()
236237
.specific()
238+
.recovery_available()
237239
)
238240

239241
return package_name
@@ -250,6 +252,7 @@ def write_elfs_package(
250252
.relative_install_path()
251253
.prefer()
252254
.specific()
255+
.recovery_available()
253256
)
254257

255258
return package_name
@@ -375,6 +378,7 @@ def write_etc_package(file: File, builder: FileBpBuilder):
375378
.set('filename_from_src', True)
376379
.sub_dir()
377380
.specific()
381+
.recovery_available()
378382
)
379383

380384
return package_name
@@ -426,6 +430,8 @@ def write_packages_group(
426430
package_name = fn(file, builder, *args, **kwargs)
427431
builder.write(out)
428432
package_names.append(package_name)
433+
if file.recovery_available:
434+
package_names.append(f'{package_name}.recovery')
429435

430436

431437
def write_packages_inclusion(package_names: List[str], out: TextIO):

0 commit comments

Comments
 (0)