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? |