筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2011-05-27 lv の唯一にして最大の less に劣る点を修正する俺得パッチ
■ lv が唯一 less に劣る点を修正する俺得パッチ
lv が唯一 less に劣る点は "lv /" とかやるとディレクトリを無理矢理表示してしまう点です。
$ lv / ^B^@^@^@^L^@^D^A.^@^@^@^B^@^@^@^L^@^D^B..^@^@^C^@^@^@^P^@^D^E.snap^@^@^@^@<^C^@ ^L^@^D^Cdev^@^@^\^F^@^L^@^D^Cext^@^E^@^L^@^D^Ctmp^@^@<98>^C^@^L^@^D^Cusr^@^@\^@ ^@^L^@^D^Cvar^@^@À^E^@^P^@^D^Dhome^@ÿÿÿ^@¸^@^@^L^@^D^Cetc^@^@x^F^@^P^@^D^Ddist^@ ÿÿÿ^@p^A^@^L^@^D^Cbin^@^@ô^C^@^P^@^D^Dboot^@ÿÿÿ^@Ô^F^@^L^@^D^Clib^@^@Ì^A^@^P^@^D ^Glibexec^@^@(^B^@^P^@^D^Emedia^@ÿÿ^@<84>^B^@^L^@^D^Cmnt^@^@d^E^@^P^@^D^Dproc^@ÿ ÿÿ^@à^B^@^P^@^D^Frescue^@ÿ^@¬^D^@^P^@^D^Droot^@ÿÿÿ^@0^G^@^P^@^D^Dsbin^@ÿÿÿ^D^@^@^@^L^@ ^Csys^@^E^@^@^@.profile^@À^_^E^F^@^@^@^P^F.cshrc^@ÿ^G^@^@^@^T COPYRIGHT^@^_^@ ^@^@^P^@ ^Fcompat^@ÿ ^@^@^@<88>^Gentropy^@^@<8C>^G^@x^@^D^Dclub^@ÿÿÿ^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
これが less だとちゃんとエラー表示をしてくれます。
$ less / / is a directory
致命的というわけでもないのですが気にくわないのでパッチを作成しました。
これでディレクトリを引数に与えても大丈夫!
$ mylv / / is a directory
grep モードにも対応しています。
$ mylv -g PATTERN /usr/local /usr / /usr/local is a directory /usr is a directory / is a directory
オリジナルの lv だとこんな事になってました。
$ lv -g profile / s.profile.cshrcÿCOPYRIGHT
grep モードで複数のファイルを引数として与えたとき、最後のファイルが存在しないファイルだと Segmenation Fault で落ちるのはオリジナルのバグのようです。
$ lv -g PATTERN /tmp/nonexistence /nonexistence (snip) Segmentation fault: 11 (core dumped)
存在しないファイルが最後でなければ落ちません。
$ lv -g PATTERN /etc/profile /etc/ntp.conf /nonexistence /tmp/nonexistence: No such file or directory /nonexistence: No such file or directory
2013-05-27 End of Life
■ FreeBSD ports の Ruby のデフォルトバージョンが 1.9 に
2013年6月以降 Ruby 1.8 系の一切のサポートが打ち切られるということで、FreeBSD ports の Ruby のデフォルトバージョンも 1.9系にアップデートされました。
アップデート方法は ports/UPDATING に書いてある通り portmaster, portupgrade, pkg と、使っているツールに合わせて以下のように。事情があって1.8系に留まりたい場合は /etc/make.conf に "DEFAULT_RUBY_VER=1.8" と書いておけば OK ですが、早めに1.9に移行しましょう。
20130527: AFFECTS: users of lang/ruby18 AUTHOR: swills@FreeBSD.org The default ruby version has been updated from 1.8 to 1.9. You'll need to rebuild all ports that depend on ruby: # portmaster -r lang/ruby19 or # portupgrade -fr lang/ruby19 or # pkg set -o lang/ruby18:lang/ruby19 # pkg install -fR lang/ruby19 If you wish to keep the 1.8 version as default, add the following lines to your /etc/make.conf file: # # Keep ruby 1.8 as default version. # RUBY_DEFAULT_VER=1.8
Ruby 1.8系の EOL まで1週間を切ってからようやく Ruby 1.9系がデフォルトになったので、いまさらという感じがするかもしれませんが、実は2年前の2011年8月にいちど 1.9 がデフォルトになっています。
- [HEADS UP] Ruby 1.9 will become the default Ruby version this weekend
- Ruby 1.9 as default version of Ruby
ところが、1.9で動作しない ports が大量にあるなどトラブルが多く、すぐに revert されてしまいました。それから2年弱、慎重を期して作業が続けられたため、今回のアップデートでは平穏無事に1.8から1.9へ移行できるはずです。
2年前に Ruby 1.9 をデフォルトにするというのは結構がんばってる方だったと思うのですが、トラブルを引き起こしてしまったため、ギリギリまで慎重に作業した結果、この時期になってしまったようです(たぶん)。