Using 1.9.0 as an example, the files inside crystal-1.9.0-1-linux-x86_64-bundled.tar.gz and crystal-1.9.0-docs.tar.gz have an extra leading ./, whereas crystal-1.9.0-1-linux-x86_64.tar.gz and crystal-1.9.0-1-darwin-universal.tar.gz don't:
$ tar tf crystal-1.9.0-1-linux-x86_64-bundled.tar.gz | head
./
./crystal-1.9.0-1/
./crystal-1.9.0-1/lib/
./crystal-1.9.0-1/lib/crystal/
./crystal-1.9.0-1/lib/crystal/libgc.a
./crystal-1.9.0-1/lib/crystal/libevent_pthreads.a
./crystal-1.9.0-1/lib/crystal/lib/
./crystal-1.9.0-1/lib/crystal/libevent.a
./crystal-1.9.0-1/lib/crystal/libpcre2-8.a
./crystal-1.9.0-1/lib/crystal/bin
$ tar tf crystal-1.9.0-docs.tar.gz | head
./crystal-1.9.0-docs/
./crystal-1.9.0-docs/Signal.html
./crystal-1.9.0-docs/Crypto/
./crystal-1.9.0-docs/Crypto/Blowfish.html
./crystal-1.9.0-docs/Crypto/Bcrypt/
./crystal-1.9.0-docs/Crypto/Bcrypt/Error.html
./crystal-1.9.0-docs/Crypto/Bcrypt/Password.html
./crystal-1.9.0-docs/Crypto/Bcrypt.html
./crystal-1.9.0-docs/Crypto/Subtle.html
./crystal-1.9.0-docs/OptionParser.html
$ tar tf crystal-1.9.0-1-linux-x86_64.tar.gz | head
crystal-1.9.0-1/
crystal-1.9.0-1/lib/
crystal-1.9.0-1/lib/crystal/
crystal-1.9.0-1/lib/crystal/libgc.a
crystal-1.9.0-1/lib/crystal/lib
crystal-1.9.0-1/lib/crystal/bin
crystal-1.9.0-1/bin/
crystal-1.9.0-1/bin/shards
crystal-1.9.0-1/bin/crystal
crystal-1.9.0-1/share/
$ tar tf ../../Downloads/crystal-1.9.0-1-darwin-universal.tar.gz | head
crystal-1.9.0-1/
crystal-1.9.0-1/bin/
crystal-1.9.0-1/LICENSES/
crystal-1.9.0-1/etc/
crystal-1.9.0-1/samples/
crystal-1.9.0-1/embedded/
crystal-1.9.0-1/license-cache/
crystal-1.9.0-1/src/
crystal-1.9.0-1/src/benchmark/
crystal-1.9.0-1/src/number.cr
Using 1.9.0 as an example, the files inside
crystal-1.9.0-1-linux-x86_64-bundled.tar.gz
andcrystal-1.9.0-docs.tar.gz
have an extra leading./
, whereascrystal-1.9.0-1-linux-x86_64.tar.gz
andcrystal-1.9.0-1-darwin-universal.tar.gz
don't:The
./
is rather confusing, because one has to pass--strip-components=2
totar
instead of--strip-components=1
to extract files into the current directory, even though physically there is only one subdirectory. Those./
s should be stripped.