This file is indexed.

postinst is in udev 229-4ubuntu4.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

  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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#!/bin/sh -e

chrooted() {
  if [ "$(stat -c %d/%i /)" = "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ];
  then
    # the devicenumber/inode pair of / is the same as that of /sbin/init's
    # root, so we're *not* in a chroot and hence return false.
    return 1
  fi
  echo "A chroot environment has been detected, udev not started."
  return 0
}

in_debootstrap() {
  # debootstrap --second-stage may be run in an emulator instead of a chroot,
  # we need to check for this special case because start-stop-daemon would
  # not be available. (#520742)
  if [ -d /debootstrap/ ]; then
    echo "Being installed by debootstrap, udev not started."
    return 0
  fi
  return 1
} 

can_start_udevd() {
  if [ ! -d /sys/class/ ]; then
    echo "udev requires a mounted sysfs, not started."
    return 1
  fi
  return 0
}

enable_udev() {
  can_start_udevd || return 0
  invoke-rc.d udev start
}

update_initramfs() {
  [ -x /usr/sbin/update-initramfs -a -e /etc/initramfs-tools/initramfs.conf ] \
    || return 0
  update-initramfs -u
}

upgrade_fixes() {
  if dpkg --compare-versions "$2" lt "204-1"; then
    # We dropped udev-mtab with udev 204.
    update-rc.d udev-mtab remove
  fi

  if dpkg --compare-versions "$2" lt "226-1"; then
    update-rc.d udev-finish remove
  fi

  # we enabled net.ifnames in 220-7 by default; don't change iface names in
  # virtualized envs (where 75-persistent-net-generator.rules didn't work)
  if dpkg --compare-versions "$2" lt-nl "220-7~" &&
     [ ! -e /etc/udev/rules.d/70-persistent-net.rules ] &&
     [ ! -e /etc/udev/rules.d/80-net-setup-link.rules ] &&
     ! grep -q net.ifnames /proc/cmdline ; then
    mkdir -p /etc/udev/rules.d
    cat <<EOF > /etc/udev/rules.d/80-net-setup-link.rules
# This machine is most likely a virtualized guest, where the old persistent
# network interface mechanism (75-persistent-net-generator.rules) did not work.
# This file disables /lib/udev/rules.d/80-net-setup-link.rules to avoid
# changing network interface names on upgrade. Please read
# /usr/share/doc/udev/README.Debian.gz about how to migrate to the currently
# supported mechanism.
EOF
  fi

  # 226 introduced predictable interface names for virtio
  # (https://github.com/systemd/systemd/pull/1119); disable for upgrades
  if dpkg --compare-versions "$2" lt-nl "226-2~" &&
      [ ! -e /etc/systemd/network/50-virtio-kernel-names.link ] &&
      ls -d /sys/bus/virtio/drivers/virtio_net/virt* >/dev/null 2>&1; then
    echo "virtio network devices detected, disabling predictable interface names in /etc/systemd/network/50-virtio-kernel-names.link"
    mkdir -p /etc/systemd/network/
    cat <<EOF > /etc/systemd/network/50-virtio-kernel-names.link
# udev 226 introduced predictable interface names for virtio;
# disable this for upgrades. You can remove this file if you update your
# network configuration to move to the ens* names instead.
# See /usr/share/doc/udev/README.Debian.gz for details about predictable
# network interface names.
[Match]
Driver=virtio_net

[Link]
NamePolicy=onboard kernel
EOF
  fi

  # this is being written under upstart, but not under systemd; clean up
  # obsolete files
  if [ -d /run/systemd/system ]; then
      rm -f /var/log/udev
  fi

  # transition existing interface names on s390x for #1526808
  if dpkg --compare-versions "$2" lt-nl "228-4ubuntu2" &&
      [ "$(dpkg --print-architecture)" = "s390x" ]; then
    sed 's/enccw[0.]*/enc/' -i /etc/network/interfaces /etc/network/interfaces.d/* 2>/dev/null || true
  fi

  # VMWare BIOS reports implausibly high onboard numbers, this got fixed in
  # https://github.com/systemd/systemd/commit/6c1e69f9; migrate names in
  # ifupdown accordingly
  if dpkg --compare-versions "$2" lt-nl "229-2ubuntu2"; then
    for i in /sys/class/net/eno*; do
        if [ "${i#*/eno}" -gt 16383 ] 2>/dev/null; then
            if slotname=$(udevadm info --query=property $i | grep '^ID_NET_NAME_SLOT='); then
                slotname=${slotname#*=}
                echo "Migrating broken onboard-based network interface name ${i##*/} to slot-based name $slotname in /etc/network/interfaces and interfaces.d/..."
                sed -i "s/\\b${i##*/}\\b/$slotname/g" /etc/network/interfaces /etc/network/interfaces.d/* 2>/dev/null || true
            else
                echo "WARNING: Cannot determine proper name for broken onboard-based network interface name ${i##*/}; you must adjust /etc/network/interfaces and interfaces.d/ manually"
            fi
        fi
    done
  fi
}

update_hwdb() {
  systemd-hwdb --usr update || true
}

# In udev-204, we ship systemd-udevd.service (upstream name), whereas previous
# versions used udev.service. We replace udev.service with a symlink to
# systemd-udevd.service, but systemd (both 44 and 204) exposes weird behavior:
# After a daemon-reload, it forgets about the /sbin/udevd process in the
# udev.service cgroup, so a restart will lead to having two udevd processes
# running — one in the udev.service cgroup and one in the systemd-udevd.service
# cgroup.
#
# To fix this, we explicitly stop udev.service and the corresponding sockets,
# then issue the daemon-reload, then restart the new systemd-udevd.service (via
# invoke-rc.d).
handle_service_rename() {
  if dpkg --compare-versions "$2" lt "204-1"; then
    if [ -d /run/systemd/system ]; then
      systemctl stop udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || true
    fi
  fi
}

case "$1" in
    configure)
    # update/create hwdb before we (re)start udev
    update_hwdb

    # Add new system group used by udev rules
    addgroup --system input

    if [ -z "$2" ]; then # first install
      if ! chrooted && ! in_debootstrap; then
	enable_udev
      fi
    else # upgrades
      upgrade_fixes "$@"
      if ! chrooted; then
	if can_start_udevd; then
	  handle_service_rename
	  # This is necessary for the handle_service_rename case, but does not
	  # hurt in general (invoke-rc.d does it, too).
	  if [ -d /run/systemd/system ] ; then
	    systemctl daemon-reload || true
	  fi
	  invoke-rc.d udev restart
	fi
      fi
    fi

    update_initramfs
    ;;

    triggered)
    update_hwdb
    exit 0
    ;;
esac

# Automatically added by dh_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
	if [ -x "/etc/init.d/udev" ]; then
		update-rc.d udev defaults >/dev/null || exit $?
	fi
fi
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init.d/udev-mtab 204-1~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/udev/links.conf 204-9~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init.d/udev-finish 226-1~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init/udev-finish.conf 226-1~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init/udev-fallback-graphics.conf 226-1~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper symlink_to_dir /usr/share/doc/udev libudev1 221-2~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/udev/rules.d/README 215-5ubuntu1~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/init.d/lvm2 228-2ubuntu2~ -- "$@"
# End automatically added section