--- /dev/null
+#!/bin/bash
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+. /etc/tizen-platform.conf
+
+
+for package_data in `sqlite3 /opt/dbspace/.pkgmgr_parser.db "select package, type from package_privilege_info where privilege='http://tizen.org/privilege/systemsettings.admin'"`
+do
+ package=$(echo "$package_data" | cut -d '|' -f1)
+ package_type=$(echo "$package_data" | cut -d '|' -f2)
+
+ if [ "$package_type" == "wgt" ]; then
+ echo "$package is wgt app"
+ app_list=($(sqlite3 /opt/dbspace/.security-manager.db "select app_name from user_app_pkg_view where pkg_name='${package}' and is_hybrid=1;"))
+
+ if [ ${#app_list[@]} -eq 0 ]; then
+ echo "$package is pure wgt"
+
+ echo "remove systemsettings.admin"
+ cyad -e "MANIFESTS_GLOBAL" -r no -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/systemsettings.admin"
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "DELETE FROM package_privilege_info WHERE package = '${package}' AND privilege = 'http://tizen.org/privilege/systemsettings.admin' AND type = 'wgt';"
+
+ #check latest first
+ if [ -f /opt/usr/globalapps/${package}/res/wgt/config.xml ]; then
+ manifest_file="/opt/usr/globalapps/${package}/res/wgt/config.xml"
+ else
+ manifest_file="/usr/apps/${package}/res/wgt/config.xml"
+ fi
+ echo "manifest_file $manifest_file"
+
+ if grep -q "http://tizen.org/privilege/filesystem.read" "$manifest_file"; then
+ echo "$package have filesystem.read"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/filesystem.read" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/filesystem.read', 'wgt');"
+ fi
+ if grep -q "http://tizen.org/privilege/filesystem.write" "$manifest_file"; then
+ echo "$package have filesystem.write"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/filesystem.write" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/filesystem.write', 'wgt');"
+ fi
+ if grep -q "http://tizen.org/privilege/setting" "$manifest_file"; then
+ echo "$package have setting"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/internal/buxton/systemsettings" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/internal/buxton/systemsettings', 'wgt');"
+ fi
+ else
+ echo "$package is hybrid app"
+
+ for app in "${app_list[@]}"
+ do
+ if find /opt/usr/globalapps/${package}/ /usr/apps/${package}/ -name "config.xml" 2>/dev/null | xargs grep -q ${app}; then
+ echo "$app is web part of hybrid $package"
+
+ echo "remove systemsettings.admin from $app"
+ cyad -e "MANIFESTS_GLOBAL" -r no -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/systemsettings.admin"
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "DELETE FROM package_privilege_info WHERE package = '${package}' AND privilege = 'http://tizen.org/privilege/systemsettings.admin' AND type = 'wgt';"
+
+ #check latest first
+ if [ -f /opt/usr/globalapps/${package}/res/wgt/config.xml ]; then
+ manifest_file="/opt/usr/globalapps/${package}/res/wgt/config.xml"
+ else
+ manifest_file="/usr/apps/${package}/res/wgt/config.xml"
+ fi
+ echo "manifest_file $manifest_file"
+
+ if grep -q "http://tizen.org/privilege/filesystem.read" "$manifest_file"; then
+ echo "$app have filesystem.read"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/filesystem.read" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/filesystem.read', 'wgt');"
+ fi
+ if grep -q "http://tizen.org/privilege/filesystem.write" "$manifest_file"; then
+ echo "$app have filesystem.write"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/filesystem.write" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/filesystem.write', 'wgt');"
+ fi
+ if grep -q "http://tizen.org/privilege/setting" "$manifest_file"; then
+ echo "$app have setting"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/internal/buxton/systemsettings" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/internal/buxton/systemsettings', 'wgt');"
+ fi
+ fi
+ done
+ fi
+ else
+ #add cynara policy
+ echo "$package is tpk app"
+ app_list=($(sqlite3 /opt/dbspace/.security-manager.db "select app_name from user_app_pkg_view where pkg_name='${package}' and is_hybrid=1;"))
+ if [ ${#app_list[@]} -eq 0 ]; then
+ echo "$package is pure tpk app"
+ echo "add internal/buxton/systemsettings"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/internal/buxton/systemsettings" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/internal/buxton/systemsettings', 'tpk');"
+ else
+ echo "$package is hybrid app"
+ for app in "${app_list[@]}"
+ do
+ if find /opt/usr/globalapps/${package}/ /usr/apps/${package}/ -name "tizen-manifest.xml" 2>/dev/null | xargs grep -q ${app}; then
+ echo "$app is native part of hybrid $package"
+ echo "add internal/buxton/systemsettings"
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/internal/buxton/systemsettings" -t ALLOW
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/internal/buxton/systemsettings', 'tpk');"
+ fi
+ done
+ fi
+ fi
+ echo ""
+done
+
+for package in `sqlite3 /opt/dbspace/.pkgmgr_parser.db "select package from package_privilege_info where privilege='http://tizen.org/privilege/network.set' and type='wgt'"`
+do
+ app_list=($(sqlite3 /opt/dbspace/.security-manager.db "select app_name from user_app_pkg_view where pkg_name='${package}' and is_hybrid=1;"))
+
+ sqlite3 /opt/dbspace/.pkgmgr_parser.db "INSERT OR IGNORE INTO package_privilege_info VALUES ('${package}', 'http://tizen.org/privilege/network.route', 'wgt');"
+ if [ ${#app_list[@]} -eq 0 ]; then
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}" -u "*" -p "http://tizen.org/privilege/network.route" -t ALLOW
+ else
+ for app in "${app_list[@]}"
+ do
+ if find /opt/usr/globalapps/${package}/ /usr/apps/${package}/ -name "config.xml" 2>/dev/null | xargs grep -q ${app}; then
+ cyad -s -k "MANIFESTS_GLOBAL" -c "User::Pkg::${package}::App::${app}" -u "*" -p "http://tizen.org/privilege/network.route" -t ALLOW
+ fi
+ done
+ fi
+done