return -1;
}
- if (createNiUnderPkgRoot(pkgId, false) != 0) {
+ if (createNiUnderPkgRoot(pkgId, false) != NI_ERROR_NONE) {
_ERR("Failed to get root path from [%s]", pkgId);
return -1;
} else {
std::string pkgRoot;
if (getRootPath(pkgId, pkgRoot) < 0) {
- fprintf(stderr, "Failed to get root path from [%s]\n", pkgId);
- return -1;
+ _ERR("Failed to get root path from [%s]", pkgId);
+ return 0;
}
std::string binDir = concatPath(pkgRoot, "bin");
uid_t uid = 0;
if (pkgmgr_installer_info_get_target_uid(&uid) < 0) {
_ERR("Failed to get UID");
- return -1;
+ return 0;
}
- for (auto& symlinkAssembly : bf::recursive_directory_iterator(bf::path(tacDir))) {
- std::string symPath = symlinkAssembly.path().string();
- if (!isNativeImage(symPath)) {
- std::string originPath = bf::read_symlink(symPath).string();
- std::string originNiPath = originPath.substr(0, originPath.rfind(".dll")) + ".ni.dll";
- if (!bf::exists(originNiPath)) {
- if(createNiDll(originPath, false) != NI_ERROR_NONE) {
- _ERR("Failed to create NI file [%s]\n", originPath.c_str());
- return -1;
+ try {
+ for (auto& symlinkAssembly : bf::recursive_directory_iterator(tacDir)) {
+ std::string symPath = symlinkAssembly.path().string();
+ if (!isNativeImage(symPath)) {
+ std::string originPath = bf::read_symlink(symPath).string();
+ std::string originNiPath = originPath.substr(0, originPath.rfind(".dll")) + ".ni.dll";
+ if (!bf::exists(originNiPath)) {
+ if(createNiDll(originPath, false) != NI_ERROR_NONE) {
+ _ERR("Failed to create NI file [%s]", originPath.c_str());
+ return -1;
+ }
}
- }
- std::string setNiPath = symPath.substr(0, symPath.rfind(".dll")) + ".ni.dll";
- if (!bf::exists(setNiPath)) {
- bf::create_symlink(originNiPath, setNiPath);
- fprintf(stderr, "%s symbolic link file generated successfully.\n", setNiPath.c_str());
- if (lchown(setNiPath.c_str(), uid, 0)) {
- _ERR("Failed to change owner of: %s", setNiPath.c_str());
- return -1;
+ std::string setNiPath = symPath.substr(0, symPath.rfind(".dll")) + ".ni.dll";
+ if (!bf::exists(setNiPath)) {
+ bf::create_symlink(originNiPath, setNiPath);
+ _INFO("%s symbolic link file generated successfully.", setNiPath.c_str());
+ if (lchown(setNiPath.c_str(), uid, 0)) {
+ _ERR("Failed to change owner of: %s", setNiPath.c_str());
+ return -1;
+ }
}
}
}
+ } catch (const bf::filesystem_error& error) {
+ _ERR("Failed to recursive directory: %s", error.what());
+ return -1;
}
}
}