2011年4月28日木曜日

ports の net/samba35 が微妙に古い

FreeBSD ports に入っている samba 3.5系 (net/samba35) がどういう訳か 3.5.6 のままなのですね。
samba 3.5系の最新版は現在 3.5.8 なわけで。これはよろしくない、ってんで検証を一切していないまま、無理矢理最新版をコンパイルするような patch を作ってみました。
diff -urN net/samba35.orig/Makefile net/samba35/Makefile
--- net/samba35.orig/Makefile 2011-04-11 22:22:12.708685727 +0900
+++ net/samba35/Makefile 2011-04-26 19:28:16.125102303 +0900
@@ -6,8 +6,8 @@
#

PORTNAME= ${SAMBA_BASENAME}35
-PORTVERSION= 3.5.6
-PORTREVISION?= 2
+PORTVERSION= 3.5.8
+PORTREVISION?= 1
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= . old-versions rc pre
@@ -18,8 +18,8 @@

CONFLICTS?= *samba3[0-4]-3.* sharity-light-1.*
# Additional patches from Sernet.de
-PATCH_STRIP= -p1
-EXTRA_PATCHES= ${PATCHDIR}/sernet.patch
+#PATCH_STRIP= -p1
+#EXTRA_PATCHES= ${PATCHDIR}/sernet.patch

LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/${DISTNAME}/COPYING
diff -urN net/samba35.orig/distinfo net/samba35/distinfo
--- net/samba35.orig/distinfo 2011-01-13 14:55:07.821352212 +0900
+++ net/samba35/distinfo 2011-04-26 16:52:06.184280759 +0900
@@ -1,2 +1,2 @@
-SHA256 (samba-3.5.6.tar.gz) = 466410868375d19a286ac3fc5d9f3c267ce359189f8e0d76e72ec10bd54247da
-SIZE (samba-3.5.6.tar.gz) = 30803319
+SHA256 (samba-3.5.8.tar.gz) = 331e3f2806edcad853b48f4b1e653367ad9a6ce1ab5ed486c03a6bf614882796
+SIZE (samba-3.5.8.tar.gz) = 30721269
お察しの通り、ほぼ distinfo を更新しただけです。EXTRA PATCHES はバグフィクスされたかどうか分からないので一旦保留にしてあります。
手元でコンパイルしてみると、出るわ出るわwarning...

% uname -mrs
FreeBSD 8.2-RC3 amd64
% grep warning samba358log.txt
configure.in:1402: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3353: warning: AC_CACHE_VAL(smb_ldap_cv_ldap_set_rebind_proc, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3734: warning: AC_CACHE_VAL(smb_krb5_cv_ticket_has_keyinfo, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3758: warning: AC_CACHE_VAL(smb_krb5_cv_creds_opt_free_context, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3778: warning: AC_CACHE_VAL(smb_krb5_cv_verify_checksum, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4120: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_krb5_context_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4141: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_size_t_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:5597: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
samba4.m4:6: warning: file `../m4/check_python.m4' included several times
../lib/util/xattr.m4:9: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
samba4.m4:83: warning: file `../lib/tdb/libtdb.m4' included several times
../lib/tevent/samba.m4:3: warning: file `../lib/tevent/libtevent.m4' included several times
configure.in:1402: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3353: warning: AC_CACHE_VAL(smb_ldap_cv_ldap_set_rebind_proc, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3734: warning: AC_CACHE_VAL(smb_krb5_cv_ticket_has_keyinfo, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3758: warning: AC_CACHE_VAL(smb_krb5_cv_creds_opt_free_context, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:3778: warning: AC_CACHE_VAL(smb_krb5_cv_verify_checksum, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4120: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_krb5_context_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:4141: warning: AC_CACHE_VAL(smb_krb5_cv_enctype_to_string_takes_size_t_arg, ...): suspicious cache-id, must contain _cv_ to be cached
configure.in:5597: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
samba4.m4:6: warning: file `../m4/check_python.m4' included several times
../lib/util/xattr.m4:9: warning: AC_CACHE_VAL(smb_attr_cv_xattr_add_opt, ...): suspicious cache-id, must contain _cv_ to be cached
samba4.m4:83: warning: file `../lib/tdb/libtdb.m4' included several times
../lib/tevent/samba.m4:3: warning: file `../lib/tevent/libtevent.m4' included several times
modules/vfs_zfsacl.c:285: warning: initialization from incompatible pointer type
modules/vfs_zfsacl.c:287: warning: initialization from incompatible pointer type

追いかけはじめるとハマりそうなので、ログを出しておくだけでそっとしておこうかと思います……
むしろ、files/ の下にある大量のpatch はすんなり当たっているのがなんともかんとも。

2011年2月13日日曜日

Debian/kFreeBSDのメモ

先日 Debian/kFreeBSD が正式リリースされましたね。まだ試せてないんですが、ちょっと読んだりしてるところをメモしておこうと思います。

http://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ
FAQですね。翻訳は無いです。FAQの中で面白いなあと思ったのはこれ。
Q. What version of kFreeBSD is supported?
A. The squeeze release is based on the 8.1 kernel, see for details.
If you are interested, you can take a look at the patches Debian applied to the kernel.
http://svn.debian.org/wsvn/glibc-bsd/trunk/kfreebsd-8/debian/patches/999_config.diff
 あれ、NIC の fxp とか bce は無いの?とか、

http://svn.debian.org/wsvn/glibc-bsd/trunk/kfreebsd-8/debian/patches/903_disable_non-free_drivers.diff
 なるほど、Highpoint RocketRAID ( hptrr, hptmv ) とか NVIDIA nForce MCP Networking Adapter ( nve ) はnon-freeなのか。知らなかった…とか。

ちゃんとインストールした後にどうなってるか見ておきたいですね。

2011年2月2日水曜日

FreeBSD 8.2-RC3に更新した(実機編)

使用中のPC(core i7-860/ P55 chipset)を8.0-RELEASE-p4(amd64)から 8.0-RELEASE-p6に更新したところ、

kernel: interrupt storm detected on "irq19:"; throttling interrupt source

を頻発するようになったのが、今回8.2-RC3に更新しようと思ったきっかけです。
vmstat -i で見たところ、原因は

interrupt total rate
irq19: atapci0+++ 29162 7

上記の例は8.2-RC3の場合なのですが、8.0-RELEASE-p6のときは、ここの割り込み数がトータルで10桁以上になっており、rateも7桁以上の数字になっていました。(うろ覚え)

調べた結果、Intel 5系のチップセットに対応するのは 8.2-RELEASEからのようで。じゃあ今まで何故平気だったのかというと、どういう訳かICH8として認識してたようです。

8.0-RELEASE-p4 までは ICH8 として認識していたのですが、8.0-RELEASE-p6 にした時点でatapciの認識がSATAじゃないコントローラとして認識したようで、そこで扱いが狂ってinterrupt stormが起こっていると判断した、のかな?(8.0-RELEASE-p6にした後、interrupt stormが頻発するので BIOSで AHCI を切ったかも知れません。)

データ領域にzfsを使っているのですが、8.0から8.2に上がるとzfsのバージョンが上がるため、作業として問題ないのかどうか確かめたのが、先日書いたブログの内容でした。

実機での移行は問題なく終了しました。先日書いたブログでは、8.2-RC3更新後に py-zfs を入れる、と書きましたが、更新し忘れたまま zfs upgrade しても問題なく動いていました。何だったんだろう…