39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
|
#!/bin/bash
|
||
|
# -*- mode: sh; tab-width: 8; coding: utf-8-unix -*-
|
||
|
|
||
|
. /usr/local/bin/usr_local_tput.bash || exit 2
|
||
|
PREFIX=/usr/local
|
||
|
ROLE=base
|
||
|
|
||
|
# pip installs into /usr/local/bin
|
||
|
# export PATH=.:$PATH:/usr/local/bin
|
||
|
|
||
|
LARGS="$@"
|
||
|
[ "$#" -ge 2 -a $1 = "-p" -a $2 = "2" ] && PYVER=2 || PYVER=3
|
||
|
$PREFIX/bin/base_pip_upgrade.bash "$@" | grep -v 'INFO:\|ERROR:\|DEBUG:' | \
|
||
|
tee /tmp/P$$.lis | \
|
||
|
while read elt rest ; do
|
||
|
[ $PYVER = 2 ] && str="import $elt;print $elt.__file__" || \
|
||
|
str="import $elt;print($elt.__file__)"
|
||
|
|
||
|
$PREFIX/bin/python$PYVER.sh -c $str >/tmp/P$$.log 2>&1
|
||
|
if [ $? -ne 0 ] ; then
|
||
|
lelt=$( echo $elt | tr '[:upper:]' '[:lower:]' )
|
||
|
if [ "$lelt" != "$elt" ] ; then
|
||
|
[ $PYVER = 2 ] && str="import $lelt;print $lelt.__file__" || \
|
||
|
str="import $lelt;print($lelt.__file__)"
|
||
|
$PREFIX/bin/python$PYVER.sh -c $str >/tmp/P$$.log 2>&1 || \
|
||
|
{ rm -f /tmp/P$$.log ; continue ; }
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
grep /usr/lib /tmp/P$$.log && DBUG $PYVER $elt $rest && continue
|
||
|
grep $PREFIX /tmp/P$$.log && INFO $PYVER $elt $rest && continue
|
||
|
cat /tmp/P$$.log && WARN $PYVER $elt $rest && continue
|
||
|
|
||
|
done
|
||
|
|
||
|
rm -f /tmp/P$$.log
|
||
|
|
||
|
exit 0
|