ラベル ports の投稿を表示しています。 すべての投稿を表示
ラベル ports の投稿を表示しています。 すべての投稿を表示

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 はすんなり当たっているのがなんともかんとも。

2009年12月1日火曜日

print/cups-base の更新がうまくいかない…

portupgrade -a をちょっとやってみたのですが、 print/cups-base のアップグレード (cups-base-1.3.9_3 から 1.4.2 へ)に失敗してしまいました。


cc -L../cgi-bin -L../cups -L../filter -L../ppdc -L../scheduler -L/usr/local/lib/ -L/usr/local/lib -Wl,-R/usr/local/lib -pie -fPIE -Wall -Wno-format-y2k -fPIC -Os -g -fstack-protector -o cupsd auth.o banners.o cert.o classes.o client.o conf.o dirsvc.o env.o main.o ipp.o listen.o job.o log.o network.o policy.o printers.o process.o quotas.o removefile.o select.o server.o statbuf.o subscriptions.o sysman.o -L. -lcupsmime \
-lz -L/usr/local/lib -lgnutls -lldap -lpam \
-lpaper -L/usr/local/lib -ldbus-1 -lcups -L/usr/local/lib -lgnutls -pthread -lm -lcrypt \

client.o(.text+0x233a): In function `encrypt_client':
/usr/ports/print/cups-base/work/cups-1.4.2/scheduler/client.c:3217: undefined reference to `_httpReadGNUTLS'
client.o(.text+0x234e):/usr/ports/print/cups-base/work/cups-1.4.2/scheduler/client.c:3218: undefined reference to `_httpWriteGNUTLS'
gmake[1]: *** [cupsd] エラー 1
gmake[1]: ディレクトリ `/usr/ports/print/cups-base/work/cups-1.4.2/scheduler' から出ます
gmake: *** [all] エラー 1
*** Error code 1

Stop in /usr/ports/print/cups-base.
*** Error code 1

Stop in /usr/ports/print/cups-base.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20091130-71145-r2vh1l-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=cups-base-1.3.9_3 UPGRADE_PORT_VER=1.3.9_3 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! print/cups-base (cups-base-1.3.9_3) (linker error)


他にも同様の問題が報告されていたり、既にsend-prされている(ports/141014)みたいなので、しばらく動向を見守るなり、対策が思いつく方はcommitしてみて下さい。どうもDBUSへの対応を切るといいみたいなんですが、それはgnomeで使うときに問題にならないんだろうか……?

で、終わっとく予定だったんですが、ついかっとなって調べた。正直おなかが空いている。

引っかかっている原因は、どうも
/usr/ports/print/cups-base/work/cups-1.4.2/cups/http.c
のコンパイルが行われていないせいなのではないか? という気がします。

というのは、上記ソースに _httpReadGNUTLS() が含まれているのですが、
/usr/ports/print/cups-base/ で make して止まったとき、
/usr/ports/print/cups-base/work/cups-1.4.2/cups/lib*
には _httpReadGNUTLS() が含まれていないのです。だからリンク時エラーが出てるんですね。

で、script を使って make 時のログを見てみたんですが、どうも http.c がコンパイルされていないようなんです。(何故?)

エラーで止まった状態で
/usr/ports/print/cups-base/work/cups-1.4.2/cups
まで下がり、 make testhttp を実行した後だと、
# grep _httpReadGNUTLS lib*
Binary file libcups.a matches
で無事 _httpReadGNUTLS() が含まれるようになります。このときのログにはちゃんと、

