2 echo "#################### generic-base.post ####################"
4 # setup systemd default target for user session
5 cat <<'EOF' >>/lib/systemd/user/default.target
7 Description=User session default target
9 mkdir -p /lib/systemd/user/default.target.wants
12 ln -s ../dbus.service /lib/systemd/user/default.target.wants/
14 # Run prelink to speed up dynamic binary/library loading
15 /usr/sbin/prelink --all
17 ln -sf /proc/self/mounts /etc/mtab
19 # sdx: fix smack labels on /var/log
20 chsmack -a '*' /var/log
22 # workaround for bug PTREL-763
23 patch -b -p1 -d/ <<'EOF'
24 --- bad/etc/pam.d/systemd-user 2014-03-20 10:01:36.657843073 +0100
25 +++ good/etc/pam.d/systemd-user 2014-03-20 10:06:51.586121696 +0100
28 account include system-auth
29 session include system-auth
30 +session required pam_systemd.so
31 auth required pam_deny.so
32 password required pam_deny.so
35 # extra fix to avoid root and display sessions (PTREL-763)
36 patch -b -p1 -d/ <<'EOF'
37 --- bad/etc/pam.d/system-auth 2014-04-07 06:16:51.888018876 -0700
38 +++ good/etc/pam.d/system-auth 2014-04-07 06:16:46.335018503 -0700
40 password required pam_deny.so
42 session optional pam_keyinit.so revoke
43 -session optional pam_systemd.so
44 session required pam_limits.so
45 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
46 session required pam_unix.so
49 # create appfw dirs inside homes
50 function generic_base_user_exists() {
52 getent passwd | grep -q ^${user}:
55 function generic_base_user_home() {
57 getent passwd | grep ^${user}: | cut -f6 -d':'
60 function generic_base_fix_user_homedir() {
62 generic_base_user_exists $user || return 1
64 homedir=$(generic_base_user_home $user)
65 for appdir in desktop manifest dbspace; do
66 mkdir -p $homedir/.applications/$appdir
68 find $homedir -type d -exec chsmack -a User {} \;
69 chown -R $user:users $homedir