Lines 190-203
def perform_checksum(filename, hashname=
Link Here
|
190 |
mylock = portage_locks.lockfile(prelink_tmpfile, wantnewlockfile=1) |
190 |
mylock = portage_locks.lockfile(prelink_tmpfile, wantnewlockfile=1) |
191 |
# Create non-prelinked temporary file to checksum. |
191 |
# Create non-prelinked temporary file to checksum. |
192 |
# Files rejected by prelink are summed in place. |
192 |
# Files rejected by prelink are summed in place. |
|
|
193 |
tmpfile_fd = os.open(prelink_tmpfile, os.O_CREAT | os.O_RDWR) |
193 |
try: |
194 |
try: |
194 |
retval = portage_exec.spawn([PRELINK_BINARY, "--undo", "-o", |
195 |
retval = portage_exec.spawn([PRELINK_BINARY, "--verify", |
195 |
prelink_tmpfile, filename], fd_pipes={}) |
196 |
filename], fd_pipes={1:tmpfile_fd}) |
196 |
if retval == os.EX_OK: |
197 |
if retval == os.EX_OK: |
197 |
myfilename = prelink_tmpfile |
198 |
myfilename = prelink_tmpfile |
198 |
except portage_exception.CommandNotFound: |
199 |
except portage_exception.CommandNotFound: |
199 |
# This happens during uninstallation of prelink. |
200 |
# This happens during uninstallation of prelink. |
200 |
prelink_capable = False |
201 |
prelink_capable = False |
|
|
202 |
os.close(tmpfile_fd) |
201 |
try: |
203 |
try: |
202 |
if hashname not in hashfunc_map: |
204 |
if hashname not in hashfunc_map: |
203 |
raise portage_exception.DigestException(hashname + \ |
205 |
raise portage_exception.DigestException(hashname + \ |