SmackRules::updatePackageRules(req.pkgName, uh.pkgLabels);
}
- SmackRules::generateSharedRORules(uh.pkgsProcessLabels, uh.pkgsInfo);
- if (uh.removePkg)
+ if (uh.removePkg) {
+ // remove deinstalled package from packages list and generate SharedRO rules for others
+ uh.pkgsProcessLabels.erase(
+ std::remove_if(uh.pkgsProcessLabels.begin(), uh.pkgsProcessLabels.end(),
+ [&](const std::pair<std::string, std::vector<std::string>> &pkg) {
+ return pkg.first == req.pkgName;
+ }),
+ uh.pkgsProcessLabels.end());
+
+ SmackRules::generateSharedRORules(uh.pkgsProcessLabels, uh.pkgsInfo);
SmackRules::revokeSharedRORules(uh.pkgsProcessLabels, req.pkgName);
+ }
}
if (uh.authorId != -1 && uh.removeAuthor) {