xeon-koyamaです。 長い間、Windows環境で作成された和名を含むzipファイルの解凍および convmv が いつも失敗していたのですが、回避方法がわかったので投稿します。 参考URL http://nhh.mo-blog.jp/ttt/2007/03/zipunzip_315b.html ありがとうございます。m(_ _)m 1. unzip-5.52-34.src.rpm を持ってきて、ソースを解凍して、以下の改変を行う unzip の ソース unzpriv.h の中を改変 ---------------------------------------------------------- */ #ifndef Ext_ASCII_TO_Native # define Ext_ASCII_TO_Native(string, hostnum, hostver, isuxatt, islochdr) \ if (((hostnum) == FS_FAT_ && \ !(((islochdr) || (isuxatt)) && \ ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \ (hostnum) == FS_HPFS_ || \ ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \ 削除-> _OEM_INTERN((string)); \ 追加-> _ISO_INTERN((string)); \ } else { \ _ISO_INTERN((string)); \ } #endif --------------------------------------------------------- 2. 再び ソースを tar.gz で固める 3. rpmbuild -bb で コンパイルして パッケージを作成 4. インストール 5. 使い方は、常に unzip -b でやる。 和名らしきファイル名があったら、convmv する 追伸 この動作をデフォルトにしてもらうように、要請する先は やはり、unzip の作者になるのですかね? それとも、OpenSUSE になるのですかね? --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
長い間、Windows環境で作成された和名を含むzipファイルの解凍および convmv が いつも失敗していたのですが、回避方法がわかったので投稿します。 Ubuntuに入っているunzipを持ってくると、「-O 文字コード」というオプションが 追加されていて、日本語以外でも幸せになれたりします。 https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/203609
ソースはこの辺からorig.tgzとdiff.tgzをかっぱらってきて頂ければ。 http://archive.ubuntu.com/ubuntu/pool/main/u/unzip/ # 誰かポートしてください……orz
追伸 この動作をデフォルトにしてもらうように、要請する先は やはり、unzip の作者になるのですかね? それとも、OpenSUSE になるのですかね?
unzipの上流が止まっているので、現状では各ディストリビューションでやるのが 唯一解かもしれません。 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
xeon-koyamaです。 hito さん ご返答ありがとうございます。
Ubuntuに入っているunzipを持ってくると、「-O 文字コード」というオプションが 追加されていて、日本語以外でも幸せになれたりします。 https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/203609
ソースはこの辺からorig.tgzとdiff.tgzをかっぱらってきて頂ければ。 http://archive.ubuntu.com/ubuntu/pool/main/u/unzip/
# 誰かポートしてください……orz
うーん。すごく良いですね。 rpmのパッケージの作成方法が未だにわからないのが、悔しいです。
unzipの上流が止まっているので、現状では各ディストリビューションでやるのが 唯一解かもしれません。
なるほど、メンテナンスがされていないのですかね・・・・。 OpenSUSEのバグリストが、良いようですね。 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
今晩は、山中です。 Shift-JISの日本語ファイル名で圧縮されたファイルを unzipで展開したとき、ファイル名が文字化けする問題ですが。 私も以前同じ事で悩んで、解決策を探していました。 幸いこの方の「http://rotk.d-frog.net/13.html」作った パッチを流用することによって解決できたのでopenSUSEを 入れる度に毎回unzipをビルドし直しています。 基本的な流れはkoyamaさんと同じですが、こちらは通常と 同じ使い方で良く、自動的にファイル名がUTF-8の日本語で展開 されます。さすがにファイルの中身の文章までは変換されませんので そこは $ nkf -w --overwrite file1 file2 などでUTF-8に変換して対応してください。 以下にリビルド作業の流れをコマンドで記述してみました。 (メールの都合上一部途中で改行しています) $ wget 'http://ftp.novell.co.jp/pub/opensuse/distribution /10.3/repo/src-oss/suse/src/unzip-5.52-77.src.rpm' $ wget 'http://ebuild.gentoo.gr.jp/open.php? mode=download&type=files&cat=app-arch&app=unzip& arg=unzip-5.52-ubuntuja.patch&visible=' -O unzip-5.52-sjis.patch $ rpm -ivh unzip-5.52-77.src.rpm $ cp unzip-5.52-sjis.patch /usr/src/packages/SOURCES $ cd /usr/src/packages $ vi SPECS/unzip.spec ================================== ... Patch4: unzip-5.52-filename_too_long.patch Patch5: unzip-no_file_name_translation.patch Patch6: unzip-5.52-sjis.patch # <- 追加 BuildRoot: %{_tmppath}/%{name}-%{version}-build ... %patch4 %patch5 %patch6 -p1 # <- 追加 ... ================================== $ rpmbuild -bb SPECS/unzip.spec # rpm -ivh RPMS/x86_64/unzip-5.52-77.x86_64.rpm --force 以上です。最後のコマンドだけroot権限で実行する必要があります。 私のOSが64bit版なのでx86_64となっていますが、通常の32bit版の OSの場合はi586などに読み替えてください。 unzip-jaみたいな形式でもいいので文字化けに対応したrpmが 公式のリポジトリに採用されるといいですね (.. -- +++-----------------------------+++ NAME: Yamanaka Yuu Yokohama E-MAIL: me@1-ideal.info MyServer: http://www.1-ideal.info/ ----------------+++---------------- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
松本です。 koyamaさん、hitoさん、山中さん、ご報告ありがとうございます。 Yamanaka Yuu さんは書きました:
unzip-jaみたいな形式でもいいので文字化けに対応したrpmが 公式のリポジトリに採用されるといいですね (..
「どうするのが『より多くの人にとって』『より幸せか』」という観点から ちょっと口を挟ませてください。 まず考えたいのは、日本語ユーザのみが幸せになれるのか、それとも他のマルチ バイト文字言語を使う人たちにとっても有益か、という点です。 前者であるならメインストリームのメンテナを動かすまでの根拠にはなりにくい のではないかと思います。その場合の現実的な解は、どこかで FAQ として対処 方法を公開するか、Unofficial なカスタムパッケージとして公開していくか、 ということになるのではないでしょうか。 # パッチを当てても、他の言語ユーザに対しての副作用はないと立証できるなら # メインストリームに取り込んでもらえる可能性はあるかもしれませんが…。 後者であるなら、少なくとも Build Service あたりからは入手できるように 持っていきたいところですが、その場合のアプローチ方法としては、以下のよう な方法が思いつきます。 (1) SLE がらみで Novell を動かす 手元で検証していないんでナンなんですが、おそらく SLE でもこの「文字化 け」は起こると思います。とすると「Linux & Windows Interoperability」を 謳っている手前、Novell としても放置しておくわけにはいかない問題として認 識してもらえるのではないかと。 なので、SLE の正規ユーザの人たち(別に個人的にサブスクリプトしてなくて も、仕事場で SLE を導入して使っている人でかまわない)から「なんとかしてく れ」と突き上げがあれば、Novell として対応せざるを得なくなり、まずは SLE に反映され、ひいてはそれが openSUSE にもフィードバックされていくのではな いか…という作戦です。(笑) (2) 正攻法で Bugzilla にあげる もちろんこれが一番だと思います。ただし、その後英語でやりとりしてネゴッて いかなければならなくなるので、気分的には敷居が高い。 (3) m17n-ML にポストしてみる コトがマルチバイト文字の取扱いに関する問題ですので、まずは英語でポストし なければなりませんが、個別 ML の中では一番ふさわしい場だと思います。なに より、ここにポストしておくと Mike さんの目にも止まりやすく、Mike さんに 食いついてもらえれば、後は参照リンクなど「日本語ページを見てくれ」でも通 用してしまうという心強さがあります。(笑) 個人的には、成果が出てくるまでに一番時間はかかりそうながら、実は(1)が一 番効果的なのではないかと思ったりしているのですけれど…。 -- □●□ _/_/_/ To be Happy! _/_/_/ □□● _/_/ Satoru Matsumoto _/_/ ●●● _/ helios_reds@gmx.net _/ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
xeon-koyamaです。
unzip-jaみたいな形式でもいいので文字化けに対応したrpmが 公式のリポジトリに採用されるといいですね (..
パッケージについて、よくわからないでの発言になりますが・・・ OpenSUSEに登録するのが面倒ならば、packman に unzip-ja みたいな感じで、投稿してはダメなのでしょうかね。 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
松本です。 先のメールに書き忘れてたのですが、この件については他にもいろいろな「解」 がありそうで、たとえば日本語だけじゃなく iconv で扱える文字コードならど れでも対応できそうなパッチを公開してくださっている方がいます。 http://www.coara.or.jp/~sudakyo/dasworksrpms.html#unzip で、ここのパッチを、山中さんが紹介してくれている手順で当てることができる か確認してみようと思い立ち、unzip.spec を編集しましたところ… %changelog <snip> * Thu May 03 2007 - pth@suse.de - Add patch from Takashi Iwai that adds a new option (-S) to unzip and infozip that disables file name translation (#267901). …なる記載が。もう一年以上前に Iwai さんが対応してくれてたんですね(笑)。 もちろん shift-jis なファイル名のファイルを含む ZIP アーカイブを日常的に 処理しなくてはいけない人の場合はパッチを当ててカスタマイズしてしまった方 が面倒は少なくなるかもしれませんが、openSUSE デフォルトの unzip のままで も -S オプションを付けて展開すれば、その後 convmv でリネーム可能です。 # hitoさんが紹介してくれていた # https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/203609 # …から持ってこれる「日本語.zip」にて確認しました。 独自のパッチを当てることにより何か副作用があるのかないのか気にしなくては いけなくなったり(unzip コマンドそのものは、いろいろなスクリプトの中で呼 び出されている可能性が高そう)、頻度はかなり低いと思いますが今後 unzip の アップデートがある度にカスタマイズしなければならなくなる可能性を考えるな ら、-S オプションでやりくりする…でもいいのではないかと思います。 # いや、別にいじってみることを否定しているわけではありませんので # 誤解はなさらないでください。 # 単に「パッチを当てて再構成することを推奨する」積極的な理由は # ないのではないかと感じたまでですので…。 -- □●□ _/_/_/ To be Happy! _/_/_/ □□● _/_/ Satoru Matsumoto _/_/ ●●● _/ helios_reds@gmx.net _/ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 松本です。 Satoru Matsumoto さんは書きました: | 頻度はかなり低いと思いますが今後 unzip のアップデートがある度に こんなこと書いてたら、早速 unzip のセキュリティアップデートが出ちゃいま したね。 # openSUSE Updater が赤くなってるんで「何だろう」と見てみたら…。 # security-announce はまだ出てないみたいですけど。 - -- □●□ _/_/_/ To be Happy! _/_/_/ □□● _/_/ Satoru Matsumoto _/_/ ●●● _/ helios_reds@gmx.net _/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFH6lDlXnHIfHE6+z0RAm4/AJ9VEriE8II0FSshpKHqRk1rO3AxpgCdFi5B MB+ddBxipx6yCMyIAYJYWAM= =Z005 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
xeon-koyamaです。
で、ここのパッチを、山中さんが紹介してくれている手順で当てることができる か確認してみようと思い立ち、unzip.spec を編集しましたところ…
%changelog <snip> * Thu May 03 2007 - pth@suse.de - Add patch from Takashi Iwai that adds a new option (-S) to unzip and infozip that disables file name translation (#267901).
…なる記載が。もう一年以上前に Iwai さんが対応してくれてたんですね(笑)。
これなんですが、 unzip-5.52-34.src.rpm のヤツにはないです。 (OpenSuSE10.2 の unzip ソースです) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
今井です。 Thursday 27 March 2008 03:42:16 に koyama さんは書きました:
%changelog <snip> * Thu May 03 2007 - pth@suse.de - Add patch from Takashi Iwai that adds a new option (-S) to unzip and infozip that disables file name translation (#267901).
…なる記載が。もう一年以上前に Iwai さんが対応してくれてたんですね(笑)。
これなんですが、 unzip-5.52-34.src.rpm のヤツにはないです。 (OpenSuSE10.2 の unzip ソースです)
10.2のunzipアップデートであるunzip-5.52-36.src.rpmでも存在しませんが、 10.3のunzip-5.52-77.src.rpmにはありますね。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
松本です。 Masaru Imai さんは書きました:
%changelog <snip> * Thu May 03 2007 - pth@suse.de - Add patch from Takashi Iwai that adds a new option (-S) to unzip and infozip that disables file name translation (#267901).
…なる記載が。もう一年以上前に Iwai さんが対応してくれてたんですね(笑)。 これなんですが、 unzip-5.52-34.src.rpm のヤツにはないです。 (OpenSuSE10.2 の unzip ソースです)
10.2のunzipアップデートであるunzip-5.52-36.src.rpmでも存在しませんが、 10.3のunzip-5.52-77.src.rpmにはありますね。
そうみたいですね。引用の末尾の (#267901) は Bugzilla の登録番号を示して います。 https://bugzilla.novell.com/show_bug.cgi?id=267901 そこを見ると 10.3 Alpha3 の時点で登録されたもので、どうやら 10.2 への バックポートが忘れられてる(?)ような…。 具体的にどのパッチがそれに当たるかというと、10.3 の unzip-5.52-77.src.rpm に含まれている unzip-no_file_name_translation.patch のようです。 -- □●□ _/_/_/ To be Happy! _/_/_/ □□● _/_/ Satoru Matsumoto _/_/ ●●● _/ helios_reds@gmx.net _/ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org
participants (5)
-
hito
-
koyama
-
Masaru Imai
-
Satoru Matsumoto
-
Yamanaka Yuu