ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

LinuxコミュのTurboLinux 11Server SVNのインストール

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Turbolinux 11server に apache と連携した SVN をインストールしようと思っています。

11server 収録パッケージ一覧
http://www.turbolinux.com/products/server/11s-list.html

参考
http://www.profaim.jp/tools/soft/svn/setup-linux/inst_linux.php

SVNのダウンロード
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
上記サイトより subversion-1.6.12.tar.bz2 をダウンロード

ftpのやり取りをするために作ったユーザ(user1)のホームディレクトリに持ってきて解凍しています。
user1のホームディレクトリはデフォルトです。/home/user1

解凍 > tar jxfv subversion-1.6.12.tar.bz2
移動 > cd subversion-1.6.12

$ ./configure --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs
と実行したいところなのですが/usr/local/apache2がないのでできません。
apacheがどこにインストールされているのかがわかりません。

コメント(60)

googleした結果ですが、turbolinux 11 serverにインストールされた方のページがありましたので参考になると思います。
せりかブログ
http://serika.blog.abk.nu/0873

それと、既にご存知かもしれませんが、apacheのインストール場所などの検索に有効なコマンドに
locate(turbolinuxではslocateコマンドの様です)コマンドがありますのでこのコマンドを使用してみるのはいかがでしょうか?検索ワードに該当するものがパス付きで表示されるので便利です。必要に応じてlessやmoreコマンドと併用してください。

既に終わってしまった内容かもしれませんが参考になれば良いです。
apr apr-util zlib sqlite 等はインストールしたと思います。
./configure を通すことはできるようになったのですがmakeでエラーが出ます。
と思います、というのはいけないことですよ。

面倒でも手順書を書き
打ったコマンドなどのログを記載しておきましょう。

sqlite はインストールする方法とディレクトリかに置く方法があったと思います。
apr にしてもバージョンが違うと動作しなかったりもしますよ。

一度削除してしまって、新しい環境の構築をお勧めします。
> ジンジャーさん

apache2.3.6.tar.gzを解凍、インストール後、subversion1.6.12.tar.bz2を解凍し、./configureを遠そうとエラーに出てくる物を拾ってきてました。
apr、apr-util、sqllite、zlib、neon

そうして行って./configureは通るようになったのですがmakeでエラーになります。
> ひょうすべさん
とりあえずconfigureの出力とmake時のエラーメッセージぐらいは投稿しないと他者にはなにが起きているのかサッパリです。
# 結局この路線で突っ切るのですね。。
# あとあと面倒だと思いますが。。
> ひろーさん

make時のエラーメッセージは少し前に2分割して書き込んだ奴です。あれが出てきて止まります。
./configureの方は通ったと思って考えていませんでした、すいません。

私が引き渡された時点でサーバーはインストールしただけだったようで特に設定は無いようです。
私が触ったのはせいぜいtomcatとjdkを入れたことと、前回トピック立てさせていただいたpostgresくらいです。
なのでもう一度再インストールしても問題はないのですが私にはOSの再インストール等の知識が無くてどうすればいいのか分からないので迷ってます。
とりあえずturbolinuxのCDは2枚有ります。
> M4TR!Xさん
アドバイスありがとうございます。
コメント見落としていました、すいません。

ファイルやディレクトリの検索にはfindコマンドを使っていました。
参考にさせてもらいます。
 悪いことは言わないので、ディストリビューションを CentOS か debian あたりにしてやり直したほうがいいと思います。
 試行錯誤して苦しむのは勉強にはなるけど、正直、無駄な苦労だと思いますよ。

 情報量が豊富なディストリビューションなら、インストールだって別に難しいことじゃありません。
 デフォルト設定でほぼ問題ないでしょうし、2〜3回やりなおしたところでたかが知れています。

 すべてパッケージでまかなえるであろうメジャーディストリビューションを使うべきだと思います。
 このままだと、なにかやるたびに同じ苦労をすることになりかねないですよ。
ビルド時のエラーについては……
log_access_verdict()関数の実装で必要としている引数が6つに対して、
コール元が5つしか記述されていない…というものでしょう。

gccなどの設定で回避できる問題なんでしょうかね?
そうは見えませんが……

仮想環境(VMware Player 3.1)にて、rpmbuild試しています。
もう少しで結果が書けそうです。
> メアさん
確かに触りたての私でも色々調べていて様々なLinuxの名前を見ている限りメジャーなものとの情報量の差からしてTurbolinuxは好ましくないとわかります。しかし新しくOSをインストールする知識が無いので困っています。

windowsマシンなどからフリーのものをCDに入れるのでしょうか?
やったことがないのでわからないことだらけです。

> Ryuさん
初めからやったほうがいいかもと思い始めています。


環境の再構築については経験者の皆さんが言うのですからそのとおりなのだと思ってはいるのですが再構築が自分にできるのかが不安要素です。

> 瀬戸っぷさん
私の知識不足で少ない情報の中貴重なお時間で試していただいき本当にありがとうございます。
./configure の後の --with などのオプションが関係しているのかなど考えていたのですがオプションの項目(--with-aprなど)がわからないので詰まっていました。
TurboLinux 11 Serverをインストール。
標準的なサーバ構成でインストールし、OptionalCDもデフォルトで選択されているものを。
OptionalCDで開発ライブラリにも追加でチェックいれてインストールしています。

インストール後、再起動。
作業用のユーザーを作成して、以降はsshでログインして作業。
サクっとrootユーザーに変更。

rpmビルド用のパッケージが入っていないのでOptionalCDをマウントしてインストール。
[root@localhost ~]# mount /mnt/cdrom
[root@localhost ~]# rpm -ivh /mnt/cdrom/turbo/RPMS/rpm-build-4.4.2-17.i686.rpm

