91 lines
3.8 KiB
Bash
Executable File
91 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# -*- mode: sh; tab-width: 8; coding: utf-8-unix -*-
|
|
|
|
prog=$( basename $0 .bash )
|
|
PREFIX=/usr/local
|
|
ROLE=base
|
|
[ "$#" -eq 0 ] && echo USAGE: $0 2.7 ... 3.9 3.10 3.11 && exit 1
|
|
|
|
. /usr/local/bin/usr_local_base.bash || exit 2
|
|
[ -f $PREFIX/etc/testforge/testforge.bash ] \
|
|
&& . /usr/local/etc/testforge/testforge.bash
|
|
|
|
PYTHON_MINOR="$1"
|
|
PYMAJ="${PYTHON_MINOR:0:1}"
|
|
|
|
if [ -z "$LIB" -a -f /usr/lib/python$PYTHON_MINOR/site.py ] ; then
|
|
LIB=lib
|
|
elif [ -z "$LIB" -a -f /usr/lib64/python$PYTHON_MINOR/site.py ] ; then
|
|
LIB=lib64
|
|
fi
|
|
[ -d /usr/local/lib/python$PYTHON_MINOR ] && \
|
|
[ ! -e /usr/local/lib64/python$PYTHON_MINOR ] && \
|
|
ln -s /usr/local/lib/python$PYTHON_MINOR /usr/local/lib64/python$PYTHON_MINOR
|
|
|
|
if [ "" = "$BASE_PYTHON2_MINOR" ] ; then
|
|
not_PYTHON_MINOR=""
|
|
elif [ $PYTHON_MINOR = "$BASE_PYTHON2_MINOR" ] ; then
|
|
not_PYTHON_MINOR="$BASE_PYTHON3_MINOR"
|
|
elif [ $PYTHON_MINOR = "$BASE_PYTHON3_MINOR" ] ; then
|
|
not_PYTHON_MINOR="$BASE_PYTHON2_MINOR"
|
|
else
|
|
ERROR "$PYTHON_MINOR not in $BASE_PYTHON2_MINOR $BASE_PYTHON3_MINOR"
|
|
exit 1
|
|
fi
|
|
INFO $prog PYMAJ=$PYMAJ PYTHON_MINOR=$PYTHON_MINOR not_PYTHON_MINOR=$not_PYTHON_MINOR PYTHONPATH=$PYTHONPATH
|
|
export PYTHONPATH=""
|
|
|
|
if [ "$PYMAJ" = '2' ] ; then
|
|
imp='import sys; print sys.path'
|
|
elif [ "$PYMAJ" = '3' ] ; then
|
|
imp='import sys; print(repr(sys.path))'
|
|
fi
|
|
|
|
[ -x $PREFIX/bin/python$PYMAJ.sh ] || {
|
|
echo >&2 ERROR: $prog 2 -x $PREFIX/bin/python$PYMAJ.sh "$PYTHON_MINOR" && exit 2 ;
|
|
}
|
|
if [ -f /etc/python-exec/python2.conf ] ; then
|
|
grep -F "$BASE_PYTHON2_MINOR" /etc/python-exec/python2.conf || {
|
|
echo >&2 ERROR: $prog 3 "$BASE_PYTHON2_MINOR" /etc/python-exec/python2.conf
|
|
}
|
|
fi
|
|
if [ -f /etc/python-exec/python3.conf ] ; then
|
|
grep -F "$BASE_PYTHON3_MINOR" /etc/python-exec/python3.conf || {
|
|
echo >&2 ERROR: $prog 4 "$BASE_PYTHON3_MINOR" /etc/python-exec/python3.conf
|
|
}
|
|
fi
|
|
|
|
# echo -n DEBUG: $prog 2 python$PYTHON_MINOR -S -s
|
|
python$PYMAJ -S -s -c "$imp" \
|
|
|| { echo >&2 ERROR: $prog 22 $PYTHON_MAJ -S -s"$PYTHON_MINOR" && exit 22 ; }
|
|
|
|
# echo -n DEBUG: $prog 4 python$PYTHON_MINOR -s
|
|
python$PYMAJ -s -c "$imp" \
|
|
|| { echo >&2 ERROR: $prog 4 python$PYTHON_MINOR -s "$PYTHON_MINOR" && exit 4 ; }
|
|
|
|
# echo -n DEBUG: $0 6 $PREFIX/bin/python$PYMAJ.sh -S -s
|
|
$PREFIX/bin/python$PYMAJ.sh -S -s -c "$imp" \
|
|
|| { echo >&2 ERROR: $prog 6 python$PYMAJ.sh -S -s "$PYTHON_MINOR" && exit 6 ; }
|
|
|
|
|
|
echo -n DEBUG: $0 8 $PREFIX/bin/python$PYMAJ.sh -s
|
|
$PREFIX/bin/python$PYMAJ.sh -s -c "$imp" \
|
|
|| { echo >&2 ERROR: $prog 8 python$PYMAJ.sh -s "$PYTHON_MINOR" && exit 8 ; }
|
|
|
|
# INFO $prog 10 $PREFIX/bin/python$PYMAJ.sh sitecustomize.py "$PYTHON_MINOR"
|
|
a=$( $PREFIX/bin/python$PYMAJ.sh $PREFIX/$LIB/python$PYTHON_MINOR/site-packages/sitecustomize.py ) || \
|
|
{ echo >&2 ERROR: $prog "error 10 $PREFIX/bin/python$PYMAJ.sh $PREFIX/$LIB/python$PYTHON_MINOR/site-packages/sitecustomize.py" && exit 10 ; }
|
|
#[ -x "$a" ] || \
|
|
# { echo >&2 ERROR: $prog 11 "broken $PREFIX/bin/python$PYMAJ.sh /usr/local/bin/python2.sh - $a" && exit 11 ; }
|
|
#echo >&2 INFO: $prog 11 "$a"
|
|
|
|
# INFO $prog 12 python$PYTHON_MINOR sitecustomize.py "$PYTHON_MINOR"
|
|
python$PYMAJ $PREFIX/$LIB/python$PYTHON_MINOR/site-packages/sitecustomize.py || \
|
|
{ ERROR 12 $prog python$PYMAJ sitecustomize.py "$PYTHON_MINOR" && exit 12 ; }
|
|
|
|
exit 0
|
|
# [ $( python2.sh {{BASE_USR_LOCAL}}/$LIB/python{{BASE_PYTHON2_MINOR}}/site-packages/sitecustomize.py ) = {{BASE_USR_LOCAL}}/bin/python2.sh ] || exit 2
|
|
# [ $( python3.sh {{BASE_USR_LOCAL}}/$LIB/python{{BASE_PYTHON3_MINOR}}/site-packages/sitecustomize.py ) = {{BASE_USR_LOCAL}}/bin/python3.sh ] || exit 3
|
|
# [ $( python2.bash {{BASE_USR_LOCAL}}/$LIB/python{{BASE_PYTHON2_MINOR}}/site-packages/sitecustomize.py ) = /var/local/bin/python2.bash ] || exit 22
|
|
# [ $( python3.bash {{BASE_USR_LOCAL}}/$LIB/python{{BASE_PYTHON3_MINOR}}/site-packages/sitecustomize.py ) = /var/local/bin/python3.bash ] || exit 33
|