summaryrefslogtreecommitdiffstats
path: root/meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh')
-rw-r--r--meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh82
1 files changed, 82 insertions, 0 deletions
diff --git a/meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh b/meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh
new file mode 100644
index 00000000..ac827d04
--- /dev/null
+++ b/meta-agl/meta-agl-basesystem/recipes-core/agl-systemd/files/tool_9E_SI/agl_set_capability.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+#
+# @copyright Copyright (c) 2019 TOYOTA MOTOR CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+ROMFILESTOP=/
+CAP_LST=${ROMFILESTOP}/usr/target/agl_cap.lst
+echo `cat ${CAP_LST}`
+#-----------------------------------------------------------------------
+# Capability
+
+df / --exclude-type=nfs > /dev/null
+IS_EMMC_BOOT=$?
+
+#*********************from init_nfs_cap.sh**************************
+
+echo "init_nfs-cap.sh: Start"
+
+VERBOSE=y
+SKIPWARN=n
+#-----------------------------------------------------------------------
+# Set Capability for NFS or Set DummyLink for ROM
+#CAP_LST="/usr/debug/share/target/cap.lst"
+CAP_LST="/usr/target/agl_cap.lst"
+
+if [ $IS_EMMC_BOOT -ne 0 ]; then
+if [ -f "${CAP_LST}" ];then
+ echo "*** set capability for NFS environment ***"
+ CAPPATH=/tmp/
+ cd /
+ for PREAD in `cat ${CAP_LST}`
+ do
+ IFS_ORG=${IFS} ; IFS='|' ; PARAM=(${PREAD}) ; IFS=${IFS_ORG}
+ CAP_NAME=${PARAM[0]} ; FMODE=${PARAM[1]} ; FUID_GID=${PARAM[2]}
+ FCAP=${PARAM[3]} ; FKEEPORGPATH=${PARAM[4]}
+ if [ ! -f "${CAP_NAME}" -a ! -f "${CAP_NAME}.org" ];then
+ if [ "${SKIPWARN}" = "n" ];then
+ echo "set capability: ${CAP_NAME}: No such file or directory" 1>&2
+ fi
+ continue
+ fi
+ TCAP_NAME="/tmp/${CAP_NAME##*/}"
+ # Set Capability for NFS
+ if [ ! -L "${CAP_NAME}" ]; then
+ cp -a ${CAP_NAME} ${TCAP_NAME}
+ if [ "${FKEEPORGPATH}" = "y" ];then
+ mv ${CAP_NAME} ${CAP_NAME}.org
+ ln -fs ${TCAP_NAME} ${CAP_NAME}
+ fi
+ else
+ cp -a ${CAP_NAME}.org ${TCAP_NAME}
+ fi
+ if [ -n "${FUID_GID}" ];then
+ chown ${FUID_GID} ${TCAP_NAME}
+ fi
+ if [ -n "${FMODE}" ];then
+ chmod ${FMODE} ${TCAP_NAME}
+ fi
+ if [ -n "${FCAP}" ];then
+ setcap ${FCAP} ${TCAP_NAME}
+ #if [ "${VERBOSE}" = "y" ];then
+ # getcap ${TCAP_NAME}
+ #fi
+ fi
+ done
+ cd - > /dev/null
+else
+ unset CAPPATH
+fi
+fi