summaryrefslogtreecommitdiffstats
path: root/debian/postinst
blob: 54c1eaa74402e3ccbafc4484cd27da9e0be08a28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
set -e

# create an initial adduser configfile if it does not exist yet
if [ ! -e "/etc/adduser.conf" ]; then
	cp /usr/share/adduser/adduser.conf /etc/adduser.conf
fi

# modify adduser.conf
if . /usr/share/debconf/confmodule
then	
	db_get adduser/homedir-changed || RET="false"
	if [ "$RET" != "true" ]
	then
		db_get adduser/homedir-permission || RET="true"
		if [ "$RET" = "false" ]
		then
			NEW_PERMISSION="0751"
		else
			NEW_PERMISSION="0755"
		fi

		if grep -q '^DIR_MODE=' /etc/adduser.conf
		then
			OLD_PERMISSION=$(cat /etc/adduser.conf|sed -ne 's/^DIR_MODE=\([0-9]*\).*$/\1/p')
			if [ "$OLD_PERMISSION" != "$NEW_PERMISSION" ]; then
				mv /etc/adduser.conf /etc/adduser.conf.dpkg-save
				cat /etc/adduser.conf.dpkg-save | \
				sed -e "s/^DIR_MODE=.*$/DIR_MODE=$NEW_PERMISSION/" > \
				/etc/adduser.conf
			fi
		else
			cp /etc/adduser.conf /etc/adduser.conf.dpkg-save
			echo "DIR_MODE=$NEW_PERMISSION" >> /etc/adduser.conf
		fi
	fi
fi

#DEBHELPER#