Open rominf opened 3 years ago
On GNU/Linux with zip installed:
zip
$ cd /tmp $ mkdir readonly_dir $ touch readonly_dir/readonly_file $ chmod 400 readonly_dir/readonly_file $ chmod 500 readonly_dir/ $ zip archive.zip readonly_dir/ readonly_dir/readonly_file adding: readonly_dir/ (stored 0%) adding: readonly_dir/readonly_file (stored 0%) $ echo -e 'import nimarchive\n\nextract("/tmp/archive.zip", "/tmp/output")' >/tmp/test_nimarchive.nim $ nim run /tmp/test_nimarchive.nim Hint: used config file '/home/rominf/dev/nim/config/nim.cfg' [Conf] Hint: used config file '/home/rominf/dev/nim/config/config.nims' [Conf] Hint: 7841 lines; 0.016s; 7.008MiB peakmem; Debug build; proj: /tmp/test_nimarchive.nim; out: /home/rominf/.cache/nim/test_nimarchive_d/test_nimarchive [SuccessX] Hint: /home/rominf/.cache/nim/test_nimarchive_d/test_nimarchive [Exec] /tmp/test_nimarchive.nim(4) test_nimarchive /home/rominf/.nimble/pkgs/nimarchive-0.5.4/nimarchive.nim(72) extract /home/rominf/dev/nim/lib/pure/os.nim(2232) removeDir /home/rominf/dev/nim/lib/pure/os.nim(2231) removeDir /home/rominf/dev/nim/lib/pure/os.nim(1780) removeFile /home/rominf/dev/nim/lib/pure/includes/oserr.nim(94) raiseOSError Error: unhandled exception: Permission denied Additional info: "/tmp/nimarchive-3939553936/readonly_dir/readonly_file" [OSError] Error: execution of an external program failed: '/home/rominf/.cache/nim/test_nimarchive_d/test_nimarchive '
Recursively add user write permissions to temporary dir.
Steps to reproduce
On GNU/Linux with
zip
installed:Proposed solution
Recursively add user write permissions to temporary dir.
Notes