2015年9月29日火曜日

portupgradeすると「pkg-static: perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17」となってしまう

FreeBSD 9.1/9.2/10.1でportupgradeすると「pkg-static: perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17」となってしまいました。/etc/ports/UPDATINGにある設定はしているのですが、うまくいきません。

このエラーメッセージで検索すると以下のページが見つかります。
perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17
https://forums.freebsd.org/threads/perl5-5-18-4_17-conflicts-with-perl5-18-5-18-4_17.53293/
はっきりした解決策は提示されていないのですが、なにかをすれば解消できそうな印象です。そこでもういちど
/usr/ports/UPDATING
に書かれている設定を確認します。
# cat /etc/make.conf
DEFAULT_VERSIONS+=perl5=5.18

# pkg set -n perl5.18:perl5
Change name from perl5.16 to perl5 for perl5.18-5.18.x_yy? [y/N]: y

#
次にパッケージデータベースをチェックします
# pkg check -Bdsr -a
...
#
そしてportupgrade -a --batchを実行すると今度はうまくいくようになりました。
パッケージの依存関係が壊れていたのかもしれませんが、はっきりしません。

これでもうまくいかない場合、「pkg set -n perl5.18:perl5」をもう一度実行するとよいかもしれません。これにより、perl5.18に依存しているパッケージについても、perl5パッケージの名前変更が適用されるようです。

もしかすると、/usr/ports/UPDATINGにある記述
DEFAULT_VERSIONS+=    perl5=5.xx
にあわせて、
DEFAULT_VERSIONS+=    perl5=5.18
としてしまっていたのがいけなかったかもしれません。設定を見なおした後は、
DEFAULT_VERSIONS+=perl5=5.18
としています。ただ、対象のFreeBSDは実運用中なので、「試してみる」ことが難しいので、これくらいでお許しください。

2015年9月17日木曜日

Surface Pro3でWindowsボタンを無効にする

Surface Pro3 でWindowsボタンを押すと震えたり、メニューが出たり、スリープから回復してしまったりして不便でした。調べてみると、以下で説明されているsurfaceアプリで無効にできました。
Surface アプリのインストールと使用
Surface Pro 3 または Surface 3 で無料の Surface アプリを使用して、Surface ペンの筆圧感度を調整し、ペンのトップ ボタンを押したときに開く OneNote のバージョンを選択できます。また、Windows ボタンを無効にすることができます。http://www.microsoft.com/surface/ja-jp/support/apps-and-windows-store/surface-app?os=windows-10