-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
Can't install REA archives using gnu tar #444
Comments
Alternately, I could change the filenames in the REA. Not looking forward to it, but it could be done. |
|
That being said: I think that zef tar plugin should avoid the remote feature one way or another. |
ok, lemme see if I can drop the colons and < > from the file names |
S22 suggested naming like |
yeah, using hyphens is not a good idea |
It looks like both bsdtar and gnutar support @patrickbkr I know you've brought up busybox support before: can you happen to confirm that busybox will error when passed |
@ugexe I have now tried with a busybox tar (booted up an alpine in a container). It does not care about colons in the filename and extracts such files just like files without a colon. When passing the |
I wonder whether it would help if the colons were also URL encoded? Also, if anybody has an idea to use something instead of colons, I'd like to know :-) |
@lizmat I guess url encoding would help. This specific problem is caused by colons. URL encoding would get rid of those. https://superuser.com/a/748264/349521 lists some more chars we should avoid: |
Unfortunately Windows doesn't allow |
% in a filename works fine on my Windows 10. https://en.wikipedia.org/wiki/Filename states that % is reserved on RT-11, an OS discontinued in 1998. |
The colons in the source-urls of the REA are now URL-encoded as well, and this appeared to have fixed Raku/REA#3 . And possibly this one. |
@lizmat: Raku/REA#3 is a duplicate of this bug, so yes, installing from REA now fixed. Thanks! I'd like to keep this bug open though, because making zef resilient to tar trying to access remote systems is still an open todo. |
GNU tar will try to download remote files if they contain a colon. This works around that issue by prefixing the already-relative paths with './' as needed, as this causes the path to not be parsed as a remote file uri. Fixes #444
@patrickbkr Perhaps change the title of this issue then :-) |
I prefer to keep the title as is, as the largest part of the discussion actually revolves around the original problem. |
fwiw I have a fix, but appveyor continues to fail in the exact same spot when testing |
I think this has been fixed by adapting the REA URLs ? |
REA archive filenames contain colons. Those colons trigger gnu tar functionality to try to download a file from a remote PC.
See timo/json_fast#79
I think the best fix would be to prefix the file to extract / introspect with
./
as that triggers gnu tar to not try to do fancy download things. But that needs to be done in a platform agnostic way.Alternatively one could probe for the edition of tar and if it's supported add the
--force-local
command line parameter to explicitly disable that functionality.The text was updated successfully, but these errors were encountered: