久しぶりに時間がとれたので、えいやっとFreeBSDなサーバーのportsを一気にupgradeしたらトラブル大発生。
一つはXFree86関連で、一連のPortsのうち、XFree86-Serverだけがpatch不良でmakeが通らない。
x11-server/XFree86-4-Server 4.5.0,2が、おそらくXFree86のソースパッケージが同じファイル名のままで更新されてしまったので、パッチが通らない。しかも、ftp.jp.freebsd.orgのdistfilesに入ってるソースパッケージも更新されてしまっている。結局、一連のPortsのうちでServerだけが入らないので、この状態だと怖くてXFree86は動かせない。サーバーで良かったよ。クライアントマシンだったら致命的だな。
もう一つはSamba3。FreeBSD-4系列ではmakeできなくなっちゃってる。
SystemのKerberosで供給されるlibcryptoとOpenSSLで供給されるlibcryptoが整合性がとれないので、Active Directory SupportがONだとmakeできないよ、ってメッセージが出るんだけど、WITHOUT_ADS=onとかつけてもちゃんとスルーしてくれない。っていうか、初期設定だとoffだろうが。
この辺、グーグっても全然情報もないので、portsのupdate待ちかなあ。
XFree86-Serverについては、いつまでたってもpatch brokenな状態が改善しないので、4-StableのPackageからインストールすることに。
ftp siteから4-StableのPackageのXFree86-Serverの最新のものを取ってくる。で、それを/usr/ports/packages/Allに置く。といっても一度もportsからpackageを作ってなければ多分このディレクトリは存在しないので、その場合はディレクトリを切る。
で、あとは明示的にportupgradeにPackageを使ってアップグレードする指示をかます。
portupgrade -PP XFree86-Server
で、なんとかfix。ふう。
SambaのPortのBrokenなのはjapanese/samba3に入ってるものだけの問題らしい。
というか、こいつはnet/samba3のメタパッケージなんだが、net/samba3を直接makeするときに–without-adsをつけるとちゃんとmakeが通る。
ところが、japanese/samba3から–without-adsをつけてmakeしようとしてもADS Support Brokenではねられる。これは、–without-adsがnet/samba3のmake時に渡されてないってことだろうな。
うむむ、どうすればメタパッケージでmakeオプションを明示的に渡せるんだろう?
某所のサーバーでnetatalkを入れる時にCJK patchとUTF patchを適用してしまったがために、portupgradeでupgradeできなくなってしまったよ。とほほ。
ファイル名エンコードをUTF-8じゃなくすればいいんだが、それもちょっと楽しくないし、どうしたものか。:-P
japanese/samba3はportsから入れられないが、net/samba3は入れられる模様。
OpenLDAPが非互換なので、ADSを外しただけではopenldap-clientのインストールでこける。一度でもインストールするとLDAPを利用するconfigが作られてしまうので、net/samba3でmake configで設定をやりなおし、LDAPをはずしてやるとインストールできた。
設定はjapanese/samba3の時の設定のままで日本語ファイル名も通っているみたい。