最新 追記

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2013-06-16 tDiary 3.2.2 にアップデート

tDiary 3.2.2 にアップデート

tDiary を 3.2.2 にアップデート& Ruby 2.0 で動かすように変更してみた。

Generated by tDiary version 3.2.2
Powered by Ruby version 2.0.0-p195

lang/ruby20 をインストールして index.rb と update.rb の Shebang行を

#!/usr/bin/env ruby

こう書き換えるだけで OK だった。

#!/usr/bin/env ruby20
本日のツッコミ(全1件) [ツッコミを入れる]

Σ meta [Ajaxでコメントできるプラグインを有効にしてみたのでテスト。]


2013-06-13 Twitter API v1.0 廃止

Twitter API v1.0 廃止に伴う対応 (FreeBSD ports 編)

ご存知の通り、2013年6月11日 Twitter API v1.0 が廃止されました。時差とかあるかもしれないけど細かいことは(゚ε゚)キニシナイ!! 普段自分が FreeBSD 上で使っている Twitter クライアントもこの影響を受けて、読めるけど書けないとか、検索ができないという症状が発生したので対応しました。

まずは mikutter2013年の初めに既に API 1.1 に対応していたみたいですが、FreeBSD ports に入っているバージョンは長らく 0.2.0.1089 だったので API 1.0 の廃止とともにツイートできなくなっていました。ということで、作業時点で最新の 0.2.2.1264 にアップデートするパッチを書きました。

この PR を上げた当初の理由は、API 1.0 の廃止とは関係なく、Twitter の仕様変更で最初の OAuth に辿り着かずに落ちてしまうというものだったんですが、どっちにしろ最新版にアップデートするのが解決策なのでアップデートしました。

ついでに、Ruby 1.8 ユーザのために残されていた Ruby 1.8 対応の最後のバージョンの mikutter 0.0.3.615 も、API 1.0 の廃止で今後は使えなくなったので、もう DEPRECATED にしていいんじゃないかなーというのも上げました。

次に earthquake。作者の人がリリースするのを忘れてたらしいです。API 1.1 が廃止されてからまもなくリリースされたので、ports の rubygem-earthquake もアップデート。

Gem の依存関係が変わっていて、twitter_oauth の代わりに fork した jugyo-twitter_oauth というのを使うようになったみたいなので、そちらを新しい port として申請してから earthquake をアップデート。

とりあえず今回作業したのは以上です。

あと把握している範囲で残っているのは net-im/rubygem-termtter。 termtter は FreeBSD のデフォルトの Ruby のバージョンが1.8から1.9に上がった際 Ruby 1.8 でしか動かない port の大掃除が行われて、 Ruby 1.9 でも動くはずの termtter がなぜか BROKEN 扱いされて、危うく消されるところだったのを救出してあげたという経緯があるので今回も助けてあげなければ。

本日のツッコミ(全1件) [ツッコミを入れる]

