Merge "Change home directory: /opt/home -> /opt/usr/home" into tizen
[platform/upstream/meta-generic.git] / scripts / generic-base.post
1 #!/bin/sh
2 echo "#################### generic-base.post ####################"
3
4 test ! -e /opt/var && mkdir -p /opt/var
5 test -d /var && cp -arf /var/* /opt/var/
6 rm -rf /var
7 ln -snf opt/var /var
8
9 test ! -e /opt/usr/home && mkdir -p /opt/usr/home
10 test -d /home && cp -arf /home/* /opt/usr/home/
11 rm -rf /home
12 ln -snf opt/usr/home /home
13
14 build_ts=$(date -u +%s)
15 build_date=$(date -u --date @$build_ts +%Y%m%d_%H%M%S)
16 build_time=$(date -u --date @$build_ts +%H:%M:%S)
17
18 sed -ri \
19         -e 's|@BUILD_ID[@]|@BUILD_ID@|g' \
20         -e "s|@BUILD_DATE[@]|$build_date|g" \
21         -e "s|@BUILD_TIME[@]|$build_time|g" \
22         -e "s|@BUILD_TS[@]|$build_ts|g" \
23         /etc/tizen-build.conf
24
25 # setup systemd default target for user session
26 cat <<'EOF' >>/usr/lib/systemd/user/default.target
27 [Unit]
28 Description=User session default target
29 EOF
30 mkdir -p /usr/lib/systemd/user/default.target.wants
31
32 # start dbus session
33 ln -s ../dbus.service /lib/systemd/user/default.target.wants/
34
35 # sdx: fix smack labels on /var/log
36 chsmack -a '*' /var/log
37
38 # create appfw dirs inside homes
39 function generic_base_user_exists() {
40         user=$1
41         getent passwd | grep -q ^${user}:
42 }
43
44 function generic_base_user_home() {
45         user=$1
46         getent passwd | grep ^${user}: | cut -f6 -d':'
47 }
48
49 function generic_base_fix_user_homedir() {
50         user=$1
51         generic_base_user_exists $user || return 1
52
53         homedir=$(generic_base_user_home $user)
54         mkdir -p $homedir/apps_rw
55         for appdir in desktop manifest dbspace; do
56                 mkdir -p $homedir/.applications/$appdir
57         done
58         find $homedir -type d -exec chsmack -a User {} \;
59         chown -R $user:users $homedir
60         return 0
61 }
62
63 # fix TC-320 for SDK
64 . /etc/tizen-build.conf
65 [ "${TZ_BUILD_WITH_EMULATOR}" == "1" ] && generic_base_fix_user_homedir developer
66
67 # Add info.ini for system-info CAPI (TC-2047)
68 /etc/make_info_file.sh