2019/04/30(Tue)
○[Windows] 新元号対応更新プログラム
そいやまだWindowsって改元対応の更新プログラムってWindows Updateには来てないのね、Cygwinのnl_langinfo(3)とそれを呼びだすlocale(1)はWindowsのAPIから元号情報ひっぱるはずだけど
$ LANG=ja_JP.UTF-8 locale -k era
era="+:2:1990/01/01:+*:平成:%EC%Ey年";"+:1:1989/01/08:1989/12/31:平成:%EC元年";
"+:2:1927/01/01:1989/01/07:昭和:%EC%Ey年";"+:1:1926/12/25:1926/12/31:昭和:%EC元年";
"+:2:1913/01/01:1926/12/24:大正:%EC%Ey年";"+:1:1912/07/30:1912/12/31:大正:%EC元年";
"+:6:1873/01/01:1912/07/29:明治:%EC%Ey年";
"+:1:0001/01/01:1872/12/31:西暦:%EC%Ey年";"+:1:-0001/12/31:-*:紀元前:%EC%Ey年"
でまだ平成は続くよどこまでも状態なんやな、オレオレN6だとこうなっとる。
$ LANG=ja_JP.eucJP locale -k era
era="+:2:2020/01/01:+*:令和:%EC%Ey年;+:1:2019/05/01:2019/12/31:令和:%EC元年;
+:2:1990/01/01:2019/04/30:平成:%EC%Ey年;+:1:1989/01/08:1989/12/31:平成:%EC元年;
+:2:1927/01/01:1989/01/07:昭和:%EC%Ey年;+:1:1926/12/25:1926/12/31:昭和:%EC元年;
+:2:1913/01/01:1926/12/24:大正:%EC%Ey年;+:2:1912/07/30:1912/12/31:大正:%EC元年;
+:6:1873/01/01:1912/07/29:明治:%EC%Ey年;"
あ、長いので適宜改行してるけど実際は1行ね。
Windowsのカレンダーをコントロールパネルから和暦表示に変更してもダメっぽい。
あと「令和」の合字がユニコード(U+32FF)に追加されたのもフォント更新されてないっぽ。 それと確認するのめんどいからやらんが文字コード変換まわりもウンコード正規化もまだなんだろうな。 こんな合字が必要になるシステムなんてJISで動いとるだろうしそっちには追加されんから外字対応だろうしどうでもいいか…
どうせGB18030にはUnicode12.1対応すりゃ勝手に入るだろうけどCNS11643とかどうなるんかな、ああどうでもいい…
むー 公式の文書読んでもWindows Update自動にしてればもう降ってきてるはずと書かれてるんだがはて?
検索したら KB4469068がヒットして、マンスリーアップデートには間に合わなかったからオプションにある累積パッチプレビュー版入れるか手動で単体パッチ適用しろだと。 まぁAppleなんかもまだベータでしか対応されてないし、どこも間に合わねえということやな。
ちなみに7用の単体パッチの 機能追加および修正を読むと定数とか境界値でバグりまくってたようなので、いちおうテストはしとるんやな。
ということで単体パッチ適用して再起動した結果。
できてへんやんけーッ!!基本的なことが~~~!!(例の画像略)、令和元年になるところが令和1年になっとるし平成も元年でなく1年表示。 ということはCygwinってもしかして自前でlocale database持ってるんかな。
それと
- 現在時刻が2019-05-01より前だと「平成31年5月1日」と表示
- 現在時刻が2019-05-01以降だと「令和1年5月1日」と表示
と無意味にややこしい動作をするよう実装されてるっぽい、法の施行を以てと厳密に解釈した結果かねえ。 政府から出てる原則は施行日より前であっても改元日以降の日付を和暦で表現すんなら「令和」使え、ただし「平成」って書いちゃったものにはめくじらたてんなって扱いだと読んだ記憶があるのだが…
おそらくOfficeの方は自前実装でもっと奇怪な動きをしそうだけどチェックめんどくさい、誰か記事書くやろ(鼻ホジ)。
社会に混乱なきよう生前退位で半年以上前からスケジュール決まってて元号発表からですら1月の猶予あったのに、まさしく「誰も消防車を呼んでいないのである」のインターネットミームになったという気分である。
結局こうなるとOSのlocaleやら使うよりも自前でデータベースを抱えるというクソアプリの方が正義になってしまうので、自分を含めて国際化プログラミングに関わってた連中のやってたことは無意味でしたーwという烙印がまたひとつ押された気分やでホンマ、ワイなんて無意味の何乗になることやら。
○[pなんとかsrc] pなんとかsrc
pなんとかsrcの要求するmake(1)のバージョンが上がったようで、オレオレN6のbaseモノだと動かなくなったので、mergeするのもめんどくさいのでbootstrap-pなんとかsrcを導入して誤魔化した。
以下費やした無駄な労力
- pkg_rotting_replaceのようなmake依存かつハードコードしてるツールは作り直し
- /etc/mk.confではなく/usr/pkg/etc/mk.confに設定を以降する必要がある
- /var/db/pkgから/usr/pkg/pkgdbへの移行(あるいはPKGDB_DIRの変更)
そいえばPREFER.openssl=pkgsrcしたいのにlibresslとconflictするから依存パッケージで困るから放置してる件も直る気配すらないので自分でやらんとならんかな…