From: jongmyeongko Date: Mon, 3 Apr 2017 09:11:18 +0000 (+0900) Subject: Add a script to set labels some installed files X-Git-Tag: submit/tizen_3.0/20170601.102336~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=18c6a015626d45da23f20b542916f6d6ec53a0b7;p=platform%2Fcore%2Fappfw%2Fpkgmgr-tool.git Add a script to set labels some installed files At the stage of image creation, the transmute funtion doesn't work. So, we need the behavior to directly set label to some installed files which label was covered by transmute funtion. Change-Id: Ib0cab957d5abba159e8674ed40ac6223be328169 Signed-off-by: jongmyeongko --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 2916d31..10253ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,8 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/data/pkgmgr-create-delta.sh.in pkgmgr-create- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-create-delta.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-clear-skel.sh.in pkgmgr-clear-skel.sh @ONLY) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-clear-skel.sh DESTINATION /usr/share/fixed_multiuser/scripts/) +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/pkgmgr-label-initial-image.sh.in pkgmgr-label-initial-image.sh @ONLY) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr-label-initial-image.sh DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/700.pkgmgr.patch.sh.in 700.pkgmgr.patch.sh @ONLY) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/700.pkgmgr.patch.sh DESTINATION /usr/share/upgrade/scripts/) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/data/701.app2sd.patch.sh.in 701.app2sd.patch.sh @ONLY) diff --git a/data/pkgmgr-label-initial-image.sh.in b/data/pkgmgr-label-initial-image.sh.in new file mode 100644 index 0000000..610c88f --- /dev/null +++ b/data/pkgmgr-label-initial-image.sh.in @@ -0,0 +1,49 @@ +#!/bin/sh +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +echo "----------------------------------" +echo " Labeling for some installed files" +echo "----------------------------------" + +_ro_packages_dir="/usr/share/packages" +_rw_packages_dir="/opt/share/packages" +_skel_dir="/etc/skel/apps_rw" +_subdir_list="$(dir $_skel_dir)" + +for entry in "$_ro_packages_dir"/*.xml; do + if [ -f "$entry" ]; then + chsmack -a "System" $entry + fi +done + +for entry in "$_rw_packages_dir"/*.xml; do + if [ -f "$entry" ]; then + chsmack -a "System" $entry + fi +done + +for entry in $_subdir_list; do + _bin_symlink="$_skel_dir/$entry/bin" + _lib_symlink="$_skel_dir/$entry/lib" + _res_symlink="$_skel_dir/$entry/res" + _shared_res_symlink="$_skel_dir/$entry/shared/res" + + _target_list=" \ + $_bin_symlink \ + $_lib_symlink \ + $_res_symlink \ + $_shared_res_symlink" + + for sub_entry in $_target_list; do + if [ -h "$sub_entry" ]; then + chsmack -a "User::Home" $sub_entry + fi + done + + for sub_entry in "$_skel_dir/$entry"/*.xml; do + if [ -h "$sub_entry" ]; then + chsmack -a "User::Home" $sub_entry + fi + done +done + diff --git a/packaging/pkgmgr-tool.spec b/packaging/pkgmgr-tool.spec index e31a276..98220da 100644 --- a/packaging/pkgmgr-tool.spec +++ b/packaging/pkgmgr-tool.spec @@ -70,7 +70,9 @@ if [ ! -f %{TZ_SYS_DB}/.pkgmgr_parser.db ]; then else pkgcmd -l fi + %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh fi +rm -rf %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh %files %manifest %{name}.manifest @@ -91,4 +93,5 @@ fi %attr(0700,root,root) /usr/share/upgrade/scripts/701.app2sd.patch.sh %attr(0700,root,root) %{_sysconfdir}/opt/upgrade/pkgmgr.patch.sh %attr(0700,root,root) /usr/share/fixed_multiuser/scripts/pkgmgr-clear-skel.sh +%attr(0700,root,root) %{_sysconfdir}/package-manager/pkgmgr-label-initial-image.sh /usr/share/license/%{name}