d3d2f4caf2ec0a63037b2926dc2f2e2a60691d89
[platform/core/appfw/rpk-installer.git] / src / rpk / rpk_installer.cc
1 /* Copyright 2020 Samsung Electronics, license APACHE-2.0, see LICENSE file */
2 #include "rpk/rpk_installer.h"
3
4 #include <common/installer/app_installer.h>
5
6 #include <memory>
7
8 #include "lib/rpk_archive_info.h"
9 #include "rpk/step/configuration/step_parse_rpk_manifest.h"
10 #include "rpk/step/pkgmgr/step_rpk_manifest_adjustment.h"
11 #include "rpk/step/security/step_rpk_signature.h"
12
13 namespace ci = common_installer;
14
15 namespace {
16
17 constexpr const char kPkgType[] = "rpk";
18
19 }  // namespace
20
21 namespace rpk {
22
23 RpkInstaller::RpkInstaller(common_installer::PkgMgrPtr pkgmgr)
24     : AppInstaller(kPkgType, pkgmgr) {
25 }
26
27 std::unique_ptr<ci::ArchiveInfo> RpkInstaller::GetArchiveInfo() {
28   return std::make_unique<RpkArchiveInfo>(pkgmgr_->GetRequestInfo(GetIndex()));
29 }
30
31 void RpkInstaller::InstallSteps() {
32   AppInstaller::InstallSteps();
33
34   RemoveStep("RemoveGlobalAppSymlinks");
35   RemoveStep("AcquireExternalStorage");
36   RemoveStep("CopyTep");
37   RemoveStep("CreateIcons");
38   RemoveStep("CreateResControlDirectories");
39   RemoveStep("RegisterTrustAnchor");
40   RemoveStep("PrivacyPrivilege");
41   RemoveStep("RunParserPlugin");
42   RemoveStep("CreateStorageDirectories");
43   RemoveStep("CreateGlobalAppSymlinks");
44
45   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
46       rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
47       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
48   ReplaceStep<rpk::security::StepRpkSignature>("Signature", true);
49   AddStepAfter<rpk::pkgmgr::StepRpkManifestAdjustment>("Copy");
50
51 /*
52   Current step order :
53   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
54   AddStep<ci::recovery::StepCreateRecoveryFile>();
55   AddStep<ci::filesystem::StepUnzip>();
56   AddStep<rpk::configuration::StepParseRpkManifest>(
57       rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
58       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
59   AddStep<ci::configuration::StepCheckInstallLocation>();
60   AddStep<ci::pkgmgr::StepCheckInstallable>();
61   AddStep<ci::configuration::StepParsePreload>();
62   AddStep<ci::pkgmgr::StepCheckRestriction>();
63   AddStep<ci::configuration::StepCheckTizenVersion>();
64   AddStep<rpk::security::StepRpkSignature>();
65   AddStep<ci::security::StepRollbackInstallationSecurity>();
66   AddStep<ci::filesystem::StepCopy>();
67   AddStep<rpk::pkgmgr::StepRpkManifestAdjustment>();
68   AddStep<ci::security::StepRegisterSecurity>();
69   AddStep<ci::pkgmgr::StepRegisterApplication>();
70   AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
71 */
72 }
73
74 void RpkInstaller::UpdateSteps() {
75   AppInstaller::UpdateSteps();
76
77   RemoveStep("KillApps");
78   RemoveStep("BackupIcons");
79   RemoveStep("RemoveGlobalAppSymlinks");
80   RemoveStep("AcquireExternalStorage");
81   RemoveStep("RevokeTrustAnchor");
82   RemoveStep("UpdateTep");
83   RemoveStep("CopyStorageDirectories");
84   RemoveStep("CreateIcons");
85   RemoveStep("CreateResControlDirectories");
86   RemoveStep("RegisterTrustAnchor");
87   RemoveStep("PrivacyPrivilege");
88   RemoveStep("RunParserPlugin");
89   RemoveStep("UpdateStorageDirectories");
90   RemoveStep("CreateGlobalAppSymlinks");
91
92   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
93     rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
94     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
95
96   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
97     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
98     rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
99   ReplaceStep<rpk::security::StepRpkSignature>("Signature", true);
100
101   AddStepAfter<rpk::pkgmgr::StepRpkManifestAdjustment>("CopyBackup");
102
103 /*
104   Current step order :
105   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
106   AddStep<ci::recovery::StepCreateRecoveryFile>();
107   AddStep<ci::filesystem::StepUnzip>();
108   AddStep<rpk::configuration::StepParseRpkManifest>(
109       rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
110       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
111   AddStep<ci::configuration::StepParseRpkManifest>(
112       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
113       rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
114   AddStep<ci::configuration::StepCheckInstallLocation>();
115   AddStep<ci::pkgmgr::StepCheckUpgradable>();
116   AddStep<ci::configuration::StepParsePreload>();
117   AddStep<ci::configuration::StepCheckTizenVersion>();
118   AddStep<rpk::security::StepRpkSignature>(true);
119   AddStep<ci::security::StepCheckOldCertificate>();
120   AddStep<ci::configuration::StepBlockCrossUpdate>();
121   AddStep<ci::backup::StepBackupManifest>();
122   AddStep<ci::backup::StepCopyBackup>();
123   AddStep<rpk::pkgmgr::StepRpkManifestAdjustment>();
124   AddStep<ci::security::StepUpdateSecurity>();
125   AddStep<ci::pkgmgr::StepUpdateApplication>();
126   AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
127 */
128 }
129
130 void RpkInstaller::UninstallSteps() {
131   AppInstaller::UninstallSteps();
132
133   RemoveStep("KillApps");
134   RemoveStep("RunParserPlugin");
135   RemoveStep("RemoveGlobalAppSymlinks");
136   RemoveStep("OptionalAcquireExternalStorage");
137   RemoveStep("RemovePerUserStorageDirectories");
138   RemoveStep("UnregisterTrustAnchor");
139   RemoveStep("PrivacyPrivilege");
140   RemoveStep("RemoveZipImage");
141   RemoveStep("RemoveIcons");
142   RemoveStep("RemoveTep");
143
144   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
145     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
146     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
147
148 /*
149   Current step order :
150   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
151   AddStep<ci::recovery::StepCreateRecoveryFile>();
152   AddStep<ci::pkgmgr::StepCheckRestriction>();
153   AddStep<ci::pkgmgr::StepCheckRemovable>();
154   AddStep<ci::pkgmgr::StepCheckForceClean>();
155   AddStep<rpk::configuration::StepParseRpkManifest>(
156       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
157       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
158   AddStep<ci::configuration::StepCheckInstallLocation>();
159   AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
160   AddStep<ci::pkgmgr::StepUnregisterApplication>();
161   AddStep<ci::filesystem::StepRemoveFiles>();
162   AddStep<ci::security::StepRevokeSecurity>();
163   AddStep<ci::pkgmgr::StepRemoveManifest>();
164 */
165 }
166
167 void RpkInstaller::RecoverySteps() {
168   AppInstaller::RecoverySteps();
169
170   RemoveStep("RecoverIcons");
171   RemoveStep("RecoverParserPlugin");
172   RemoveStep("RecoverExternalStorage");
173   RemoveStep("RecoverGlobalAppSymlinks");
174   RemoveStep("MountRecover");
175   RemoveStep("RecoverTrustAnchor");
176
177   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
178     rpk::configuration::StepParseRpkManifest::ManifestLocation::RECOVERY,
179     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
180 /*
181   Current step order :
182   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
183   AddStep<ci::recovery::StepOpenRecoveryFile>();
184   AddStep<ci::filesystem::StepRemoveTemporaryDirectory>();
185   AddStep<rpk::configuration::StepParseRpkManifest>(
186       rpk::configuration::StepParseRpkManifest::ManifestLocation::RECOVERY,
187       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
188   AddStep<ci::filesystem::StepRecoverManifest>();
189   AddStep<ci::filesystem::StepRecoverStorageDirectories>();
190   AddStep<ci::filesystem::StepRecoverFiles>();
191   AddStep<ci::filesystem::StepRecoverChangeOwner>();
192   AddStep<ci::pkgmgr::StepRecoverApplication>();
193   AddStep<ci::security::StepRecoverSecurity>();
194 */
195 }
196
197 void RpkInstaller::ManifestDirectInstallSteps() {
198   AppInstaller::ManifestDirectInstallSteps();
199
200   RemoveStep("CheckMountPath");
201   RemoveStep("RemoveGlobalAppSymlinks");
202   RemoveStep("CreateResControlDirectories");
203   RemoveStep("RegisterTrustAnchor");
204   RemoveStep("PrivacyPrivilege");
205   RemoveStep("RunParserPlugin");
206   RemoveStep("CreateStorageDirectories");
207   RemoveStep("CreateGlobalAppSymlinks");
208
209   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
210     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
211     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
212   ReplaceStep<rpk::security::StepRpkSignature>("Signature", true);
213
214   AddStepAfter<rpk::pkgmgr::StepRpkManifestAdjustment>("RpkSignature");
215
216 /*
217   Current step order :
218   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
219   AddStep<rpk::configuration::StepParseRpkManifest>(
220       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
221       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
222   AddStep<ci::pkgmgr::StepCheckInstallable>();
223   AddStep<ci::configuration::StepParsePreload>();
224   AddStep<ci::configuration::StepCheckTizenVersion>();
225   AddStep<rpk::security::StepRpkSignature>(true);
226   AddStep<rpk::pkgmgr::StepRpkManifestAdjustment>();
227   AddStep<ci::security::StepRollbackInstallationSecurity>();
228   AddStep<ci::pkgmgr::StepRegisterApplication>();
229   AddStep<ci::security::StepRegisterSecurity>();
230   AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
231 */
232 }
233
234 void RpkInstaller::ManifestDirectUpdateSteps() {
235   AppInstaller::ManifestDirectUpdateSteps();
236
237   RemoveStep("CheckMountPath");
238   RemoveStep("KillApps");
239   RemoveStep("RemoveGlobalAppSymlinks");
240   RemoveStep("CreateResControlDirectories");
241   RemoveStep("RegisterTrustAnchor");
242   RemoveStep("PrivacyPrivilege");
243   RemoveStep("RunParserPlugin");
244   RemoveStep("UpdateStorageDirectories");
245   RemoveStep("CreateGlobalAppSymlinks");
246
247   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
248     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
249     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
250   ReplaceStep<rpk::security::StepRpkSignature>("Signature", true);
251
252   AddStepAfter<rpk::pkgmgr::StepRpkManifestAdjustment>("RpkSignature");
253
254 /*
255   Current step order :
256   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
257   AddStep<rpk::configuration::StepParseRpkManifest>(
258       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
259       rpkci::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
260   AddStep<ci::pkgmgr::StepCheckUpgradable>();
261   AddStep<ci::configuration::StepParsePreload>();
262   AddStep<ci::configuration::StepCheckTizenVersion>();
263   AddStep<rpk::security::StepRpkSignature>(true);
264   AddStep<rpk::pkgmgr::StepRpkManifestAdjustment>();
265   AddStep<ci::security::StepCheckOldCertificate>();
266   AddStep<ci::pkgmgr::StepUpdateApplication>();
267   AddStep<ci::security::StepRegisterSecurity>();
268   AddStep<ci::filesystem::StepUpdateStorageDirectories>();
269   AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
270 */
271 }
272
273 void RpkInstaller::ManifestPartialInstallSteps() {
274   AppInstaller::ManifestPartialInstallSteps();
275
276   RemoveStep("RemoveGlobalAppSymlinks");
277   RemoveStep("RegisterTrustAnchor");
278   RemoveStep("PrivacyPrivilege");
279   RemoveStep("RunParserPlugin");
280   RemoveStep("CreateStorageDirectories");
281   RemoveStep("CreateGlobalAppSymlinks");
282
283   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
284     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
285     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
286   ReplaceStep<rpk::security::StepRpkSignature>("Signature", false);
287
288 /*
289   Current step order :
290   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
291   AddStep<rpk::configuration::StepParseRpkManifest>(
292       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
293       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
294   AddStep<ci::configuration::StepParsePreload>();
295   AddStep<rpk::security::StepRpkSignature>(false);
296   AddStep<ci::pkgmgr::StepRegisterApplication>();
297   AddStep<ci::security::StepRegisterSecurity>();
298 */
299 }
300
301 void RpkInstaller::ManifestPartialUpdateSteps() {
302   AppInstaller::ManifestPartialUpdateSteps();
303
304   RemoveStep("RemoveGlobalAppSymlinks");
305   RemoveStep("KillApps");
306   RemoveStep("RegisterTrustAnchor");
307   RemoveStep("PrivacyPrivilege");
308   RemoveStep("RunParserPlugin");
309   RemoveStep("UpdateStorageDirectories");
310   RemoveStep("CreateGlobalAppSymlinks");
311
312   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
313     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
314     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
315   ReplaceStep<rpk::security::StepRpkSignature>("Signature", false);
316
317 /*
318   Current step order :
319   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
320   AddStep<rpk::configuration::StepParseRpkManifest>(
321       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
322       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
323   AddStep<ci::configuration::StepParsePreload>();
324   AddStep<rpk::security::StepRpkSignature>(false);
325   AddStep<ci::security::StepCheckOldCertificate>();
326   AddStep<ci::pkgmgr::StepUpdateApplication>();
327   AddStep<ci::security::StepRegisterSecurity>();
328 */
329 }
330
331 void RpkInstaller::PartialUninstallSteps() {
332   AppInstaller::PartialUninstallSteps();
333
334   RemoveStep("RemoveGlobalAppSymlinks");
335   RemoveStep("OptionalAcquireExternalStorage");
336   RemoveStep("RemovePerUserStorageDirectories");
337   RemoveStep("UnregisterTrustAnchor");
338   RemoveStep("PrivacyPrivilege");
339   RemoveStep("RunParserPlugin");
340
341   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
342     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
343     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
344
345 /*
346   Current step order :
347   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
348   AddStep<ci::pkgmgr::StepCheckRemovable>();
349   AddStep<ci::pkgmgr::StepCheckForceClean>();
350   AddStep<rpk::configuration::StepParseRpkManifest>(
351       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
352       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
353   AddStep<ci::configuration::StepCheckInstallLocation>();
354   AddStep<ci::pkgmgr::StepUnregisterApplication>();
355   AddStep<ci::security::StepRevokeSecurity>();
356 */
357 }
358
359 void RpkInstaller::ReadonlyUpdateInstallSteps() {
360   AppInstaller::ReadonlyUpdateInstallSteps();
361
362   RemoveStep("KillApps");
363   RemoveStep("RevokeTrustAnchor");
364   RemoveStep("CopyTep");
365   RemoveStep("CreateIcons");
366   RemoveStep("CreateResControlDirectories");
367   RemoveStep("RegisterTrustAnchor");
368   RemoveStep("PrivacyPrivilege");
369   RemoveStep("RunParserPlugin");
370   RemoveStep("UpdateStorageDirectories");
371   RemoveStep("CreateGlobalAppSymlinks");
372
373   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
374     rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
375     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
376
377   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
378     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
379     rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
380   ReplaceStep<rpk::security::StepRpkSignature>("Signature", true);
381
382   AddStepAfter<rpk::pkgmgr::StepRpkManifestAdjustment>("Copy");
383
384 /*
385   Current step order :
386   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
387   AddStep<ci::recovery::StepCreateRecoveryFile>();
388   AddStep<ci::filesystem::StepUnzip>();
389   AddStep<rpk::configuration::StepParseRpkManifest>(
390       rpk::configuration::StepParseRpkManifest::ManifestLocation::PACKAGE,
391       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
392   AddStep<ci::configuration::StepParseRpkManifest>(
393       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
394       rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
395   AddStep<ci::configuration::StepSwitchReadonlyMode>();
396   AddStep<ci::configuration::StepCheckInstallLocation>();
397   AddStep<ci::pkgmgr::StepCheckUpgradable>();
398   AddStep<ci::configuration::StepParsePreload>();
399   AddStep<ci::configuration::StepCheckTizenVersion>();
400   AddStep<rpk::security::StepRpkSignature>(true);
401   AddStep<rpk::pkgmgr::StepRpkManifestAdjustment>();
402   AddStep<ci::security::StepCheckOldCertificate>();
403   AddStep<ci::configuration::StepBlockCrossUpdate>();
404   AddStep<ci::filesystem::StepCopy>();
405   AddStep<ci::security::StepUpdateSecurity>();
406   AddStep<ci::pkgmgr::StepUpdateApplication>();
407   AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
408 */
409 }
410
411 void RpkInstaller::ReadonlyUpdateUninstallSteps() {
412   AppInstaller::ReadonlyUpdateUninstallSteps();
413
414   RemoveStep("KillApps");
415   RemoveStep("RemoveGlobalAppSymlinks");
416   RemoveStep("RevokeTrustAnchor");
417   RemoveStep("RegisterTrustAnchor");
418   RemoveStep("PrivacyPrivilege");
419   RemoveStep("RemoveZipImage");
420   RemoveStep("RemoveIcons");
421   RemoveStep("RemoveTep");
422   RemoveStep("RemoveUserData");
423   RemoveStep("RunParserPlugin");
424   RemoveStep("UpdateStorageDirectories");
425
426   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
427     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
428     rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
429
430   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
431     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
432     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
433   ReplaceStep<rpk::security::StepRpkSignature>("Signature", false);
434
435 /*
436   Current step order :
437   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
438   AddStep<rpk::configuration::StepParseRpkManifest>(
439       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
440       rpk::configuration::StepParseRpkManifest::StoreLocation::BACKUP);
441   AddStep<ci::configuration::StepParseRpkManifest>(
442       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
443       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
444   AddStep<ci::pkgmgr::StepCheckUpgradable>();
445   AddStep<ci::configuration::StepParsePreload>();
446   AddStep<rpk::security::StepRpkSignature>(false);
447   AddStep<ci::configuration::StepSwitchReadonlyMode>();
448   AddStep<ci::filesystem::StepRemoveFiles>();
449   AddStep<ci::configuration::StepSwitchReadonlyMode>();
450   AddStep<ci::security::StepUpdateSecurity>();
451   AddStep<ci::pkgmgr::StepUpdateApplication>();
452   AddStep<ci::pkgmgr::StepRemoveManifest>();
453 */
454 }
455
456 void RpkInstaller::RecoverDBSteps() {
457   AppInstaller::RecoverDBSteps();
458
459   RemoveStep("CheckMountPath");
460   RemoveStep("GetPrivilegeLevel");
461
462   ReplaceStep<rpk::configuration::StepParseRpkManifest>("ParseManifest",
463     rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
464     rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
465 /*
466   Current step order :
467   AddStep<ci::configuration::StepConfigure>(pkgmgr_);
468   AddStep<rpk::configuration::StepParseRpkManifest>(
469       rpk::configuration::StepParseRpkManifest::ManifestLocation::INSTALLED,
470       rpk::configuration::StepParseRpkManifest::StoreLocation::NORMAL);
471   AddStep<ci::pkgmgr::StepCheckInstallable>();
472   AddStep<ci::configuration::StepParsePreload>();
473   AddStep<ci::pkgmgr::StepRegisterApplication>();
474 */
475 }
476
477 }  // namespace rpk