pgxn / pgxn-api

Maintain and serve a REST API to search PGXN mirrors
http://pgxn.org/
15 stars 2 forks source link

Fix handling of symlinks extracted from zip files #39

Closed theory closed 6 months ago

theory commented 6 months ago

Setting unix attributes was breaking the detection of symlinks by Archive::Zip, so it was just writing out a file with the name of the linked file in it.

Fix it by instead removing an existing file if it exists and not setting permissions for symlinks. This allows Arhive::Zip to always create a proper symlink. While at it, change the permissions for files to we writable by the owner, so as to avoid any other permissions issues when re-indexing an archive, which needs to replace existing files.

Finallky, don't abandon unzipping a file on error, but just move on to the next file.