[Mac] Yosemite アップデートでsvnが消える (3回目)

毎回Apacheが更新されるので、消えます。

前OS時のタイムマシン復活ではついに動かなくなってしまった。

sudo apachectl -t
httpd: Syntax error on line 171 of /private/etc/apache2/httpd.conf: Cannot load libexec/apache2/mod_dav_svn.so into server: dlopen(/usr/libexec/apache2/mod_dav_svn.so, 10): Symbol not found: _ap_log_perror¥n Referenced from: /usr/libexec/apache2/mod_dav_svn.so¥n Expected in: flat namespace¥n in /usr/libexec/apache2/mod_dav_svn.so

64bit云々かなーとかあんまり考えたくない。
とりあえず動いて欲しい。

この環境でビルドすればいいのだろうということで、入っているのと同じバージョンのSubversionをダウンロードする
svn –version
svn, version 1.7.17 (r1591372)

http://archive.apache.org/dist/subversion/subversion-1.7.17.tar.bz2

./configure
./make

で、makeだけをして
バイナリを自分で対象場所へコピー。

cd subversion

■/usr/libexec/apache2/用のファイル
find ./ -name “mod_dav_svn.so”
.//mod_dav_svn/.libs/mod_dav_svn.so

sudo cp .//mod_dav_svn/.libs/mod_dav_svn.so /usr/libexec/apache2/

■/usr/lib用のファイル
Mac1:subversion uni$ find ./ -name “libsvn_*1.0.dylib”
.//libsvn_client/.libs/libsvn_client-1.0.dylib
.//libsvn_delta/.libs/libsvn_delta-1.0.dylib
.//libsvn_diff/.libs/libsvn_diff-1.0.dylib
.//libsvn_fs/.libs/libsvn_fs-1.0.dylib
.//libsvn_fs_fs/.libs/libsvn_fs_fs-1.0.dylib
.//libsvn_fs_util/.libs/libsvn_fs_util-1.0.dylib
.//libsvn_ra/.libs/libsvn_ra-1.0.dylib
.//libsvn_ra_local/.libs/libsvn_ra_local-1.0.dylib
.//libsvn_ra_svn/.libs/libsvn_ra_svn-1.0.dylib
.//libsvn_repos/.libs/libsvn_repos-1.0.dylib
.//libsvn_subr/.libs/libsvn_subr-1.0.dylib
.//libsvn_wc/.libs/libsvn_wc-1.0.dylib
.//tests/.libs/libsvn_test-1.0.dylib —-これはいらない

全コピーコマンドくっつけてコピー
sudo cp .//libsvn_client/.libs/libsvn_client-1.0.dylib /usr/lib
….

/etc/apache2/httpd.conf
OSアプデ前のconfが、httpd.conf~previousとして残っているので、そちらから設定周りを移植。
LoadModuleのコメントアウトがかなり付いてる。
dav関連を有効化。

apachectl -t
でエラーが見えるので、その対象モジュールを有効化すればいい感じ。

sudo apachectl -t
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name….
Syntax OK
エラーは出るけどOK。ServerName指定すると消えるのかもしれない。ローカル動作には問題ない感じもある。

sudo apachectl restart

復活!

と思ったら書き込めない(><
フォルダが作成できないようだ。

ディレクトリ権限設定はよさそうに思えるのだけど。
試しに作れなかったのを用意してみる。

/usr/local/svn/repo/db/transactions
/usr/local/svn/repo/db/txn-protorevs
の2つのディレクトリが作成できないようなので、mkdirとchown。

sudo chown _www transactions
sudo chown _www txn-protorevs

試してみると作成とコミットができた。
かなりあやしい。

このディレクトリは元々ないので、多分トランザクション開始で作成して、最後に消しているのだと思われる。
ファイルは作れてディレクトリが作れないのは、どのへんかなー

と考えるのはまたおかしくなったときかもしれない^^;;

うまくいった方教えてください。

シェアする

  • このエントリーをはてなブックマークに追加

フォロミー

コメントをどうぞ

メールアドレスが公開されることはありません。