This file is indexed.

preinst is in libmtp9 1.1.6-20-g1b9f164-1ubuntu2.

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
#!/bin/sh
# preinst script for libmtp

set -e

PACKAGE=libmtp9

# Prepare to move a conffile without triggering a dpkg question
prep_mv_conffile() {
    PKGNAME="$1"
    CONFFILE="$2"
    if [ -e "$CONFFILE" ]; then
        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
        old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`"
        if [ "$md5sum" = "$old_md5sum" ]; then
            rm -f "$CONFFILE"
        fi
    fi
}

case "$1" in
install|upgrade)
    # PART B: Check if file /etc/udev/libmtp.rules exists
    # Do not mix with package-default rules file: /lib/udev/rules.d/libmtp8.rules
    if [ -e "/etc/udev/libmtp.rules" ]; then
        # Check if libmtp5 or early libmtp6 (<< 0.2.1-2) are installed (and not purged)
        # Default: Remove /etc/udev/libmtp.rules
        removeit="1"
        # Get libmtp* package list in the format '${Package} ${Version}'
        listpkgs="`dpkg-query -W -f '${Package} ${Version}\n' 'libmtp*' | grep '^libmtp[0-9]\+\ '`"
        # Separate by new line
        IFS=$(printf "\n")
        for ipkg in $listpkgs; do
            name="`echo $ipkg | cut -d' ' -f1`"
            version="`echo $ipkg | cut -d' ' -f2`"
            # Exception: Do not remove if libmtp5 is installed
            if [ "$name" = "libmtp5" -a ! "$version" = "" ]; then
                removeit="0"
            fi
            # Exception: Do not remove if libmtp6 (<< 0.2.1-2) is installed
            if [ "$name" = "libmtp6" -a ! "$version" = ""]; then
                if dpkg --compare-versions "$version" lt-nl "0.2.1-2"; then
                    removeit="0"
                fi
            fi
        done
        unset IFS
        # If not installed, remove the old libmtp.rules
        [ "$removeit" = "1" ] && rm -f /etc/udev/libmtp.rules
        # Its symlink, /etc/udev/rules.d/libmtp.rules, is checked in postinst
    fi

    # PART C:
    # Disabled until the package libmtp-common is made.
    # /lib/udev/rules.d/libmtp8.rules is rules file installed by default.
    # Do not mix with user-modified file: /etc/udev/rules.d/libmtp8.rules
    # Will be replaced by unversioned /lib/udev/rules.d/45-libmtp.rules
    #rm_conffile $PACKAGE /lib/udev/rules.d/45-libmtp8.rules
    
    # PART D:
    # Remove ancient /etc/udev/rules.d/65-libmtp.rules
    if [ -e /etc/udev/rules.d/65-libmtp.rules ]; then
        dpkg-maintscript-helper rm_conffile \
            /etc/udev/rules.d/65-libmtp.rules -- "$@"
    fi

esac



exit 0