res = AddPermissions(pPackageId.get(), pList);
- String smackFile(L"/etc/smack/accesses2.d/");
- smackFile.Append(packageId);
- smackFile.Append(L"-temp.rule");
+ if (__pContext->__isPreloaded == true)
+ {
+ String smackFile(L"/etc/smack/accesses2.d/");
+ smackFile.Append(packageId);
+ smackFile.Append(L"-temp.rule");
+
+ String smackContext(packageId);
+ smackContext.Append(L" all.rule include");
+
+ InstallerUtil::CreateInfoFile(smackFile, &smackContext);
+ }
+ else
+ {
+ String script("/usr/bin/smackload-app.sh");
+ bool exist = File::IsFileExist(script);
+ script.Append(L" ");
+ script.Append(packageId);
- String smackContext(packageId);
- smackContext.Append(L" all.rule include");
+ std::unique_ptr<char[]> pScript(_StringConverter::CopyToCharArrayN(script));
+ TryReturn(pScript, false, "pScript is null.");
- InstallerUtil::CreateInfoFile(smackFile, &smackContext);
+ if (exist == true)
+ {
+ res = system(pScript.get());
+ AppLog("[smack] system(%s), result = [%d]", pScript.get(), res);
+ }
+ else
+ {
+ AppLog("[%ls] not found", script.GetPointer());
+ }
+ }
for (int i = 0; pList[i] != null; i++)
{