File: postflight.patch-profile

package info (click to toggle)
python3.13 3.13.6-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 121,256 kB
  • sloc: python: 703,743; ansic: 653,888; xml: 31,250; sh: 5,844; cpp: 4,326; makefile: 1,981; objc: 787; lisp: 502; javascript: 213; asm: 75; csh: 12
file content (104 lines) | stat: -rwxr-xr-x 2,496 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
#!/bin/sh

PYVER=@PYVER@
PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/@PYVER@"


# Run from the installer, do some trickery to fetch the information
# we need.
theShell="`finger $USER | grep Shell: | head  -1 | awk '{ print $NF }'`"

# Make sure the directory ${PYTHON_ROOT}/bin is on the users PATH.
BSH="`basename "${theShell}"`"
case "${BSH}" in
bash|ksh|sh|*csh|zsh|fish)
    true
    ;;
*)
    exit 0
    ;;
esac

case "${BSH}" in
*csh)
    if [ -f "${HOME}/.tcshrc" ]; then
        RC="${HOME}/.tcshrc"
    else
        RC="${HOME}/.cshrc"
    fi

    # Drop privileges while writing files.
    su -m ${USER} <<EOFC
    # Create backup copy before patching
    if [ -f "${RC}" ]; then
        cp -fp "${RC}" "${RC}.pysave"
    fi
    echo "" >> "${RC}"
    echo "# Setting PATH for Python ${PYVER}" >> "${RC}"
    echo "# The original version is saved in .cshrc.pysave" >> "${RC}"
    echo "set path=(${PYTHON_ROOT}/bin "'\$path'")" >> "${RC}"
EOFC

    if [ `id -ur` = 0 ]; then
        chown -h "${USER}" "${RC}"
    fi
    exit 0
    ;;
bash)
    if [ -e "${HOME}/.bash_profile" ]; then
        PR="${HOME}/.bash_profile"
    elif [ -e "${HOME}/.bash_login" ]; then
        PR="${HOME}/.bash_login"
    elif [ -e "${HOME}/.profile" ]; then
        PR="${HOME}/.profile"
    else
        PR="${HOME}/.bash_profile"
    fi
    ;;
fish)
    CONFIG_DIR="${HOME}/.config/fish/conf.d/"
    RC="${CONFIG_DIR}/python-${PYVER}.fish"

    # Drop privileges while writing files.
    su -m ${USER} <<EOFF
    mkdir -p "$CONFIG_DIR"
    if [ -f "${RC}" ]; then
        cp -fp "${RC}" "${RC}.pysave"
    fi
    echo "# Setting PATH for Python ${PYVER}" > "${RC}"
    if [ -f "${RC}.pysave" ]; then
        echo "# The original version is saved in ${RC}.pysave" >> "${RC}"
    fi
    echo "fish_add_path -g \"${PYTHON_ROOT}/bin\"" >> "${RC}"
EOFF

    if [ `id -ur` = 0 ]; then
        chown -h "${USER}" "${RC}"
    fi
    exit 0
    ;;
zsh)
    PR="${HOME}/.zprofile"
    ;;
*sh)
    PR="${HOME}/.profile"
    ;;
esac

# Drop privileges while writing files.
su -m ${USER} <<EOFS
# Create backup copy before patching
if [ -f "${PR}" ]; then
    cp -fp "${PR}" "${PR}.pysave"
fi
echo "" >> "${PR}"
echo "# Setting PATH for Python ${PYVER}" >> "${PR}"
echo "# The original version is saved in `basename ${PR}`.pysave" >> "${PR}"
echo 'PATH="'"${PYTHON_ROOT}/bin"':\${PATH}"' >> "${PR}"
echo 'export PATH' >> "${PR}"
EOFS

if [ `id -ur` = 0 ]; then
    chown -h "${USER}" "${PR}"
fi
exit 0