(覚え書き) col yumリポジトリと開発系rpm

2013/03/21 頃の作業

# epelリポジトリの追加
http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html  
にアクセスしてepelのリポジトリURLを確認します。
2013/03/19 現在では次でした。

http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

```bash
$ sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
```

# remiリポジトリの追加

http://rpms.famillecollet.com/  
にアクセスして RHLE の該当バージョンリポジトリURLを確認します。2013/03/21 現在では次でした。

http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

```bash
$ sudo rpm -Uhv http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
```

# yum update

```bash
$ sudo yum update
```

# 開発系ツールのインストール

```bash
$ sudo yum install openssh-clients wget rpm-build rpmdevtools
$ sudo yum groupinstall "Development Tools"
```

# APR(Apache Portable Runtime)のRPM作成・インストール

http://apr.apache.org/download.cgi  
で最新版の情報を確認

```bash
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-1.4.6.tar.bz2
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.5.1.tar.bz2
$ rpmbuild -tb apr-1.4.6.tar.bz2
エラー: ビルド依存性の失敗:
        autoconf は apr-1.4.6-1.x86_64 に必要とされています
        libtool は apr-1.4.6-1.x86_64 に必要とされています
        doxygen は apr-1.4.6-1.x86_64 に必要とされています
$ sudo yum install autoconf libtool doxygen
$ rpmbuild -tb apr-1.4.6.tar.bz2
...(略)
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-1.4.6-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-devel-1.4.6-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-debuginfo-1.4.6-1.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.6Zroxx
+ umask 022
+ cd /home/masashi/rpmbuild/BUILD
+ cd apr-1.4.6
+ rm -rf /home/masashi/rpmbuild/BUILDROOT/apr-1.4.6-1.x86_64
+ exit 0
$ rpmbuild -tb apr-util-1.5.1.tar.bz2
エラー: ビルド依存性の失敗:
        apr-devel >= 1.4.0 は apr-util-1.5.1-1.x86_64 に必要とされています
        expat-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        libuuid-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        db4-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        postgresql-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        mysql-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        sqlite-devel >= 3.0.0 は apr-util-1.5.1-1.x86_64 に必要とされています
        freetds-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        unixODBC-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        openldap-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        openssl-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        nss-devel は apr-util-1.5.1-1.x86_64 に必要とされています
```

apr-devel と mysql-devel が必要... mysql は5.6系にしたいのでとってくる。

```bash
$ cd /home/masashi/rpmbuild/RPMS/x86_64/
$ sudo yum localinstall apr-1.4.6-1.x86_64.rpm apr-devel-1.4.6-1.x86_64.rpm
```

http://dev.mysql.com/downloads/mysql/#downloads でURL確認

```bash
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.10-1.el6.x86_64.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.10-1.el6.x86_64.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.10-1.el6.x86_64.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm/from/http://cdn.mysql.com/
$ 
$ sudo yum localinstall MySQL-devel-5.6.10-1.el6.x86_64.rpm
$ sudo yum localinstall MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm
$ sudo yum localinstall MySQL-shared-5.6.10-1.el6.x86_64.rpm
$ sudo yum localinstall MySQL-client-5.6.10-1.el6.x86_64.rpm
$ sudo yum localinstall MySQL-server-5.6.10-1.el6.x86_64.rpm
```

MySQL の動作確認はさておき、インストールを続行

```bash
$  rpmbuild -tb apr-util-1.5.1.tar.bz2
エラー: ビルド依存性の失敗:
        expat-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        libuuid-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        db4-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        postgresql-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        mysql-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        sqlite-devel >= 3.0.0 は apr-util-1.5.1-1.x86_64 に必要とされています
        freetds-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        unixODBC-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        openldap-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        openssl-devel は apr-util-1.5.1-1.x86_64 に必要とされています
        nss-devel は apr-util-1.5.1-1.x86_64 に必要とされています
```

mysql-devel のエラーが出続けるのはそういう仕様？MySQL-develは認識してくれないようだ。

```bash
$ sudo yum install expat-devel libuuid-devel db4-devel postgresql-devel sqlite-devel freetds-devel unixODBC-devel openldap-devel openssl-devel nss-devel
```

PostgreSQLも8.4と古いのが気になるが使わないので気にしないことに。
mysql-devel はspecファイルを書き換えてみる

```bash
$ tar xjvf apr-util-1.5.1.tar.bz2
$ vi apr-util-1.5.1/apr-util.spec
  BuildRequires: mysql-devel → BuildRequires: MySQL-devel に変更
$ tar cjvf apr-util-1.5.1.new.tar.bz2 apr-util-1.5.1
$ rpmbuild -tb apr-util-1.5.1.new.tar.bz2
...(略)
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-devel-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-dbm-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-pgsql-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-mysql-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-sqlite-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-freetds-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-odbc-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-ldap-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-openssl-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-nss-1.5.1-1.x86_64.rpm
書き込み完了: /home/masashi/rpmbuild/RPMS/x86_64/apr-util-debuginfo-1.5.1-1.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.FKeh6M
+ umask 022
+ cd /home/masashi/rpmbuild/BUILD
+ cd apr-util-1.5.1
+ rm -rf /home/masashi/rpmbuild/BUILDROOT/apr-util-1.5.1-1.x86_64
+ exit 0
```

うまくいったみたいだ。

```bash
$ cd /home/masashi/rpmbuild/RPMS/x86_64/
$ sudo yum localinstall apr-util*
```