echo Compiling http.c...
Compiling http.c...
cc -Wall -Wno-format-y2k -fPIC -Os -g -fstack-protector -I.. -D_CUPS_SOURCE -I/
usr/local/include/avahi-compat-libdns_sd/ -I/usr/local/include -I/usr/local/incl
ude/avahi-compat-libdns_sd/ -O2 -fno-strict-aliasing -pipe -DLDAP_DEPRECATED -I
/usr/local/include/dbus-1.0 -I/usr/local/include/dbus-1.0/include -DDBUS_API_S
UBJECT_TO_CHANGE -I/usr/local/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_THREAD_SAFE -D_REENTRANT -c http.c
echo Compiling http-addr.c...
Compiling http-addr.c...
cc -Wall -Wno-format-y2k -fPIC -Os -g -fstack-protector -I.. -D_CUPS_SOURCE -I/
usr/local/include/avahi-compat-libdns_sd/ -I/usr/local/include -I/usr/local/incl
ude/avahi-compat-libdns_sd/ -O2 -fno-strict-aliasing -pipe -DLDAP_DEPRECATED -I
/usr/local/include/dbus-1.0 -I/usr/local/include/dbus-1.0/include -DDBUS_API_S
UBJECT_TO_CHANGE -I/usr/local/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_THREAD_SAFE -D_REENTRANT -c http-addr.c

といったようなログが残っています。ところが、ports で make したときにはこれが無い。

多分Makefileの違いなのだろうと思うんですが……なんでだろう?

追記:とりあえず解決? Makefileのほうで置き換えをしていたようです。こんな感じになおすとmakeが通るようになりました。


# diff -u print/cups-base/Makefile.orig print/cups-base/Makefile
--- print/cups-base/Makefile.orig 2009-12-01 22:53:29.000000000 +0900
+++ print/cups-base/Makefile 2009-12-01 22:56:09.000000000 +0900
@@ -261,7 +261,7 @@
${WRKSRC}/Makefile
.else
@${REINPLACE_CMD} \
- -e 's|cups filter backend|backend|' \
+ -e 's|cups filter backend|cups backend|' \
-e 's|$$.INSTALL_SCRIPT. cups-config|echo skip: cups-config|' \
-e 's|/usr/share|${PREFIX}/share|g' \
-e 's|installhdrs$$||' \


本家にも報告しておいたけど、合ってるのかな……?

2009年5月12日火曜日

Optionsの怪

FreeBSD portsからアプリケーションをインストールしようとして、時折困ることがあります。というのは『make時のオプションの意味がわからない』こと。インストールしようとするアプリケーションの知識が中途半端な時『何故このオプションがあるのだろう?』というのが分からなかったりするのです。

そんな状態でports使ってアプリケーション入れたら危険だろう、とか、いろいろあることは分かっているのですが……

例えばsubversionだとこんな感じ。

│ Options for subversion 1.6.2  │
│ ┌────────────────────────────────┐ │
│ │ [ ] MOD_DAV_SVN mod_dav_svn module for Apache 2.X │ │
│ │ [ ] APACHE2_APR Use APR from Apache 2.X │ │
│ │ [ ] MOD_DONTDOTHAT mod_dontdothat for Apache 2.X │ │
│ │ [X] NEON WebDAV/Delta-V repo access module (neon) │ │
│ │ [ ] SERF WebDAV/Delta-V repo access module (serf) │ │
│ │ [ ] SASL SASL2 authorization support │ │
│ │ [X] BDB db4 repository backend │ │
│ │ [ ] ASVN Build and install Archive SVN (asvn) │ │
│ │ [ ] MAINTAINER_DEBUG Build debug version │ │
│ │ [ ] SVNSERVE_WRAPPER Enable svnserve wrapper │ │
│ │ [ ] STATIC Build static version (no shared libs) │ │
│ │ [X] BOOK Install the Subversion Book │ │

これ"だけ"を見て全部のオプションが何を意図していて、何故必要か分かりますか?

こういうときは、Makefile をきちんと読んで、オプションの有無でmakeがどのような動きをするのかを追いかける、というのが、多分正しい手順なんだろうと思います。が、時々これがきついなあと思うことがあるのです。歳だから?とか言わない。