Σ meta [earthquake.gem 周りの PR はコミットされました。 http://svnweb.freebsd.or..]


2013-05-28 backport

net/tigervnc を xorg-server-1.12.4 に対応させました

FreeBSD の ports tree に収録されている X11 関連の ports に大規模なアップデートがありました。

アップデート内容はリンク先に書いてあるので詳しくは言及しませんが、X サーバが 1.10.6 から 1.12.4 にアップデートされたことでTigerVNC がビルドできなくなっていたため対応しました。

現在 Ports Collection に収録されている TigerVNC のバージョンは1.2.0で、2012年3月にリリースされたものです。TigerVNC 自体は2012年8月に xserver 1.12.4 に既に対応しているので、2012年3月から8月までの間の変更をバックポートして net/tigervnc が再びビルドできるようになりました。

PRはこっち。Category と Class をミスったまま送信してしまった…。コミットされるまでしばらくお待ちください。

本日のツッコミ(全1件) [ツッコミを入れる]

Σ meta [コミットされましたー。 http://svnweb.freebsd.org/changeset/ports/3193..]


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 がデフォルトになっています。

ところが、1.9で動作しない ports が大量にあるなどトラブルが多く、すぐに revert されてしまいました。それから2年弱、慎重を期して作業が続けられたため、今回のアップデートでは平穏無事に1.8から1.9へ移行できるはずです。

2年前に Ruby 1.9 をデフォルトにするというのは結構がんばってる方だったと思うのですが、トラブルを引き起こしてしまったため、ギリギリまで慎重に作業した結果、この時期になってしまったようです(たぶん)。


2013-05-23 税金

平成22年度燃費基準達成車だけどグリーン化税制で 10% の重課自動車税を払った

自動車税を払いました。Yahoo! 公金支払いからクレジットカードで払ったという話にしようと思ったら、ともちゃとネタが被ったので重課自動車税を払った話にします。

一応ネットで払った手続き完了画面の画像も貼っときます。決済手数料が315円で、クレジットカードのポイントが1%、納付額+手数料が38123円で微妙に得してます。

koukin.png

で、この37950円という金額、排気量1.5L以下の34500円の10%増し(100円未満切り捨て)です。初年度登録から17年経過しているとはいえ燃費は平成22年度、3年前のレベルなのに(´・ω・`) 排気ガスは昭和53年、35年前のレベルだけど。

毎日通勤で峠越えしてて15km/Lくらいって結構いい線行ってると思うんだけどなぁ(´・ω・`)

nenpikijun.png

ついでに第1種原動機付き自転車として登録した電動自転車の納付書も届いていたのでこ税金も払ってきました。1000円。


2013-05-14 TigerVNC

net/tigervnc に欠けていた x11/xkeyboard-config への依存関係を追加

net/tigervnc を少し修正しました。欠けていたランタイムの依存関係を追加したのが主な変更です。

  • x11/xkeyboard-config, x11/xkbcomp への依存関係を追加
  • xorg-macros を BUILD_DEPENDS から USE_XORG へ移動
  • vncviewer といっしょにデスクトップエントリファイルをインストールするように変更
  • ライセンス情報を追加
  • 不要なオプションを CONFIGURE_ARGS から除去

以下のように出力されて、Xvnc が起動しませんでした。Xvnc の実行に必要な x11/xkeyboard-config への依存関係が欠けていたためです。

FreeBSD に TigerVNC だけでなく x11/xorg をインストールしている環境であれば x11/xkeyboard-config が既にインストールされているため、問題なく動作していたはずです。xorg をインストールせずに net/tigervnc だけで運用しようとしている環境では全く使い物にならない状況になっていました…。もし引っかかっていた人がいたらすみません。

$ Xvnc :10 (オプション省略)
Xvnc TigerVNC 1.2.0 - built May  9 2013 17:35:57
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 11006000, The X.Org Foundation


Tue May 14 04:07:47 2013
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on all interface(s), port 5910
 vncext:      created VNC server for screen 0
(EE) XKB: Couldn't open rules file /usr/local/share/X11/xkb/rules/base
(EE) XKB: Failed to load keymap. Loading default keymap instead.
(EE) XKB: Couldn't open rules file /usr/local/share/X11/xkb/rules/base
XKB: Failed to compile keymap
Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.

Fatal server error:
Failed to activate core devices.
本日のツッコミ(全2件) [ツッコミを入れる]

Σ Matthewfex [[b][/b] ]

Σ Fluxal [ I'm impressed, I have to admit. Rarely do I come across ..]


2013-05-09 gptzfsboot

ZFS にインストールした FreeBSD 起動時に unsupported ZFS version 5000 (should be 28) といわれる

なんかタイトルのようなことを言われるようになった。一応正常に起動はできる。

これも公式のフォーラムで解決策を見つけた。bootcode をアップデートすればいいらしい。

kernel も world も 9-STABLE にアップデート後、bootcode のインストール前に一応パーティション構成を確認しておく。

$ gpart show
=>        34  3907029101  ada0  GPT  (1.8T)
          34           6        - free -  (3.0k)
          40         128     1  freebsd-boot  (64k)
         168    16777216     2  freebsd-swap  (8.0G)
    16777384  3890251744     3  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5k)

/boot に新しい bootcode があることを確認、インストール先が ada0p1 なので以下のように。

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

これでリブートしたら出なくなった!

UNIXにおけるパスの先頭から2つ以上連続するスラッシュの取り扱い

こういうツイートがきっかけでちょっと確かめてみました。

bash で / からスラッシュをひとつずつ増やして cd してみたときの結果です。

$ cd / && pwd
/
$ cd // && pwd
//
$ cd /// && pwd
/
$ cd //// && pwd
/

スラッシュが2つのときだけ // になってる。tcsh や zsh ではこうならずに、すべて / になります。

bash のソースコードを見てみると bash-4.2/lib/sh/pathphys.c にこんなコメントがありました。

 /* POSIX.2 says to leave a leading `//' alone.  On cygwin, we skip over any
    leading `x:' (dos drive name). */

先頭のスラッシュ2つ '//' はそのままにしろと POSIX で規定されているらしいです。

このあたりの POSIX のドキュメント探してみると 4.11 Pathname Resolution あたりが該当しそう。そして、それらしい文章がありました。

A pathname that begins with two successive slashes may be interpreted in an implementation-defined manner, although more than two leading slashes shall be treated as a single slash.
連続する2つのスラッシュで始まるパス名は実装が決めたやり方で解釈してよい(MAY)が、先頭から2つより多くのスラッシュが連続する場合は、1つのスラッシュとして扱うこと(SHALL)。

とのことです。また 3.266 Pathname のパス名の定義にはこう書かれていました。

Multiple successive slashes are considered to be the same as one slash.
複数の連続するスラッシュはひとつのスラッシュと同じとみなす。

こっちは先頭から連続するとは限らない場合です。

というわけでざっと POSIX の文章を参照した結果、探し方が足りないのかもしれませんが bash のコメントに書いてある「先頭から2つだけ連続するスラッシュをそのままにする」という根拠は見つけられませんでした。

  1. 2つ以上連続するスラッシュの意味は / と同じ
  2. 3つ以上連続するスラッシュは1つのスラッシュとして扱う
  3. 先頭から2つだけ連続するスラッシュの扱いは実装依存(ただし意味は / と同じ)
  4. 少なくとも bash は先頭から2つだけ連続するスラッシュをそのままにする
本日のツッコミ(全1件) [ツッコミを入れる]

Σ ぽこ [Windows でネットワーク越しにファイル共有する時 UNC (Universal Naming Conventi..]