Page MenuHome

Add-on's and app-template installation ignores file permissions (execution flag)
Confirmed, LowPublicTO DO


Extracting zip-files from Python ignores file permissions, see this report.

This causes issues for anyone including executable scripts or binaries in the add-ons.

Extracting the zip on the command line with unzip works as expected.

This task proposes to to support only the executable bit when extracting files, ignoring all other permissions to avoid complications caused by non-default file permissions.

Original Report

System Information
Operating system: macOS Catalina
Graphics card: rx580

Blender Version
Broken: from 2.80 to 2.83

While importing an add-on (animationrender)
The binary terminal-notifier gets destroyed and won't work. It will work fine if decompressed manually.

Path: /modules/pync/vendor/terminal-notifier-2.0.0/

Related Objects

Event Timeline

Closing as this isn't part of Blender and there is no evidence this a bug in Blender,
the issue should instead be reported to the add-on.

Did you read the part where I said decompressed manually does not break the binary?

Campbell Barton (campbellbarton) triaged this task as Low priority.EditedTue, Jan 14, 7:46 AM
Campbell Barton (campbellbarton) changed the subtype of this task from "Report" to "To Do".

Yes, since the report was vague, I didn't think it necessarily pointed to an error in Blender, when 3rd party add-ons are involved, there needs to details about why the issue is with Blender, not the add-on.

Looking into the differences between Python's zipfile support and manually extracting - this is caused by there are some workarounds for this online, however I think we only want the execution mask to be set, since non-default permissions could cause issues later on.

Marking this as a TODO since it could be supported.

Campbell Barton (campbellbarton) renamed this task from Blender breaks binary inside of zip file while importing. to Add-on's and app-template installation ignores file permissions (execution flag).Tue, Jan 14, 7:53 AM
Campbell Barton (campbellbarton) updated the task description. (Show Details)