make configの画面だけ切り出して、wikiみたいなところでオプションの解説してくれるようなサービスとかがあったら面白いのかなあ。どうなのかなあ。portsメンテナさんの仕事が増えるだけでしょうか。

ぱっと見でオプションが多くなる理由は、多分なんですが、
・関連するアプリと連携を取る必要があると増える
・OS固有の環境に合わせようとすると増える
・portsメンテナのサービス精神で増える?
みたいなところがあるのかな、と思っています。このあたり、他のOSではどういうふうに対処してるんでしょう。binary packageになってしまっているから、この辺の問題はあまり見えなくなっちゃってるんでしょうかね。

たまにはこういう雑感を書いてみるのもいいかと思い、メモしてみる次第です。

2009年4月24日金曜日

portupgradeがダメなときは基本に戻ろうという話。

忘れそうになるのでとりあえずメモ。

FreeBSD portsにある rtorrent を portupgrade で更新しようと思ったのですが、net/xmlrpc-c-devel のコンパイルに失敗しているようで……

cc -o xmlrpc xmlrpc.o srcdir/tools/lib/dumpvalue.o /usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/util/casprintf.o /usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/util/cmdline_parser.o /usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/util/getoptx.o /usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/util/stripcaseeq.o /usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/util/string_parser.o -Lblddir/src -Lblddir/lib/libutil -lxmlrpc_client -lxmlrpc -lxmlrpc_util -L/usr/local/lib -lwwwxml -lxmltok -lxmlparse -lwwwzip -lwwwssl -lwwwinit -lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp -lwwwmime -lwwwgopher -lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream -lwwwmux -lwwwtrans -lwwwcore -lwwwutils -lmd5 -lz -L/usr/lib -lssl -lcrypto -L/usr/local/lib -lcurl -rpath=/usr/lib:/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lidn -lssh2 -lssl -lcrypto -lz -L/usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/expat/xmlparse -lxmlrpc_xmlparse -L/usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/lib/expat/xmltok -lxmlrpc_xmltok
/usr/bin/ld: warning: libxmlrpc.so.14, needed by blddir/src/libxmlrpc_client.so, may conflict with libxmlrpc.so.3
blddir/src/libxmlrpc.so: undefined reference to `xmlrpc_XML_GetErrorString'
gmake[2]: *** [xmlrpc] エラー 1
gmake[2]: ディレクトリ `/usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/tools/xmlrpc' から出ます
gmake[1]: *** [xmlrpc/all] エラー 2
gmake[1]: ディレクトリ `/usr/ports/net/xmlrpc-c-devel/work/xmlrpc-c-1.18.00/tools' から出ます
gmake: *** [tools/all] エラー 2

こんな感じで止まります。ちなみに構築環境とMakefileのリビジョンは以下の通り。

# uname -mirs
FreeBSD 7.1-RELEASE-p5 i386 GENERIC
# grep '$FreeBSD:' Makefile
# $FreeBSD: ports/net/xmlrpc-c-devel/Makefile,v 1.38 2009/04/10 18:12:05 chinsan Exp $

ログを見てみると、既に入っている過去バージョンの libxmlrpc.so.3 が衝突している様子。(ldの優先順位が悪いんじゃあ…?) portupgrade は upgrade するときに対象をアンインストールせずに build するようです(?)。

で、ちょっと基本に立ち返ってみたら、あっさり解決しました。

# cd net/xmlrpc-c-devel
# make deinstall
(ここで依存しているパッケージの一覧が警告として出ます。)
# make
(今度はエラーなくbuild出来たようです)
# make install

その後、改めて portupgrade -rf rtorrent を実行すると、今度はうまくいきました。

buildするときに過去のパッケージがあると不都合が起きる、というのは意外だったのですが、こういうものなのでしょうか。ちょっと原因がはっきりしないので、エラーとして報告するのもどうかと思い、とりあえず書いておく次第です。

2008年5月15日木曜日

パッケージなど検索ページとりまとめ

FreeBSD ports

公式 ports検索ページ
http://www.freebsd.org/ports/
freshports
http://www.freshports.org/search.php

Debian

Debian パッケージ
http://www.debian.org/distrib/packages
Unofficial APT repositories
http://www1.apt-get.org/search.php

Ubuntu

Ubuntu packages
http://packages.ubuntu.com/

だいたい公式で事足りてしまうので、まとめというほどもなく。キーワードを1つ入れれば上のサイトを横断的に検索できるようにする方法はないものか……

2008年4月22日火曜日

gnome2、いつ、どれを入れたらいいのやら

普段はfvwmがあれば生きていける暮らしを営んでいるわけですが、今回は珍しくgnome2など入れてみようと思い立ちました。しかしmeta-portが結構あるのでまいってしまったわけで。さすがデスクトップ環境。ウィンドウマネジャーだけじゃ収まらない世界ですねえ。

x11/gnome2x11/gnome2-liteはどれくらい違うか? 分からないときはとりあえずdiffとって眺めてみると……


% diff -u x11/gnome2-lite/Makefile x11/gnome2/Makefile
--- x11/gnome2-lite/Makefile 2007-10-25 08:36:58.000000000 +0900
+++ x11/gnome2/Makefile 2008-04-12 19:08:57.000000000 +0900
@@ -1,43 +1,112 @@
-# New ports collection makefile for: gnome2-lite
-# Date created: 30 November 2003
+# New ports collection makefile for: gnome2
+# Date created: 21 May 2002
(中略)
-RUN_DEPENDS= ${LOCALBASE}/libexec/gweather-applet-2:${PORTSDIR}/x11/gnome-applets \
+RUN_DEPENDS?= ${LOCALBASE}/libexec/gweather-applet-2:${PORTSDIR}/x11/gnome-applets \
gnome-cd:${PORTSDIR}/audio/gnome-media \
gnome-dictionary:${PORTSDIR}/deskutils/gnome-utils \
eog:${PORTSDIR}/graphics/eog \
+ gconf-editor:${PORTSDIR}/sysutils/gconf-editor \
+ gnect:${PORTSDIR}/games/gnome-games \
gedit:${PORTSDIR}/editors/gedit \
gnome-terminal:${PORTSDIR}/x11/gnome-terminal \
gnome-session:${PORTSDIR}/x11/gnome-session \
+ bug-buddy:${PORTSDIR}/devel/bug-buddy \
gnome-system-monitor:${PORTSDIR}/sysutils/gnome-system-monitor \
nautilus:${PORTSDIR}/x11-fm/nautilus \
+ ${LOCALBASE}/sbin/gdm:${PORTSDIR}/x11/gdm \
${LOCALBASE}/share/gnome/help/user-guide/C/user-guide.xml:${PORTSDIR}/misc/gnome-user-docs \
${LOCALBASE}/share/sounds/question.wav:${PORTSDIR}/audio/gnome-audio \
+ ${LOCALBASE}/libdata/pkgconfig/libgail-gnome.pc:${PORTSDIR}/x11-toolkits/libgail-gnome \
file-roller:${PORTSDIR}/archivers/file-roller \
${LOCALBASE}/share/themes/HighContrast/gtk-2.0/gtkrc:${PORTSDIR}/x11-themes/gnome-themes \
- evince:${PORTSDIR}/graphics/evince \
+ gok:${PORTSDIR}/accessibility/gok \
+ nautilus-cd-burner:${PORTSDIR}/sysutils/nautilus-cd-burner \
gcalctool:${PORTSDIR}/math/gcalctool \
gucharmap:${PORTSDIR}/deskutils/gucharmap \
+ zenity:${PORTSDIR}/x11/zenity \
${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf:${PORTSDIR}/x11-fonts/bitstream-vera \
- gconf-editor:${PORTSDIR}/sysutils/gconf-editor \
+ ${LOCALBASE}/libexec/gnome-netstatus-applet:${PORTSDIR}/net/gnome-netstatus \
+ dasher:${PORTSDIR}/accessibility/dasher \
+ evolution:${PORTSDIR}/mail/evolution \
+ ${LOCALBASE}/libexec/evolution-webcal:${PORTSDIR}/www/evolution-webcal \
+ network-admin:${PORTSDIR}/sysutils/gnome-system-tools \
+ gnome-nettool:${PORTSDIR}/net/gnome-nettool \
+ vino-session:${PORTSDIR}/net/vino \
+ exchange-connector-setup-2.22:${PORTSDIR}/mail/evolution-exchange \
+ ${LOCALBASE}/lib/gstreamer-0.10/.gstreamer-plugins-core.keep:${PORTSDIR}/multimedia/gstreamer-plugins-core \
+ ${LOCALBASE}/lib/gstreamer-0.10/libgstgconfelements.so:${PORTSDIR}/devel/gstreamer-plugins-gconf \
+ totem:${PORTSDIR}/multimedia/totem \
gnome-control-center:${PORTSDIR}/sysutils/gnome-control-center \
- gnome-mount:${PORTSDIR}/sysutils/gnome-mount \
- totem:${PORTSDIR}/multimedia/totem
-
-MASTERDIR= ${.CURDIR}/../gnome2
-CONFLICTS= gnome2-[0-9]*
-
-DESCR= ${.CURDIR}/pkg-descr
-PKGMESSAGE= ${.CURDIR}/pkg-message
+ ${LOCALBASE}/share/gnome-background-properties/gnome-branded.xml:${PORTSDIR}/x11-themes/gnome-backgrounds \
+ sound-juicer:${PORTSDIR}/audio/sound-juicer \
+ ${LOCALBASE}/libdata/pkgconfig/libgtkhtml-2.0.pc:${PORTSDIR}/www/libgtkhtml \
+ evince:${PORTSDIR}/graphics/evince \
+ ${LOCALBASE}/libexec/fast-user-switch-applet:${PORTSDIR}/x11/fast-user-switch-applet \
+ ${LOCALBASE}/lib/deskbar-applet/deskbar-applet:${PORTSDIR}/deskutils/deskbar-applet \
+ alacarte:${PORTSDIR}/deskutils/alacarte \
+ gnome-power-manager:${PORTSDIR}/sysutils/gnome-power-manager \
+ ${LOCALBASE}/libexec/gnome-volume-manager:${PORTSDIR}/sysutils/gnome-volume-manager \
+ orca:${PORTSDIR}/accessibility/orca \
+ gnome-mount:${PORTSDIR}/sysutils/gnome-mount \
+ ${LOCALBASE}/libexec/notification-daemon:${PORTSDIR}/deskutils/notification-daemon \
+ seahorse:${PORTSDIR}/security/seahorse \
+ swfdec-player:${PORTSDIR}/multimedia/swfdec-gnome \
+ mousetweaks:${PORTSDIR}/accessibility/mousetweaks \
+ vinagre:${PORTSDIR}/net/vinagre \
+ cheese:${PORTSDIR}/multimedia/cheese \
+ ${LOCALBASE}/share/hal/fdi/information/10freedesktop/10-camera-ptp.fdi:${PORTSDIR}/sysutils/hal-info
(中略)
+.if !defined(GNOME_SLAVE)
+.if (${ARCH}!="sparc64" ${OSVERSION} >= 601101) && ${ARCH}!="ia64"
+RUN_DEPENDS+= yelp:${PORTSDIR}/x11/yelp \
+ epiphany:${PORTSDIR}/www/epiphany
+.endif
+.if ${.CURDIR:T}!="gnome2-lite"
+.if ${ARCH} == "i386"
+RUN_DEPENDS+= tomboy:${PORTSDIR}/deskutils/tomboy
+.endif
+.if ${OSVERSION}>=600000
+RUN_DEPENDS+= ekiga:${PORTSDIR}/net/ekiga
+.endif
+.endif
+.endif

これはなんだろう、gnome2のほうが、マシンを面前にしてgdmからログインし、デスクトップ環境として使う場合で、gnome2-liteはコンソールログインしてstartxするとか、vncあたりから使う、ウィンドウマネージャーという位置づけでしょうかね。gstreamer、電源関係、CDバーナーなどが無いあたりからの想像です。きっと探せばports作ってる人の主張がどこかにあるのでしょう。


他にもいくつかのツールが別のメタポートに纏められている様子。

http://www.freebsd.org/gnome/docs/faq2.html#q4  より引用

* The GNOME Fifth Toe (x11/gnome2-fifth-toe) consists of stable GNOME applications that many users expect to find in a functional desktop environment. This includes image manipulation applications, chat and instant messenger applications, and music and multimedia players

* The GNOME Hacker Tools (devel/gnome2-hacker-tools) consists of applications developers would need to create and maintain GNOME software projects. This includes IDEs, interface builders, "hacker" editors, and code generation tools.

* The GNOME Office (editors/gnome2-office) consists of applications that are commonly found in office or productivity suites. This includes a spreadsheet application, word processor, project management application, database access application, groupware suite, and diagramming application.


* The GNOME Power Tools (x11/gnome2-power-tools) consists of utilities and applets for the technically-minded GNOME user. It also contains many useful add-on utilities for some of the applications found in the Desktop and Fifth Toe.

どれで何が入るかはMakefileをのぞいていただくとして。このようにいろいろなアプリがあるようなのですが、とりあえず今回はベタにliteを……

と思ってよく見たらx11/gnome2は2.22.1なのに x11/gnome2-lite は 2.20.1 のままだった……念のため、しばらく延期ということにします。orz

2008年2月2日土曜日

募集: x11/nvidia-driver update patch (169.07) を作ってみた。

とりあえず寝ても覚めてもstartx→フリーズ、に変化がないので、
これはきっとドライバが悪いんだそうに違いない、
などと勝手に思いこんだ挙げ句 ports を更新してみました。
http://www1.odn.ne.jp/taraijpn/x11_nvidia-driver_20080202.diff.txt
http://www1.odn.ne.jp/taraijpn/x11_nvidia-driver-100xx_20080202.diff.txt
100xx のほうも残してあります。が、あまり意味はないような…
(100xx→169xxになってサポートされなくなるボードは1枚だけ。(おそらく96xxがカバーしている))


# cd /usr/ports
# patch -p < x11_nvidia-driver_20080202.diff.txt
# patch -p < x11_nvidia-driver-100xx_20080202.diff.txt


ただし、オフィシャルとしては FreeBSD 7.0-CURRENTには対応していない、
ということになっているそうなので、Makefileでバージョンチェックを行っています。
それとおぼしき部分をコメントアウトしていただきますと、
FreeBSD 7.0-RC1(PRERELEASE)以降 (__FreeBSD_version >= 700055) で
コンパイル出来るようになります。人柱絶賛募集中。
但しkernelがcoreすら吐かないという大変危険なフリーズの仕方をしますので、OS再インストール上等、ハードウェアに損害が出ても構わない、くらいの環境でお試し下さい。
(http://www.freebsd.org/where.html#helptestから 7.0-RC1のdisc1あたりをもってきておくと早いかも?)

参考:NVIDIA FreeBSD nv news forum
全く同じ症状の人(ボードまで同じだ!)を発見してしまいましたよ。これかーこれなのかー??

2008年2月1日金曜日

nvidia-xconfigを入れてみる。

x11/xorg の make installが終わったので、とりあえず /etc/X11/ とか /usr/local/etc/X11/ を見てみたものの、.confファイルは無し。グラフィックボードのドライバを入れてから考えることにします。GeForce 8500GTなので
x11/nvidia-driver を入れてみました。100.14.19相当のようです。Version 169.07が出ている のですが、Update requestがsend-prされているのでそのうち新しくなるでしょう。

% cat /boot/loader.conf
nvidia_load="YES"
% kldstat
Id Refs Address Size Name
1 10 0xc0400000 93ba74 kernel
2 1 0xc0d3c000 693b3c nvidia.ko
3 2 0xc13d0000 27828 linux.ko
4 1 0xc13f8000 671f4 acpi.ko



ところが、なぜか同梱されているはずの nvidia-xconfig や nvidia-settings が入ってきません。work を見ると…


# pwd
/usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-100.14.19/obj
# ls
libGL.so.1 libXvMCNVIDIA.so.1 libnvidia-tls.so.1 nvidia-bug-report.sh nvidia_drv.so
libGLcore.so.1 libglx.so.1 libnvidia-wfb.so.1 nvidia-settings
libXvMCNVIDIA.a libnvidia-cfg.so.1 linux nvidia-xconfig
# ldd nvidia-xconfig
nvidia-xconfig:
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2809e000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x280b9000)
# ldd nvidia-settings
nvidia-settings:
libgtk-x11-2.0.so.400 => not found (0x0)
libgdk-x11-2.0.so.400 => not found (0x0)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x28115000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x2811b000)
libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x28123000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x28126000)
libatk-1.0.so.600 => not found (0x0)
libgdk_pixbuf-2.0.so.400 => not found (0x0)
libm.so.3 => /usr/local/lib/compat/libm.so.3 (0x2812f000)
libpangoxft-1.0.so.399 => not found (0x0)
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x2814a000)
libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2815b000)
libz.so.2 => /usr/local/lib/compat/libz.so.2 (0x281c7000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x281d7000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x281df000)
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x281ec000)
libpangox-1.0.so.399 => not found (0x0)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x28215000)
libpango-1.0.so.399 => not found (0x0)
libgobject-2.0.so.400 => not found (0x0)
libgmodule-2.0.so.400 => not found (0x0)
libglib-2.0.so.400 => not found (0x0)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x282fd000)
libc.so.5 => /usr/local/lib/compat/libc.so.5 (0x283f3000)
libc.so.7 => /lib/libc.so.7 (0x284cd000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x285c4000)
libz.so.4 => /lib/libz.so.4 (0x285d2000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x285e4000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x285e7000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x28606000)
librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 (0x2860b000)

… compat なものとか not foundっぽいものがある… ドキュメントを読むと FreeBSD 5.3相当の環境でコンパイルしたものが入っているようです。nvidia-xconfigはそのまま使えそうですが、せっかくなので x11/nvidia-xconfig を使ってみましょう。nvidia-settingsはなんだかドツボっぽそうなので回避。


# make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size unknown
fetch: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size of remote file is not known
nvidia-xconfig-1.0.tar.gz 107 kB 77 kBps
===> Extracting for nvidia-xconfig-1.0_2
=> MD5 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
=> SHA256 Checksum mismatch for nvidia-xconfig-1.0.tar.gz.
===> Refetch for 1 more times files: nvidia-xconfig-1.0.tar.gz nvidia-xconfig-1.0.tar.gz
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://jp.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
=> Attempting to fetch from http://us.download.nvidia.com/XFree86/nvidia-xconfig/.
fetch: http://us.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-1.0.tar.gz: size mismatch: expected 110356, actual 110373
■(中略)
=> Attempting to fetch from ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/.
fetch: ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/bland/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/nvidia-xconfig-1.0.tar.gz: Unknown error: 0
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.
*** Error code 1

Stop in /usr/ports/x11/nvidia-xconfig.


えー。
どうも 配布されているファイルと distinfo の情報にずれがあるようです。
(httpなら持ってくる前にチェックできるけどftpは持ってきてからチェックするんですね)

とりあえず distinfo を消し、distfiles にある nvidia-xconfig-1.0.tar.gz を念のため消してから再トライ。


# mv distinfo distinfo.old
# /usr/ports/distfiles/nvidia-xconfig-1.0.tar.gz
make
===> Vulnerability check disabled, database not found
=> nvidia-xconfig-1.0.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://jp.download.nvidia.com/XFree86/nvidia-xconfig/.
nvidia-xconfig-1.0.tar.gz 100% of 107 kB 18 MBps
===> Extracting for nvidia-xconfig-1.0_2
=> No checksum file (/usr/ports/x11/nvidia-xconfig/distinfo).
===> Patching for nvidia-xconfig-1.0_2
===> Applying FreeBSD patches for nvidia-xconfig-1.0_2
===> nvidia-xconfig-1.0_2 depends on executable: gmake - found
===> Configuring for nvidia-xconfig-1.0_2
===> Building for nvidia-xconfig-1.0_2
cc -c -O2 -pipe -march=prescott -I XF86Config-parser util.c -o util.o
■(中略)
cc -O2 -pipe -march=prescott -I XF86Config-parser gen-manpage-opts.o -lm -o gen-manpage-opts
./gen-manpage-opts > options.1.inc
m4 -D__HEADER__=".\\\" WARNING: THIS FILE IS AUTO-GENERATED! Edit nvidia-xconfig.1.m4 instead." nvidia-xconfig.1.m4 > nvidia-xconfig.1
#

オリジナルファイルもちゃんとマスターサイト(と思わしきところ)から持ってきているようなので、これでよしとしましょう。
インストールして実行。


basil# nvidia-xconfig

WARNING: Unable to locate/open X configuration file.

ps: Process environment requires procfs(5)
New X configuration file written to '/etc/X11/xorg.conf'



何故procfsが要求されるのか…なにか見たいのか?
まあいいや。とりあえずユーザに戻してstartxしてみましょう。


% startx


真っ暗。

あれ?

数分経過。

戻ってこない…何故…?
別PCから接続していたsshのコネクションも Operation timed out。
電源ボタンを押してみても無反応…
泣く泣く強制シャットダウン→再起動→絶賛fsck_ufs中

なーーーーーぜーーーーーだーーーーー??
(続く。)

2008年1月11日金曜日

募集:ja-plain2がbrokenだったけどなおしてみた。

こんな感じで一応解決?




--- src/macro.h.org 2008-01-11 01:36:11.000000000 +0900
+++ src/macro.h 2008-01-11 01:33:10.000000000 +0900
@@ -2,6 +2,8 @@
* Copyright (C) 1992,1993 NEC Corporation.
* $Id: macro.h,v 2.6 1994/04/19 10:16:49 uchida Exp $ (NEC)
*/
+#define MAX_MACRO_LEN 320
+
#define MACRO_MAXARG 10

#define M_DOC_BEGIN 0
@@ -74,5 +76,5 @@

struct macDefs {
int mdef_number;
- char *mdef_def;
+ char mdef_def[MAX_MACRO_LEN];
};



これでとりあえずTeX, HTMLへの変換動作はうまくいってます。
本当ならヘッダ部の怪しいところ全部、ちゃんと配列に置き換えるべきなのかもしれません。



http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.tar.gz



portsにしたのでとりあえず、動作確認してくれる人を募集します。
FreeBSD関係ない部分とそうでない部分に分ければLinuxのパッケージにも入れられるかな。
分けてくれる人も大募集。

2008年1月8日火曜日

ja-mhがbrokenなんですけど・・・・・・

/usr/ports/japanese/mh がFreeBSD 7.0でBROKENになっていたので手を入れてみました。

http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.tar.gz

昨年末勢いで作って2chのFreeBSD関係スレッドに投げたんですがリアクションが無く orz
ちゃんと動いたらsend-prしますんで誰か試してみて下さいな。

ファイル置く場所がidiskてのはどうなのか……と思ってODNに切り替え。