File: PVER-minimal.postinst.in

package info (click to toggle)
python3.11 3.11.2-6%2Bdeb12u6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 113,292 kB
  • sloc: python: 660,794; ansic: 553,003; xml: 31,209; sh: 5,453; cpp: 3,978; makefile: 1,987; asm: 1,486; objc: 761; lisp: 502; javascript: 118; csh: 12
file content (87 lines) | stat: -rw-r--r-- 2,593 bytes parent folder | download | duplicates (4)
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
#! /bin/sh

set -e

if [ ! -f /etc/@PVER@/sitecustomize.py ]; then
    cat <<-EOF
	# Empty sitecustomize.py to avoid a dangling symlink
EOF
fi

case "$1" in
    configure)
        # Create empty directories in /usr/local
        if [ -e /etc/staff-group-for-usr-local ]; then
            perm=2755; group=staff
        else
            perm=755; group=root
        fi
        if [ ! -e /usr/local/lib/@PVER@ ]; then
            mkdir -p /usr/local/lib/@PVER@ 2> /dev/null || true
            chmod $perm /usr/local/lib/@PVER@ 2> /dev/null || true
            chown root:$group /usr/local/lib/@PVER@ 2> /dev/null || true
        fi
	localsite=/usr/local/lib/@PVER@/dist-packages
        if [ ! -e $localsite ]; then
            mkdir -p $localsite 2> /dev/null || true
            chmod $perm $localsite 2> /dev/null || true
            chown root:$group $localsite 2> /dev/null || true
        fi

	if command -v update-binfmts >/dev/null; then
	    update-binfmts --import @PVER@
	fi

    ;;
esac

if [ "$1" = configure ]; then

    # only available before removal of the packaging package
    rm -f /etc/@PVER@/sysconfig.cfg

    if ls -L /usr/lib/@PVER@/sitecustomize.py >/dev/null 2>&1; then
	filt='cat'
    else
	filt='fgrep -v sitecustomize.py'
    fi
    files=$(dpkg -L lib@PVER@-minimal@HOST_QUAL@ \
		| sed -n '/^\/usr\/lib\/@PVER@\/.*\.py$/p' | $filt)
    if [ -n "$files" ]; then
	/usr/bin/@PVER@ -E -S /usr/lib/@PVER@/py_compile.py $files
	if grep -sq '^byte-compile[^#]*optimize' /etc/python/debian_config; then
	    /usr/bin/@PVER@ -E -S -O /usr/lib/@PVER@/py_compile.py $files
	fi
    else
	echo >&2 "@PVER@-minimal: can't get files for byte-compilation"
    fi
    bc=no
    #if [ -z "$2" ] || dpkg --compare-versions "$2" lt 2.5-3 \
    #    || [ -f /var/lib/python/@PVER@_installed ]; then
    #	bc=yes
    #fi
    if ! grep -sq '^supported-versions[^#]*@PVER@' /usr/share/python/debian_defaults
    then
	# FIXME: byte compile anyway?
	bc=no
    fi
    if [ "$bc" = yes ]; then
	# new installation or installation of first version with hook support
	if [ "$DEBIAN_FRONTEND" != noninteractive ]; then
	    echo "Linking and byte-compiling packages for runtime @PVER@..."
	fi
	version=$(dpkg -s @PVER@-minimal | awk '/^Version:/ {print $2}')
	for hook in /usr/share/python3/runtime.d/*.rtinstall; do
	    [ -x $hook ] || continue
	    $hook rtinstall @PVER@ "$2" "$version"
	done
	if [ -f /var/lib/python/@PVER@_installed ]; then
	    rm -f /var/lib/python/@PVER@_installed
	    rmdir --ignore-fail-on-non-empty /var/lib/python 2>/dev/null
	fi
    fi
fi

#DEBHELPER#

exit 0