MSYSの ln がまがいものだと言うことは、以前書いた。これに関係して、symbolic link を含んだ tar アーカイブの展開に失敗する。
「Unixとcygwinだけが世界だ」みたいなプロジェクトなんかいっくらでもあるわけで、これ、日常生活に結構支障ある。
そこまで苦労するなら cygwin 使えばいいのに、って声がきこえてきそうだ
cygwin がイヤになった理由なんかいくらもあるんだけど、「デカ過ぎ」「大きなお世話過ぎ」、のわりにはインストーラはいつまで経っても改善されないよな、ってのがベースにまずあって、決定打があったんだけど、それってのはまぁあれですわ、「cygwin 依存の Aと cygwin 依存の B」が相互に衝突しあってにっちもさっちもいかなくなった、てことがかつてあったのです。(知ってる人は、あぁ、あれか、と心当たりあるかも。)
今回のこれ、MSYS の tar だけではどうしようもないみたい。弱るなぁ。なので、python の tarfile モジュールで出来るかな、と。出来た。さすが。
1 import tarfile
2 with tarfile.open("openssl-1.0.2a.tar.gz", dereference=True) as tf:
3 tf.extractall()
1 import tarfile
2 with tarfile.open("openssl-1.0.2a.tar.gz", dereference=True, debug=1) as tf:
3 tf.extractall()
のように debug 付けた方が吉。debugは1~3まで。ふつーは1でいいけど、除外系とかの報告が1だと出なかったり。