Lines 10-15
Link Here
|
10 |
import os |
10 |
import os |
11 |
import errno |
11 |
import errno |
12 |
import stat |
12 |
import stat |
|
|
13 |
import tempfile |
13 |
import portage_exception |
14 |
import portage_exception |
14 |
import portage_exec |
15 |
import portage_exec |
15 |
import portage_locks |
16 |
import portage_locks |
Lines 201-216
Link Here
|
201 |
""" |
202 |
""" |
202 |
global prelink_capable |
203 |
global prelink_capable |
203 |
myfilename = filename[:] |
204 |
myfilename = filename[:] |
204 |
prelink_tmpfile = os.path.join("/", PRIVATE_PATH, "prelink-checksum.tmp." + str(os.getpid())) |
205 |
prelink_tmpfile = None |
205 |
mylock = None |
206 |
mylock = None |
206 |
try: |
207 |
try: |
207 |
if calc_prelink and prelink_capable: |
208 |
if calc_prelink and prelink_capable: |
208 |
mylock = portage_locks.lockfile(prelink_tmpfile, wantnewlockfile=1) |
|
|
209 |
# Create non-prelinked temporary file to checksum. |
209 |
# Create non-prelinked temporary file to checksum. |
210 |
# Files rejected by prelink are summed in place. |
210 |
# Files rejected by prelink are summed in place. |
211 |
try: |
211 |
try: |
212 |
retval = portage_exec.spawn([PRELINK_BINARY, "--undo", "-o", |
212 |
tmpfile_fd, prelink_tmpfile = tempfile.mkstemp() |
213 |
prelink_tmpfile, filename], fd_pipes={}) |
213 |
try: |
|
|
214 |
retval = portage_exec.spawn([PRELINK_BINARY, |
215 |
"--verify", filename], fd_pipes={1:tmpfile_fd}) |
216 |
finally: |
217 |
os.close(tmpfile_fd) |
214 |
if retval == os.EX_OK: |
218 |
if retval == os.EX_OK: |
215 |
myfilename = prelink_tmpfile |
219 |
myfilename = prelink_tmpfile |
216 |
except portage_exception.CommandNotFound: |
220 |
except portage_exception.CommandNotFound: |
Lines 225-231
Link Here
|
225 |
if e.errno == errno.ENOENT: |
229 |
if e.errno == errno.ENOENT: |
226 |
raise portage_exception.FileNotFound(myfilename) |
230 |
raise portage_exception.FileNotFound(myfilename) |
227 |
raise |
231 |
raise |
228 |
if calc_prelink and prelink_capable: |
232 |
if prelink_tmpfile: |
229 |
try: |
233 |
try: |
230 |
os.unlink(prelink_tmpfile) |
234 |
os.unlink(prelink_tmpfile) |
231 |
except OSError, e: |
235 |
except OSError, e: |