summaryrefslogtreecommitdiffstats
path: root/devel/python/UP_TRIGGERS
blob: 0a6deb76ef55141cbddf055e1d26e796d06a55b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# up_trigger everything on minor version updates

local OLD_SPELL_VERSION
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..."
    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
    done
  fi
fi