File: postinst

package info (click to toggle)
base-files 4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 228 kB
  • ctags: 8
  • sloc: sh: 172; makefile: 68
file content (145 lines) | stat: -rw-r--r-- 4,171 bytes parent folder | download
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/sh
set -e

install_local_dir() {
  if [ ! -d $1 ]; then
    mkdir -p $1
  fi
  chown root:staff $1 2> /dev/null || true
  chmod 2775 $1 2> /dev/null || true
}

install_from_default() {
  if [ ! -f $2 ]; then
    cp -p $1 $2
  fi
}

install_directory() {
  if [ ! -d /$1 ]; then
    mkdir /$1
    chown root:$3 /$1
    chmod $2 /$1
  fi
}

preserve_directory() {
  if [ -f /etc/base-files.create-$1 ]; then
    install_directory $1 755 root
    rm -f /etc/base-files.create-$1
  fi
}

if [ "$1" = "configure" ] && [ "$2" = "" ]; then
  install_from_default /usr/share/base-files/nsswitch.conf /etc/nsswitch.conf
  install_from_default /usr/share/base-files/dot.profile   /root/.profile
  install_from_default /usr/share/base-files/dot.bashrc    /root/.bashrc
  install_from_default /usr/share/base-files/profile       /etc/profile
  install_from_default /usr/share/base-files/motd          /etc/motd
  install_directory srv       755 root
  install_directory opt       755 root
  install_directory etc/opt   755 root
  install_directory var/opt   755 root
  install_directory media     755 root
  install_directory initrd    755 root
  install_directory var/mail 2775 mail
  if [ ! -L /var/spool/mail ]; then
    ln -s ../mail /var/spool/mail
  fi

  install_local_dir /usr/local
  install_local_dir /usr/local/share
  install_local_dir /usr/local/share/man
  install_local_dir /usr/local/bin
  install_local_dir /usr/local/games
  install_local_dir /usr/local/lib
  install_local_dir /usr/local/include
  install_local_dir /usr/local/sbin
  install_local_dir /usr/local/src
  install_local_dir /usr/local/etc
  ln -sf share/man /usr/local/man
fi

if [ "$1" = "configure" ] && [ "$2" != "" ]; then
  if [ ! -d /var/spool/mail ] && [ ! -L /var/spool/mail ]; then
    if [ -f /etc/base-files.mailsymlink ]; then
      ln -sf `cat /etc/base-files.mailsymlink` /var/spool/mail
    else
      install_directory var/spool/mail 2775 mail
    fi
  fi
  if [ ! -L /var/mail ] && [ ! -d /var/mail ]; then
    ln -sf spool/mail /var/mail
  fi
fi

preserve_directory floppy
preserve_directory cdrom
preserve_directory initrd

if [ ! -f /etc/adjtime ]; then
  echo "0.000000 1162000000 0.000000" > /etc/adjtime
  echo "1162000000" >> /etc/adjtime
  echo "UTC" >> /etc/adjtime
  chmod 644 /etc/adjtime
fi

if [ ! -f /var/run/utmp ]; then
  echo -n>/var/run/utmp
fi
if [ ! -f /var/log/wtmp ]; then
  echo -n>/var/log/wtmp
fi
if [ ! -f /var/log/btmp ]; then
  echo -n>/var/log/btmp
fi
if [ ! -f /var/log/lastlog ]; then
  echo -n>/var/log/lastlog
fi
chown root:utmp /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog
chmod 664 /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog

if [ ! -d /var/lib/dpkg ]; then
  mkdir -m 755 -p /var/lib/dpkg
  chown root:root /var/lib/dpkg
fi
if [ ! -f /var/lib/dpkg/status ]; then
  echo > /var/lib/dpkg/status
  chmod 644 /var/lib/dpkg/status
  chown root:root /var/lib/dpkg/status
fi

if [ ! -f /usr/info/dir ] && [ ! -f /usr/share/info/dir ]; then
  install_from_default /usr/share/base-files/info.dir /usr/share/info/dir
  chmod 644 /usr/share/info/dir
  chown root:root /usr/share/info/dir
fi
rm -f /etc/base-files.mailsymlink

if [ "$1" = "configure" ] && [ "$2" != "" ]; then
  if [ -f /etc/motd ]; then
    oldmd=`awk 'NR > 2' /etc/motd | md5sum | awk '{print $1}'`
    newmd=`awk 'NR > 2' /usr/share/base-files/motd | md5sum | awk '{print $1}'`
    if [ "$oldmd" != "$newmd" ]; then
      if grep -q "$oldmd" /usr/share/base-files/motd.md5sums; then
        awk 'NR <= 2' /etc/motd > /etc/motd.new
        awk 'NR > 2' /usr/share/base-files/motd >> /etc/motd.new
        mv /etc/motd /etc/motd.old
        mv /etc/motd.new /etc/motd
      fi
    fi
  fi
fi

if [ -f /var/lib/dpkg/info/base.list ]; then
  :> /var/lib/dpkg/info/base.list
  rm -f /var/lib/dpkg/info/base.conffiles
  echo
  echo "Note: You have the old \`base' package installed"
  echo "It is very important that you do not try to remove this package"
  echo "using dpkg. Please read /usr/share/doc/base-files/README.base to"
  echo "get rid of the \`base' package completely in a safe way."
  echo
  echo -n "Press <Return> to continue "
  read dummy
fi