diff options
Diffstat (limited to 'devel/python/UP_TRIGGERS')
-rwxr-xr-x | devel/python/UP_TRIGGERS | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/devel/python/UP_TRIGGERS b/devel/python/UP_TRIGGERS index 90c2dfacff..0a6deb76ef 100755 --- a/devel/python/UP_TRIGGERS +++ b/devel/python/UP_TRIGGERS @@ -1,25 +1,23 @@ # up_trigger everything on minor version updates -# dispel every spell before casting python again local OLD_SPELL_VERSION -if spell_ok $SPELL; then +if spell_ok $SPELL; then OLD_SPELL_VERSION="$(installed_version $SPELL)" + # Test the second number of the version ie 4 in 2.4.3 if test "${VERSION:2:1}" != "${OLD_SPELL_VERSION:2:1}"; then message "This is a possibly incompatible update of python..." - fi - message "Figuring out what spells need to be recast, this may take a while." - for each in $(show_up_depends $SPELL); do - # Check in the install logs if python packages has been installed - if gaze install $each | grep -q "$TRACK_ROOT/usr/lib/python${OLD_SPELL_VERSION:0:3}/site-packages"; then - up_trigger $each cast_self - dispel --notriggers $each - else - # Check if the binaries link against libpython.so - if gaze install $each | xargs readelf -d 2> /dev/null | - grep -q "NEEDED.*libpython${OLD_SPELL_VERSION:0:3}"; then - up_trigger $each cast_self - dispel --notriggers $each + message "Figuring out what spells need to be recast, this may take a while." + for each in $(show_up_depends $SPELL); do + # Check in the install logs if python packages has been installed + if gaze install $each | grep -q "$TRACK_ROOT/usr/lib/python${OLD_SPELL_VERSION:0:3}/site-packages"; then + up_trigger $each cast_self + else + # Check if the binaries link against libpython.so + if gaze install $each | xargs readelf -d 2> /dev/null | + grep -q "NEEDED.*libpython${OLD_SPELL_VERSION:0:3}"; then + up_trigger $each cast_self + fi fi - fi - done + done + fi fi |