Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for unarchiving symbolic links #63

Open
adam-bloom opened this issue Oct 14, 2021 · 3 comments
Open

Support for unarchiving symbolic links #63

adam-bloom opened this issue Oct 14, 2021 · 3 comments

Comments

@adam-bloom
Copy link

Both zip and tar allow for symbolic links to be included in archives as links, and not just as files. The launcher does not currently handle unarchiving correctly when symbolic links are encountered. As an example, the latest develop macOS archive contains the following symlink:

lrwxr-xr-x@ 1 Adam  staff    16B Oct 10 15:06 libzip.5.dylib -> libzip.5.3.dylib

The above link was extracted using the default macOS Archive Utility, but similar results are seen when invoking unzip directly from the command line.

Using the launcher, we get the following:

-rw-r--r--@ 1 Adam  staff    16B Oct 11 16:25 libzip.5.dylib

The file was extracted, but not as a symlink.

@naterinder
Copy link

As of today, this breaks launching the game with the latest stable release (0.3.5).

@LRFLEW
Copy link
Owner

LRFLEW commented Nov 7, 2021

I'll start working on this. Honestly, handling symlinks in the ZIP format is kinda tricky, as it isn't as clearly standardized as I'd hope.

Honestly, I need to replace all the archive handling code in here with a library like libarchive. I had avoided it at the time because combining external dependencies with QMake was a nightmare, but I should just switch to CMake, which with solve that issue altogether. It might take some time, since I should also switch everything to using Github Actions.

@phu54321
Copy link

phu54321 commented Aug 3, 2022

Maybe simple fix? Treat all .dylib containing a single string as symlink, and symlink to "appropriate" dylib.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants