File: 02-gentoo-04-install-desired-python

package info (click to toggle)
python-diskimage-builder 3.39.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,704 kB
  • sloc: sh: 7,474; python: 6,454; makefile: 37
file content (39 lines) | stat: -rwxr-xr-x 1,413 bytes parent folder | download | duplicates (2)
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
#!/bin/bash

if [[ ${DIB_DEBUG_TRACE:-0} -gt 0 ]]; then
    set -x
fi
set -eu
set -o pipefail

if [[ ${GENTOO_PYTHON_TARGETS} != '' ]]; then
    if mountpoint -q /dev/shm; then
        echo "/dev/shm found in /proc/self/mountinfo"
    elif [[ -k /dev/shm ]]; then
        echo "/dev/shm exists and is stickied"
    else
        fix_shm
    fi

    [[ ! -f ${PORTDIR}/profiles ]] && emerge-webrsync -q

    # set active python targets
    echo "PYTHON_TARGETS=\"${GENTOO_PYTHON_TARGETS}\"" >> /etc/portage/make.conf

    # install portage first due to bug in env vars not being passed when portage installs itself and re-inits
    emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --update --newuse --deep sys-apps/portage
    # set the active python version
    emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --update --newuse --nodeps dev-lang/python-exec dev-lang/python-exec-conf
    echo yes | etc-update --automode -3 /etc/python-exec/python-exec.conf

    # make world consistant
    emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --complete-graph=y --update --newuse --deep @world
    # rebuild packages that might need it
    emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --usepkg=n @preserved-rebuild
    # remove unneeded packages
    emerge --verbose=n --depclean
    # rebuild packages that might have somehow depended on the unneeded packages
    emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --usepkg=n @preserved-rebuild

    unfix_shm
fi