summaryrefslogtreecommitdiff
path: root/libre/filesystem/filesystem.install
diff options
context:
space:
mode:
Diffstat (limited to 'libre/filesystem/filesystem.install')
-rw-r--r--libre/filesystem/filesystem.install59
1 files changed, 59 insertions, 0 deletions
diff --git a/libre/filesystem/filesystem.install b/libre/filesystem/filesystem.install
new file mode 100644
index 000000000..4b2b261a4
--- /dev/null
+++ b/libre/filesystem/filesystem.install
@@ -0,0 +1,59 @@
+post_install() {
+ [ -f var/log/lastlog ] || : >var/log/lastlog
+ [ -f var/log/wtmp ] || : >var/log/wtmp
+ [ -f var/run/utmp ] || : >var/run/utmp
+ [ -f var/log/btmp ] || (: >var/log/btmp && bin/chmod 600 var/log/btmp)
+ # workaround for bug #7194
+ # readded due to bug #9465
+ # please do not remove!
+ bin/chmod 1777 var/spool/mail tmp var/tmp var/lock
+}
+
+# args: <group> [options]
+_addgroup() {
+ if ! bin/grep -q "^$1:" etc/group; then
+ usr/sbin/groupadd ${@} >/dev/null
+ fi
+}
+
+# args: <group> [options]
+_adduser() {
+ if ! bin/grep -q "^$1:" etc/passwd; then
+ usr/sbin/useradd ${@} >/dev/null
+ fi
+}
+
+post_upgrade() {
+ post_install
+
+ _addgroup optical -g 93
+ _addgroup audio -g 92
+ _addgroup video -g 91
+ _addgroup floppy -g 94
+ _addgroup storage -g 95
+ _addgroup log -g 19
+ _addgroup power -g 98
+ _addgroup network -g 90
+ _addgroup games -g 50
+ _addgroup uucp -g 14
+ _addgroup http -g 33
+ _adduser http -u 33 -d /srv/http -g http -s /bin/false http
+ _addgroup scanner -g 96
+ _addgroup rfkill -g 24
+
+ # sync gshadow to group (fixes FS#19869
+ if ! bin/grep -q '^rfkill:' etc/gshadow; then
+ usr/sbin/grpconv >/dev/null
+ fi
+
+ if ! bin/grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
+ bin/echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
+ fi
+
+ # set "Last password change" > 0; otherwise su $user wont work
+ for user in bin daemon mail ftp http nobody; do
+ if LANG=C usr/bin/chage -l ${user} | bin/grep -q 'password must be changed'; then
+ usr/bin/chage -d 14871 ${user}
+ fi
+ done
+}