Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 192383
Collapse All | Expand All

(-)python-updater.orig (-3 / +35 lines)
Lines 35-40 Link Here
35
PKGS_TO_REMERGE=""
35
PKGS_TO_REMERGE=""
36
PKGS_COUNT_REMERGE=0
36
PKGS_COUNT_REMERGE=0
37
PORTAGE_PYTHON="/usr/bin/python"
37
PORTAGE_PYTHON="/usr/bin/python"
38
PYTHON_MAGIC=""
38
39
39
SUPPORTED_PMS="portage pkgcore paludis"
40
SUPPORTED_PMS="portage pkgcore paludis"
40
PMS_COMMAND=( "emerge" "pmerge" "paludis" )
41
PMS_COMMAND=( "emerge" "pmerge" "paludis" )
Lines 160-165 Link Here
160
einfo "Starting Python Updater from ${OLD_PY_VER} to ${NEW_PY_VER} :"
161
einfo "Starting Python Updater from ${OLD_PY_VER} to ${NEW_PY_VER} :"
161
einfo "Searching for packages with files in ${OLD_MODULES_DIRS} .."
162
einfo "Searching for packages with files in ${OLD_MODULES_DIRS} .."
162
163
164
PYTHON_MAGIC=$(${PORTAGE_PYTHON} -c 'import imp; print imp.get_magic().encode("hex")')
165
163
# iterate thru all the installed package's contents
166
# iterate thru all the installed package's contents
164
for content in `find ${PKG_DBDIR} -name CONTENTS`; do
167
for content in `find ${PKG_DBDIR} -name CONTENTS`; do
165
    # extract the category, package name and package version
168
    # extract the category, package name and package version
Lines 187-200 Link Here
187
    	CATPKGVER="=${CATPKGVER}"
190
    	CATPKGVER="=${CATPKGVER}"
188
    fi
191
    fi
189
192
193
    add_current=0
194
190
    for OLD_MODULES_DIR in ${OLD_MODULES_DIRS}; do
195
    for OLD_MODULES_DIR in ${OLD_MODULES_DIRS}; do
191
        if fgrep "${OLD_MODULES_DIR}" ${content} > /dev/null; then
196
        if fgrep "${OLD_MODULES_DIR}" ${content} > /dev/null; then
192
	    PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
197
            add_current=1
193
            einfo "Adding to list: ${CATPKGVER}"
194
        elif fgrep "${OLD_INCLUDE_DIR}" ${content} > /dev/null; then
198
        elif fgrep "${OLD_INCLUDE_DIR}" ${content} > /dev/null; then
195
	    PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
199
            add_current=1
196
        fi
200
        fi
197
    done
201
    done
202
203
    # Check for left-over binary files left by python.eclass
204
    if [ "$add_current" -ne 1 ]; then
205
        ebuild=$(ls ${content%%CONTENTS}*.ebuild)
206
        binary=""
207
        
208
        if grep -q -E 'python_mod_compile|python_mod_optimize' \
209
        ${ebuild}; then
210
211
            for pyfile in $(fgrep .py ${content} | awk '{print $2}'); do
212
                if [ -f "${pyfile}c" ]; then
213
                    binary="${pyfile}c"
214
                    break
215
                fi
216
            done
217
        fi
218
219
        if [ -n "$binary" ]; then
220
            binary_magic=$(od -An -tx1 -N 4 ${binary} | sed -e 's/\s//g')
221
222
            [ "${binary_magic}" != "${PYTHON_MAGIC}" ] && add_current=1
223
        fi
224
    fi
225
226
    if [ "$add_current" -eq 1 ]; then
227
        einfo "Adding to list: ${CATPKGVER}"
228
        PKGS_TO_REMERGE="${PKGS_TO_REMERGE} ${CATPKGVER}"
229
    fi
198
done
230
done
199
231
200
# only pretending?
232
# only pretending?

Return to bug 192383