rpmビルド作業用のディレクトリに移動。
[root@localhost ~]# cd /var/src/rpm

TurboLinux 11 Desktop用のSubversionのsrpmを取得して、インストール。
[root@localhost rpm]# wget ftp://ftp.dti.ad.jp/pub/Linux/TurboLinux/TurboLinux/ia32/Desktop/11/updates/SRPMS/subversion-1.2.3-3.src.rpm
[root@localhost rpm]# rpm -ivh subversion-1.2.3-3.src.rpm

まずはそのままビルドしてみる。
[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
エラー: ビルド依存性の失敗:
docbook-style-xsl >= 1.58.1 は subversion-1.2.3-3.i686 に必要とされています
/usr/bin/apr-config は subversion-1.2.3-3.i686 に必要とされています
/usr/bin/apu-config は subversion-1.2.3-3.i686 に必要とされています
swig >= 1.3.26 は subversion-1.2.3-3.i686 に必要とされています

ということで不足分をインストール。(依存関係が面倒。)
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/xml-common-0.6.3-6.noarch.rpm /mnt/cdrom/turbo/RPMS/sgml-common-0.6.3-6.noarch.rpm
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/docbook-dtds-1.0-5.noarch.rpm
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/docbook-style-xsl-1.73.2-2.noarch.rpm
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/swig-1.3.31-1.i686.rpm

apr-configとapu-configはそれぞれapr-develとapr-util-develにapr-1-configとapu-1-configで入っているので…
SPECファイルを書き換える。(シンボリックリンクではダメでした)
[root@localhost rpm]# vim SPEC/subversion.spec
  apr-config を apr-1-config へ apu-config を apu-1-config へ書き換え。(それぞれ2ヵ所)

改めてビルドしてみる。
[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
            :
エラー……APR_PATH_MAXが未定義になるらしい。
limits.hがインクルードできていない?(Subversion-1.3.0で修正されている…というような事も書かれているようで)
1.6.12でビルドしてみる。
[root@localhost rpm]# cd SOURCES
[root@localhost SOURCES]# wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2
[root@localhost SOURCES]# cd ../
[root@localhost rpm]# vim SPEC/subversion.spec
  %define ver の 1.2.3 を 1.6.12 へ。
  %{!?_neon_static:%define _neon_static 1} の1を0へ。
  BuildRequires: neon-devel = 0.24.7 を >= として指定以上のバージョンへ。

[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec

RPM ビルドエラー:
ファイルが見つかりません (by glob): /var/tmp/subversion-1.6.12-root/usr/share/locale/*/LC_MESSAGES/subversion.mo
/var/tmp/rpm-tmp.95315 の不正な終了ステータス (%doc)
[root@localhost rpm]# ls /var/tmp/subversion-1.6.12-root/usr/share/
doc/ man/

*.poがコンパイルされていないらしい…
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/gettext-0.16.1-2.i686.rpm

再ビルド
[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
警告: インストール済み(ただし未伸張)ファイルが見つかりました:
/usr/bin/svnsync

再度SPECファイルを編集。
[root@localhost rpm]# vim SPEC/subversion.spec
  %{_bindir}/svnversion の次の行に %{_bindir}/svnsync を挿入。

再ビルド
[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
            :
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/subversion-1.6.12-root
書き込み完了: /var/src/rpm/SRPMS/subversion-1.6.12-3.src.rpm
書き込み完了: /var/src/rpm/RPMS/i686/subversion-1.6.12-3.i686.rpm
書き込み完了: /var/src/rpm/RPMS/i686/subversion-devel-1.6.12-3.i686.rpm
書き込み完了: /var/src/rpm/RPMS/i686/mod_subversion-1.6.12-3.i686.rpm
書き込み完了: /var/src/rpm/RPMS/i686/subversion-perl-1.6.12-3.i686.rpm
書き込み完了: /var/src/rpm/RPMS/i686/subversion-tools-1.6.12-3.i686.rpm
[root@localhost rpm]#

成功です。
後は…インストールしてちゃんと動くのか……。
[root@localhost rpm]# cd RPMS/i686/
[root@localhost i686]# rpm -ivh subversion-1.6.12-3.i686.rpm mod_subversion-1.6.12-3.i686.rpm
準備中... ########################################### [100%]
1:subversion ########################################### [ 50%]
2:mod_subversion ########################################### [100%]
[root@localhost i686]# svn --version
svn, バージョン 1.6.12 (r955767)
コンパイル日時: Jun 24 2010, 23:59:04

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

以下のリポジトリアクセス (RA) モジュールが利用できます:

* ra_neon : Neon を利用して WebDAV (DeltaV) プロトコルでリポジトリにアクセスするモジュール。
- 'http' スキームを操作します
- 'https' スキームを操作します
* ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。
- Cyrus SASL 認証を併用
- 'svn' スキームを操作します
* ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。
- 'file' スキームを操作します

[root@localhost i686]#
動いてる。

[root@localhost i686]# cd /home
[root@localhost home]# svnadmin create svnroot
[root@localhost home]# chown -R apache:apache svnroot
[root@localhost home]# vim /etc/httpd/conf.d/subversion.conf
  LoadModule のコメントを解除。
  Locationディレクティブは最初の2行だけコメント解除。

apache再起動。
[root@localhost home]# service httpd restart
Stopping httpd: OK
Starting httpd: OK
[root@localhost home]#

Webブラウザでアクセス。
http://192.168.xxx.xxx/svn/repos/
表示されました。

ちなみに、subversion-1.6.12-3.i686.rpmだけでもSVNプロトコルでapache連携せずに使えます。
/etc/sysconfig/svnserve の編集と
chkconfig --add svnserve で。
ということで、とりあえずは動作できています。
SPECファイルは1.2.3が元になっているので…まだまだカスタマイズの余地はありまくりですが。

TurboLinux 11 Serverのインストールでパッケージの吟味していませんので、要らないパッケージが大量に入っている…ハズ。
# VMWareでGUI起動できなかった…実験で入れただけなのでGUI起動できなかった件について調べるつもりはありませんが。

>windowsマシンなどからフリーのものをCDに入れるのでしょうか?
>やったことがないのでわからないことだらけです。

本屋でCentOSのDVD付きの書籍など売っています。(勿論、他のディストリビューションのものも)
微妙に高いかも知れませんが……。
立ち読みしてみて、ついていけそうな内容のものを買ってみる。とかですね。

TurboLinuxについては…公式ページに説明とかありませんかね?
見ていませんけど…。
>Ryuさん

 そうですね、無駄と書きましたが、私もサーバを扱う上では有用な経験だと思います。
 ただ、トピ主さんの職場は開発を主とするものと見受けられましたので、本来の業務ではないであろうサーバの構築はお手軽に済ませたほうがいいのではないか、という視点で書かせていただきました。


> ひょうすべさん

 インストールメディアは各ディストリビューションの公式サイトからたどればディスクイメージがダウンロード出来ます。Windows環境でメディアに焼けば大丈夫です。
 瀬戸っぷさんも書かれてますが、メディアが付属する入門書を一冊購入するというのも良いと思います。まとまった情報が同時に得られますし。
> 瀬戸っぷさん
トピ主さんではありませんが、すごく勉強になりました。ありがとうございます。

> ひょうすべさん
OSのインストールはサーバーに付いているCD/DVDドライブにインストールディスクを入れてドライブから起動するようにBIOSを変更すればインストール画面が出てきて画面に従っていけばインストールできます。

configureのオプションは、
./configure --help(若しくは-h)
でオプションの一覧は出てきます

メジャーなディストリビューションを選ぶのが最短経路なような気がしますが、仕事場の環境の様なので上司の方に、ディストリビューションを変更しても良いのかは確認をとるべきな気がします。
許可が出るのであれば、
・ネットワークの設定(プロキシの有無と設定の確認)をメモやバックアップする
・同じ環境にするために必要なソフトのインストール手順の確認やconfファイルのバックアップ
等は行っておくとやり直す時に楽になると思いますよ。

長文失礼致しました
> 瀬戸っぷさん
すごいです!参考にします。どうもありがとうございます。
この通りにやるとしても今の状態ではやはり不具合が出てしまうでしょうか…。
そうしたら再インストールですよね…。

> メアさん
アドバイスありがとうございます。
ディスクに焼いてみようと思います。入門書も参考にしようと思います。

> M4TR!Xさん
>OSのインストールはサーバーに付いているCD/DVDドライブにインストールディスクを入れてドライブから起動するようにBIOSを変更すればインストール画面が出てきて画面に従っていけばインストールできます。

既存のデータとかはあらかじめ消しておかないといけないのでしょうか?
たとえば今TurboLinuxのデータがごちゃっとあるところに〜Linuxを新たに入れるときはどうするのでしょうか。

> メジャーなディストリビューションを選ぶのが最短経路なような気がしますが、仕事場の環境の様なので上司の方に、ディストリビューションを変更しても良いのかは確認をとるべきな気がします。

可能であれば変えたいですね。


SVNはまた会社に行ってから作業をします。
おそらく今日は再インストールするとしてもTurboです・・・。(時間かかっちゃうんで・・・)
土日でちょっと勉強しようかと思います。CDにisoを焼いたりとか実際にやってみないと覚えられないので。DVD-RWならあるのですがそれでもインストール用のメディアになりますか?大丈夫ならそれに焼いてみようかと思ってます。

話が変わりますが、新しくサーバー用にLinuxを入れるとしたら何がいいんですかね…。
好みは人それぞれですし使ってみないとわからないですが。
ほとんど調べていないのですが日本語サポートと初心者でも使いやすいと見たのでVineLinuxなどはどうなのかと思いました。
実際今ではどのようなLinuxが人気なのでしょうか。
よければ参考にしたいので個人的な意見でもいいので教えていただけないでしょうか。
できればその理由も知りたいです。
 個人的な意見でもよいということなので、一意見として述べます。

 私は、Vine Linux をサーバー&クライアントとして利用しています。それ以前には Turbo Linux 10 Desktop を使っていましたが、セキュリティアップデートが遅いこと、Turbo Linux ゆえの独自性による手動対応の必要性、などから、使用をやめました。詳細については、自分の Web サイトの過去記事にのせています。

 商用サポートを使わない場合に、TurboLinux Server を使うメリットがないように思います。CentOS や Ubuntu あたりを選択すると、情報も多いので、苦労も報われるように感じます。

 我が家の Server が Vine Linux となっているのは、最初に構築したものが、Vine Linux であり、私の用途では満たされているので、他のディストリビューションにまでは手は伸ばしていません。
> ひょうすべさん
> 既存のデータとかはあらかじめ消しておかないといけないのでしょうか?
> たとえば今TurboLinuxのデータがごちゃっとあるところに〜Linuxを新たに入れるときはどうするのでしょうか。

インストールの途中にどのようにインストールするか(HDDの全ての領域を使用するやLinux用にフォーマットされた領域のみ使用する等)を選択する画面があると思いますのでそこで選択すれば良いです。

> DVD-RWならあるのですがそれでもインストール用のメディアになりますか?
サーバーのCD/DVDドライブがDVD-RWに対応しているのであればDVD-RWを使用することも可能です。
また、自宅で行うのであれば仮想環境を使用するのが楽でいいです。インストールディスクを焼かなくてもisoファイルから直接起動できるものもあるので。

日本語サポートが重要 → Vine Linux
商用のRed Hatと同じような環境を使いたい → CentOS
新しいプログラムのバージョンを使いたい → Ubuntu (CentOSでは更新されていなかったり、パッケージがなかったりするので)

個人的にはこんな感じでしょうか。CentOSもRPM Forge等のリポジトリを利用すれば結構楽できますよ。
瀬戸っぷさんの記録をたどってきましたがエラーになりました

-------------------------------------------------------------------------

1.6.12でビルドしてみる。
[root@localhost rpm]# cd SOURCES
[root@localhost SOURCES]# wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2
[root@localhost SOURCES]# cd ../
[root@localhost rpm]# vim SPEC/subversion.spec
  %define ver の 1.2.3 を 1.6.12 へ。
  %{!?_neon_static:%define _neon_static 1} の1を0へ。
  BuildRequires: neon-devel = 0.24.7 を >= として指定以上のバージョンへ。

[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
↓ここからlog

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.47572
buildcheck: checking installation...
buildcheck: autoconf version 2.61 (ok)
buildcheck: autoheader version 2.61 (ok)
buildcheck: libtool version 1.5.24 (ok)
Copying libtool helper: /usr/share/aclocal/libtool.m4
Creating build-outputs.mk...
Creating svn_private_config.h.in...
Creating configure...

You can run ./configure now.

Running autogen.sh implies you are a maintainer. You may prefer
to run configure in one of the following ways:

./configure --enable-maintainer-mode
./configure --disable-shared
./configure --enable-maintainer-mode --disable-shared

Note: If you wish to run a Subversion HTTP server, you will need
Apache 2.x. See the INSTALL file for details.

Patch #10 (subversion-1.1.3-DESTDIR.patch):
Patch #11 (subversion-1.2.1-neon-config.patch):
The text leading up to this was:
--------------------------
|--- subversion-1.2.1/neon/neon-config.in.neon-static 2005-07-02 05:18:39.000000000 +0900
|+++ subversion-1.2.1/neon/neon-config.in 2005-08-23 14:07:38.000000000 +0900
--------------------------
File to patch: (パッチが要求されているが何を入れるか分からない)
Skip this patch? [y] y
1 out of 1 hunk ignored
error: Bad exit status from /var/tmp/rpm-tmp.19145 (%prep)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.19145 (%prep)
-------------------------------------------------------------------------

パッチは何を要求されているのでしょうか。
>BuildRequires: neon-devel = 0.24.7 を >= として指定以上のバージョンへ。

OptionalCDの neon-devel-0.26.4-1.i686.rpm を使いました。


>[root@localhost rpm]# ls /var/tmp/subversion-1.6.12-root/usr/share/
doc/ man/

いけませんでした。まず /var/tmp に subversion-1.6.12-root/ が無いです。


>*.poがコンパイルされていないらしい…
[root@localhost rpm]# rpm -ivh /mnt/cdrom/turbo/RPMS/gettext-0.16.1-2.i686.rpm

これはやってみました。

---------------------------------------------------------------------------------------------------
1.6.12でビルドしてみる。
[root@localhost rpm]# cd SOURCES
[root@localhost SOURCES]# wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2
[root@localhost SOURCES]# cd ../
[root@localhost rpm]# vim SPEC/subversion.spec
  %define ver の 1.2.3 を 1.6.12 へ。
  %{!?_neon_static:%define _neon_static 1} の1を0へ。
  BuildRequires: neon-devel = 0.24.7 を >= として指定以上のバージョンへ。

[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
---------------------------------------------------------------------------------------------------

[root@localhost SOURCES]# wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2
で subversion-1.6.12.tar.bz2 をダウンロードしていますがこれは解凍せずにおいておくのでしょうか?

現在 SOURCES の中は、
subversion-1.1.3-DESTDIR.patch
subversion-1.2.1-neon-config.patch
subversion-1.2.3-tar.bz2
subversion.conf
svnserve.init
svnserve.sysconfig
(↓新しく取ってきたやつ)
subversion-1.6.12.tar.bz2
となっています。
何度か
[root@localhost rpm]# rpmbuild -ba SPECS/subversion.spec
を繰り返していて気づいたのですが
/var/tmp/rpm-tmp.19145 の数字の部分が毎回変わります。
実際に /var/tmp の中にあったので、3つほど /var/tmp/rpm-tmp.***** の内容を見比べてみたら内容はどれも同じでした。


とりあえず /var/tmp/rpm-tmp.19145 の内容

-------------------------------------------------------------------------
#!/bin/sh

RPM_SOURCE_DIR="/var/src/rpm/SOURCES"
RPM_BUILD_DIR="/var/src/rpm/BUILD"
RPM_OPT_FLAGS="-O2 -g -march=i686 -mtune=generic"
RPM_ARCH="i386"
RPM_OS="linux"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc/packages"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="subversion"
RPM_PACKAGE_VERSION="1.6.12"
RPM_PACKAGE_RELEASE="3"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
RPM_BUILD_ROOT="/var/tmp/subversion-1.6.12-root"
export RPM_BUILD_ROOT


set -x
umask 022
cd /var/src/rpm/BUILD
cd /var/src/rpm/BUILD
rm -rf subversion-1.6.12
/usr/bin/bzip2 -dc /var/src/rpm/SOURCES/subversion-1.6.12.tar.bz2 | tar -xf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
exit $STATUS
fi
cd subversion-1.6.12
[ `/usr/bin/id -u` = '0' ] && /bin/chown -Rhf root .
[ `/usr/bin/id -u` = '0' ] && /bin/chgrp -Rhf root .
/bin/chmod -Rf a+rX,u+w,g-w,o-w .
sh autogen.sh
echo "Patch #10 (subversion-1.1.3-DESTDIR.patch):"
patch -p1 -b --suffix .DESTDIR -s < /var/src/rpm/SOURCES/subversion-1.1.3-DESTDIR.patch
echo "Patch #11 (subversion-1.2.1-neon-config.patch):"
patch -p1 -b --suffix .neon-static -s < /var/src/rpm/SOURCES/subversion-1.2.1-neon-config.patch


exit 0
-------------------------------------------------------------------------
subversion.spec です。
長いので分割します。
-------------------------------------------------------------------------

# -*- coding:utf-8-unix -*-
#
# $Id: subversion.spec,v 1.3 2005/02/25 10:01:46 yama Exp $
#
# Copyright (c) 1998-2005 Turbolinux, inc.
# This file and all modifications and/or additions are under
# the same license as package itself.

%define name subversion
%define ver 1.6.12
%define rel 3
%define ser 2005120601

%define swig_version 1.3.26

%define httpd_libexecdir %(/usr/sbin/apxs -q 'libexecdir')
%define httpd_sysconfdir %(/usr/sbin/apxs -q 'sysconfdir')

%define python_version %(python -c "import sys; print sys.version[:3]")
%define python_sitedir %(python -c "import site; print site.sitedirs[0]")

%define perlsitearchdir %(perl -MConfig -e 'print $Config{"installsitearch"};')
%define perlman3dir %(perl -MConfig -e 'print $Config{"installman3dir"};')

%{!?_neon_static:%define _neon_static 0}

Name: %{name}
Summary: A Concurrent Versioning system similar to but better than CVS.
Summary(ja_JP.utf8): Subversion 繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ
Summary(zh_CN.utf8): 荳�荳ェ邀サ莨シ莠擦VS菴・・ス莠擦VS逧・刻蜷檎沿譛ャ邂。逅・ウサ扈溘�・Version: %{ver}
Release: %{rel}
Serial: %ser
URL: http://subversion.tigris.org/
Source0: http://subversion.tigris.org/tarballs/%{name}-%{version}.tar.bz2
Source10: subversion.conf
Source11: svnserve.init
Source12: svnserve.sysconfig
Patch10: subversion-1.1.3-DESTDIR.patch
Patch11: subversion-1.2.1-neon-config.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root/
Group: Development/Tools
License: See COPYING file for more details
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}

Requires: db4
%if ! %{_neon_static}
Requires: neon = 0.24.7
%endif
BuildRequires: which
BuildRequires: autoconf >= 2.53
BuildRequires: db4-devel
BuildRequires: docbook-style-xsl >= 1.58.1
BuildRequires: doxygen
BuildRequires: expat-devel
BuildRequires: httpd-devel
BuildRequires: /usr/sbin/apxs
BuildRequires: /usr/bin/apr-1-config
BuildRequires: /usr/bin/apu-1-config
BuildRequires: libtool >= 1.4.2
BuildRequires: libxslt >= 1.0.27
BuildRequires: openssl-devel
BuildRequires: perl
BuildRequires: python-devel
BuildRequires: zlib-devel
BuildRequires: gdbm-devel
%if %{_neon_static}
BuildRequires: krb5-devel
%else
BuildRequires: neon-devel >= 0.24.7
%endif

#NoSource: 0
続き 2
-------------------------------------------------------------------------

%description
Subversion is a concurrent version control system which enables one or more
users to collaborate in developing and maintaining a hierarchy of files and
directories while keeping a history of all changes. Subversion only stores
the differences between versions, instead of every complete file. Subversion
also keeps a log of who, when, and why changes occurred.

As such it basically does the same thing CVS does (Concurrent Versioning System)
but has major enhancements compared to CVS and fixes a lot of the annoyances
that CVS users face.

%description -l ja_JP.utf8
縺薙・繝代ャ繧ア繝シ繧ク縺ォ縺ッ繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォSubversion縺悟性縺セ繧後※縺・∪縺吶�・繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ縺ィ縺ッ縲√た繝シ繧ケ繧ウ繝シ繝臥ュ峨・繝輔ぃ繧、繝ォ繧貞酔譎ゅ↓隍・焚縺ョ莠コ髢薙〒蜈ア譛峨☆繧区凾縺ォ螟画峩螻・豁エ繧剃ソ晏ュ倥@縺ヲ縺翫″縲√◎繧後r邂。逅・�∝宛蠕。縺吶k莠九′縺ァ縺阪k繝・・繝ォ縺ァ縺吶�ゅヰ繝シ繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ縺ォ縺ッ縺薙・莉悶↓繧・VS縺梧怏蜷阪〒縺吶′縲ヾubversion縺ッCVS縺ョ讎ょソオ繧偵・繝シ繧ケ縺ォ繧医j蠑キ蜉帙〒鬮俶ゥ溯・縺ェ繝・・繝ォ縺ォ縺吶k莠九r逶ョ逧・→縺励※縺・∪縺吶�・
%description -l zh_CN.utf8
Subversion譏ッ荳�荳ェ迚域悽謗ァ蛻カ邉サ扈滂シ悟・隶ク荳�荳ェ謌門、壻クェ逕ィ謌キ蜊丞酔蠑�蜿大ケカ扈エ謚、荳�邉サ蛻玲枚莉カ蜥檎岼蠖包シ・蟷カ荳比ソ晏ュ俶園譛臥噪謾ケ蜿倥�4ubversion莉・サ・ソ晏ュ倡沿譛ャ髣エ逧・ク榊酔譚・譖ソ莉」豈丈ク�荳ェ螳梧紛逧・枚莉カ縲4ubversion
荵滉ソ晏ュ倅ク�荳ェ蜈ウ莠手ー・シ御サ�荵域慮蛟吝柱荳コ莉�荵域隼蜿倡噪譌・蠢励�・
蟆ス邂。蝓コ譛ャ逧・粥閭ス邀サ莨シ莠擦VS・御ス・弍逶ク蟇ケ莠擦VS・悟ョ・噪荳サ隕∝「槫シコ譏ッ隗」蜀ウ莠・ョク螟夂岼蜑垢VS逕ィ謌キ髱「荳エ逧・琉鬚倥�・
%package devel
Summary: Development package for Subversion developers.
Summary(ja_JP.utf8): Subversion 繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ - 髢狗匱繝代ャ繧ア繝シ繧ク
Summary(zh_CN.utf8): Subversion蠑�蜿大桁
Group: System Environment/Libraries
Requires: %{name} = %{version}
Requires: db4-devel
Requires: gdbm-devel
Requires: httpd-devel
%if ! %{_neon_static}
Requires: neon-devel = 0.24.7
%endif

%description devel
The subversion-devel package includes the static libraries and include files
for developers interacting with the subversion package.

%description devel -l ja_JP.utf8
縺薙・繝代ャ繧ア繝シ繧ク縺ォ縺ッ%{name}繧剃スソ逕ィ縺励◆繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ繧帝幕逋コ縺吶k縺溘a縺ォ蠢・ヲ√↑繝倥ャ繝�繝輔ぃ繧、繝ォ繧・Λ繧、繝悶Λ繝ェ縲√ラ繧ュ繝・繝。繝ウ繝育ュ峨′蜷ォ縺セ繧後※縺・∪縺吶�・
%description devel -l zh_CN.utf8
subversion-devel霓ッ莉カ蛹・桁蜷ォ莠・スソ逕ィsubversion蠑�蜿第園髴�隕∫噪螟エ譁・サカ蜥悟コ捺枚莉カ縲・

%package -n mod_subversion
Group: Utilities/System
Summary: Apache server module for Subversion server.
Summary(ja_JP.utf8): Subversion 繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ - 繧オ繝シ繝舌ヤ繝シ繝ォ
Summary(zh_CN.utf8): Subversion譛榊苅蝎ィ逧・仭蟶募・・ィ。蝮励�・Requires: %{name} = %{version}
Requires: httpd
続き 3
-------------------------------------------------------------------------

%description -n mod_subversion
The subversion-server package adds the Subversion server Apache module to
the Apache directories and configuration.

%description -n mod_subversion -l ja_JP.utf8
縺薙・繝代ャ繧ア繝シ繧ク縺ォ縺ッ%{name}逕ィ縺ョ繧オ繝シ繝舌い繝励Μ繧ア繝シ繧キ繝ァ繝ウ縺ィApache繝「繧ク繝・繝シ繝ォ縺悟性縺セ繧後※縺・∪縺吶�・
%description -n mod_subversion -l zh_CN.utf8
subversion-server霓ッ莉カ蛹・キサ蜉�Subversion譛榊苅蝎ィ逧・仭蟶募・・ィ。蝮怜芦髦ソ蟶募・・岼蠖募ケカ霑幄。碁・鄂ョ縲・
%package perl
Group: Utilities/System
Summary: Allows Perl scripts to directly use Subversion repositories.
Summary(ja_JP.utf8): Perl 繧ケ繧ッ繝ェ繝励ヨ縺ョ繧オ繝昴・繝・BuildRequires: swig >= %{swig_version}
Requires: perl

%description perl
Provides Perl (SWIG) support for Subversion.

%description perl -l ja_JP.utf8
Subversion 縺ォ Perl (SWIG) 繧オ繝昴・繝医r霑ス蜉�縺励∪縺吶�・
%package tools
Group: Utilities/System
Summary: Tools for Subversion
Summary(ja_JP.utf8): Subversion 繝舌・繧ク繝ァ繝ウ邂。逅・ヤ繝シ繝ォ - 繝ヲ繝シ繝・ぅ繝ェ繝・ぅ
Summary(zh_CN.utf8): Subversion蟾・蜈キ
Requires: %{name} = %{version}

%description tools
Tools for Subversion.

%description tools -l ja_JP.utf8
縺薙・繝代ャ繧ア繝シ繧ク縺ォ縺ッ%{name}逕ィ縺ョ繝ヲ繝シ繝・ぅ繝ェ繝・ぅ繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ縺悟性縺セ繧後※縺・∪縺吶�・
%description tools -l zh_CN.utf8
Subversion蟾・蜈キ縲・
%{?_build_debug:%{debug_package}}
続き 4
-------------------------------------------------------------------------

#---------- BUILD SECTION ---------------------------------------------------

%prep
%setup -q
sh autogen.sh
%patch10 -p1 -b .DESTDIR
%patch11 -p1 -b .neon-static

%build
%if %{_neon_static}
neon_instdir=`pwd`/neon-install/
cd neon
%ifarch x86_64
export CFLAGS="-fPIC $CFLAGS"
%endif
./configure \
--prefix=/usr \
--libdir=/usr/lib \
--includedir=/usr/include \
--disable-shared --with-expat --with-ssl
make
make DESTDIR=${neon_instdir} install
sed -i -e "s|=/usr|=${neon_instdir}/usr|g" ${neon_instdir}/usr/bin/neon-config
cd ../
%endif

%configure \
%if %{_neon_static}
--with-neon=${neon_instdir}/usr \
%else
--with-neon=/usr \
%endif
--with-python=%{_bindir}/python \
--with-swig \
--with-apxs=/usr/sbin/apxs \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config
make clean
make %{?_smp_mflags}
make swig-pl

%install
test "$RPM_BUILD_ROOT" != "/" && rm -fr $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
make DESTDIR=$RPM_BUILD_ROOT install-swig-pl-lib
make pure_vendor_install -C subversion/bindings/swig/perl/native \
DESTDIR=$RPM_BUILD_ROOT INSTALLVENDORARCH=%{perlsitearchdir} \
INSTALLVENDORMAN3DIR=%{perlman3dir}

# install apache module stuff
mkdir -p $RPM_BUILD_ROOT/%{httpd_sysconfdir}.d/
install -m0644 %{SOURCE10} $RPM_BUILD_ROOT/%{httpd_sysconfdir}.d/subversion.conf

# install svnserver stuff
mkdir -p $RPM_BUILD_ROOT/%{_initrddir}/
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/
install -m0755 %{SOURCE11} $RPM_BUILD_ROOT/%{_initrddir}/svnserve
install -m0644 %{SOURCE12} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/svnserve
続き 5
-------------------------------------------------------------------------

# Set up tools package files.
mkdir -p $RPM_BUILD_ROOT%{_libdir}/subversion
cp -r tools $RPM_BUILD_ROOT%{_libdir}/subversion
cp -r contrib $RPM_BUILD_ROOT%{_libdir}/subversion/

%post
/sbin/ldconfig
# Add svnserve entry to /etc/services if not already there
if !( grep ^[:space:]*svn /etc/services > /dev/null ) then
echo 'svn 3690/tcp # Subversion svnserve' >> /etc/services
echo 'svn 3690/udp # Subversion svnserve' >> /etc/services
fi

%postun
/sbin/ldconfig
if [ "$1" = "0" ]; then
sed -e '/^[:space:]*svn.*$/d' /etc/services > /etc/services.$$
mv /etc/services.$$ /etc/services
rm -f /etc/services.$$
fi

#%post -n mod_subversion
#/usr/lib/httpd/scripts/update-module-list

#%postun -n mod_subversion
#/usr/lib/httpd/scripts/update-module-list

%files
%defattr(-,root,root)
%doc BUGS CHANGES COMMITTERS COPYING HACKING INSTALL
%doc www/ notes/
%doc doc/book/ doc/user
%config(noreplace) %{_sysconfdir}/sysconfig/svnserve
%config(noreplace) %{_initrddir}/svnserve
%{_bindir}/svnserve
%{_bindir}/svn
%{_bindir}/svnadmin
%{_bindir}/svndumpfilter
%{_bindir}/svnlook
%{_bindir}/svnversion
%{_libdir}/libsvn_client*so*
%{_libdir}/libsvn_delta*so*
%{_libdir}/libsvn_diff*so*
%{_libdir}/libsvn_fs*so*
%{_libdir}/libsvn_ra*so*
%{_libdir}/libsvn_repos*so*
%{_libdir}/libsvn_subr*so*
%{_libdir}/libsvn_wc*so*
%{_datadir}/locale/*/LC_MESSAGES/subversion.mo
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man8/*

%files devel
%defattr(-,root,root)
%doc doc/programmer doc/doxygen.conf
%{_libdir}/libsvn*.a
%{_libdir}/libsvn*.la
%{_libdir}/libsvn*.so
%{_includedir}/subversion-1/

%files -n mod_subversion
%defattr(-,root,root)
%config(noreplace) %{httpd_sysconfdir}.d/subversion.conf
%{httpd_libexecdir}/mod_dav_svn.so
%{httpd_libexecdir}/mod_authz_svn.so

%files tools
%defattr(-,root,root)
%{_libdir}/subversion/tools
%{_libdir}/subversion/contrib

%files perl
%defattr(-,root,root)
%{perlsitearchdir}/auto/SVN
%{perlsitearchdir}/SVN
%{_libdir}/libsvn_swig_perl*
%{perlman3dir}/*::*
続き 6 ラスト
-------------------------------------------------------------------------

%changelog
* Tue Dec 6 2005 Makoto Dei <makoto@turbolinux.co.jp> - 1.2.3-3
- added perl support

* Fri Dec 02 2005 Kiichiro NAKA <knaka@turbolinux.co.jp> - 1.2.3-2
- added PIC flag for x64 static-neon

* Fri Aug 26 2005 Bob Lee <bobl@turbolinux.com> - 1.2.3-1
- update to 1.2.3

* Sat Aug 20 2005 Toshihiro Yamagishi <toshihiro@turbolinux.co.jp> - 1.2.1-2
- use internal neon library

* Wed Jul 06 2005 Bob Lee <bobl@turbolinux.com> - 1.2.1-1
- update to 1.2.1

* Tue Apr 5 2005 Bob Lee <bobl@turbolinux.com> - 1.1.4-1
- update to 1.1.4
- add zh_CN.utf8 summary
- add zh_CN.utf8 description

* Fri Feb 25 2005 Toshihiro Yamagishi <toshihiro@turbolinux.co.jp> - 1.1.3-2
- rename server to mod_subversion
- fixed DESTDIR patch
- added missing require packages in devel package
- fixed init script

* Tue Feb 22 2005 Toshihiro Yamagishi <toshihiro@turbolinux.co.jp>
- updated to 1.1.3

* Fri Oct 10 2003 Kiichiro NAKA <knaka@turbolinux.co.jp> 0.31.0
- New package
いぢってて、記録から漏れていました。

%patch11 -p1 -b .neon-static
の行、コメントにするか削除して下さい。
パッチを当てるファイルはありませんので。
Patch11: subversion-1.2.1-neon-config.patch
の行も結果として不要になりますけどね。
# 使われなくても記述が残っていると後述のsrc.rpmに含まれます。

>で subversion-1.6.12.tar.bz2 をダウンロードしていますがこれは解凍せずにおいておくのでしょうか?
そのまま置いておけばOKです。
rpmbuildでビルドする際に /var/src/rpm/BUILD の下に展開されます。

ちなみに、1.2.3の方のソースアーカイブは使用されません。
ビルドが完了すると /var/src/rpm/SRPM にsrc.rpmが作成されます。
src.rpmから再度入れられますので、全ての作業が終わったら /var/src/rpm/SOURCES の中身は消してしまっても大丈夫です。
rm -rf /var/src/rpm/BUILD/* でビルド用のものも不要になります。
なお、/var/src/rpm/BUILD下の該当のものはrpmbuild実行時に自動的に削除されますが。

>/var/tmp/rpm-tmp.19145 の数字の部分が毎回変わります。
>実際に /var/tmp の中にあったので、3つほど /var/tmp/rpm-tmp.***** の内容を見比べてみたら内容はどれも同じでした。

SPECファイルから作成された作業用のスクリプトです。
エラーの場合は残るので後でまとめて削除して下さい。
# 再起動したときに削除されるかも知れませんが。
余計なお世話ですけれど、

SPECにもフルパスが入っていたりするのですね。
いいから、いちど最初から入れてご覧。
もちろん誰も責任はとる理由がないですけど。
失礼ですけどDAVやSVNのご知識がないのであれば、
別の方に任せれば済む話でしょう。
自宅でOSのインストールから初めて瀬戸っぷさんの記録にそってやったら何とかできました。
問題の会社のサーバーなんですがインストールはできたんですが、動作確認でエラーが出ました。
# svn --version
svn: error:while loading shared libraries: libaprutil-0.so.0:
cannot open shared object file: No such file of directory

libaprutil-0.so.0 のリンクが無いようです。
何か改善策はあるでしょうか?
>svn: error:while loading shared libraries: libaprutil-0.so.0:

ソースから入れたapr-utilが影響している…かと思われます。

[root@localhost ~]# ldd /usr/bin/svn | grep libaprutil
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb7d67000)
[root@localhost ~]# rpm -qf /usr/lib/libaprutil-1.so.0
apr-util-1.2.8-1
[root@localhost ~]#

/etc/ld.so.conf を修正して、/sbin/ldconfig でリンクの再修正とかしてみると行けるかも知れませんが…
ちょっと不明ですね。
って、OS再インストールしているのであれば…リンクするライブラリが違う…ということは無いかと思われるのですが…
何か違いでもあったんでしょうかね?
# 再インストールした時に既存のパーティションのフォーマットをしていなければ…
# 前回ソースから入れたものが残っている可能性はありますが。

私の方のはインストール時に不要なパッケージのカットなどの精査行っていませんから
微妙な違いがある…のかもしれません。

[root@localhost ~]# updatedb
[root@localhost ~]# locate libaprutil
/usr/lib/libaprutil-1.so.0
/usr/lib/libaprutil-1.a
/usr/lib/libaprutil-1.so
/usr/lib/libaprutil-1.la
/usr/lib/libaprutil-1.so.0.2.9
[root@localhost ~]# rpm -qs apr-util
通常 /usr/lib/libaprutil-1.so.0
通常 /usr/lib/libaprutil-1.so.0.2.9
通常 /usr/share/doc/packages/apr-util
通常 /usr/share/doc/packages/apr-util/CHANGES
通常 /usr/share/doc/packages/apr-util/LICENSE
通常 /usr/share/doc/packages/apr-util/NOTICE
[root@localhost ~]#

こうなりますね。
rpm -qs apr-util-devel
すると、リファレンスとかのドキュメントとかいっぱい出ますけど。
find等で確認してみたらSVNが2つありました。恐らく本来なら
# which svn
/usr/bin/svn

なのでしょうが以前ごちゃごちゃソースからSVNをいじっていたのでその影響か、
# which svn
/usr/local/bin/svn

になっていました。
/usr/local/bin/svn の方は綺麗に消して、

/usr/bin/svn --version
で動作確認できました。

長くなってしまい申し訳ありませんでした。
ここまでご指摘、ご教授、アドバイスをくれた皆様、本当にありがとうございました。
find等で確認してみたらSVNが2つありました。恐らく本来なら
# which svn
/usr/bin/svn

なのでしょうが以前ごちゃごちゃソースからSVNをいじっていたのでその影響か、
# which svn
/usr/local/bin/svn

になっていました。
/usr/local/bin/svn の方は綺麗に消して、

/usr/bin/svn --version
で動作確認できました。

長くなってしまい申し訳ありませんでした。
ここまでご指摘、ご教授、アドバイスをくれた皆様、本当にありがとうございました。
>なのでしょうが以前ごちゃごちゃソースからSVNをいじっていたのでその影響か、
># which svn
>/usr/local/bin/svn

再インストール時にフォーマットはされていなかった…ということですね。

[setoppu@localhost ~]$ printenv PATH
/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/lib/qt3/bin
[setoppu@localhost ~]$
なので…
/usr/bin/svn と /usr/local/bin/svn では前者が先にヒットする…かと思われるのですが……。

まぁ、インストールはできたようですし、後は書記設定やら運用の問題…ですね。


> syさん

確かに「体験版」ってなっていましたね。

ログインすると、残り24件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Linux 更新情報

Linuxのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。