Finalize tizen-build.conf data in a .post script
[platform/upstream/meta-generic.git] / scripts / generic-base.post
1 #!/bin/sh
2 echo "#################### generic-base.post ####################"
3
4 build_ts=$(date -u +%s)
5 build_date=$(date -u --date @$build_ts +%Y%m%d_%H%M%S)
6 build_time=$(date -u --date @$build_ts +%H:%M:%S)
7
8 sed -ri \
9         -e 's|@BUILD_ID[@]|@BUILD_ID@|g' \
10         -e "s|@BUILD_DATE[@]|$build_date|g" \
11         -e "s|@BUILD_TIME[@]|$build_time|g" \
12         -e "s|@BUILD_TS[@]|$build_ts|g" \
13         /etc/tizen-build.conf
14
15 # setup systemd default target for user session
16 cat <<'EOF' >>/lib/systemd/user/default.target
17 [Unit]
18 Description=User session default target
19 EOF
20 mkdir -p /lib/systemd/user/default.target.wants
21
22 # start dbus session
23 ln -s ../dbus.service /lib/systemd/user/default.target.wants/
24
25 # Run prelink to speed up dynamic binary/library loading
26 /usr/sbin/prelink --all
27
28 ln -sf /proc/self/mounts /etc/mtab
29
30 # sdx: fix smack labels on /var/log
31 chsmack -a '*' /var/log
32
33 # workaround for bug PTREL-763
34 patch -b -p1 -d/ <<'EOF'
35 --- bad/etc/pam.d/systemd-user 2014-03-20 10:01:36.657843073 +0100
36 +++ good/etc/pam.d/systemd-user 2014-03-20 10:06:51.586121696 +0100
37 @@ -4,5 +4,6 @@
38  
39  account include system-auth
40  session include system-auth
41 +session required pam_systemd.so
42  auth required pam_deny.so
43  password required pam_deny.so
44 EOF
45
46 # create appfw dirs inside homes
47 function generic_base_user_exists() {
48         user=$1
49         getent passwd | grep -q ^${user}:
50 }
51
52 function generic_base_user_home() {
53         user=$1
54         getent passwd | grep ^${user}: | cut -f6 -d':'
55 }
56
57 function generic_base_fix_user_homedir() {
58         user=$1
59         generic_base_user_exists $user || return 1
60
61         homedir=$(generic_base_user_home $user)
62         mkdir -p $homedir/apps_rw
63         for appdir in desktop manifest dbspace; do
64                 mkdir -p $homedir/.applications/$appdir
65         done
66         find $homedir -type d -exec chsmack -a User {} \;
67         chown -R $user:users $homedir
68         return 0
69 }
70
71 # fix TC-320 for SDK
72 . /etc/tizen-build.conf
73 [ "${TZ_BUILD_WITH_EMULATOR}" == "1" ] && generic_base_fix_user_homedir developer
74
75 # Add info.ini for system-info CAPI (TC-2047)
76 /usr/bin/make_info_file.sh