SENNA含みパッケージを導入するのが異常に面倒になってきたのでパッケージを作ること
を決意しました。
rpm -ivh MySQL-community-5.0.45-0.rhel4.src.rpm
展開を確認
ls -la /usr/src/redhat/SPECS
いるいる
-rw-r--r-- 1 root root 43858 7月 5 07:16 mysql-5.0.45.rhel4.spec
cd /usr/src/redhat/SOURCES
で 展開ファイルをbackに葬ります。
mv ./mysql-5.0.45.tar.gz ./mysql-5.0.45.tar.gz.back
cp ~/mysql-5.0.45-tritonn-1.0.6.tar.gz ./mysql-5.0.45.tar.gz
持ってくる。
そのまま使ってしまおう
cd ../SPECS/
こんな感じで編集
diff mysql-5.0.45.rhel4.spec mysql-5.0.45.rhel4.spec.back
103c103
< Summary: MySQL: a very fast and reliable SQL database server with tritonn
---
> Summary: MySQL: a very fast and reliable SQL database server
308,309d307
< --with-mecab=/usr \
< --with-senna=/usr \
418c416
< #make test-bt-debug
---
> make test-bt-debug
438c436
< #make test-bt
---
> make test-bt
gtkの描画モジュールが足りないらしい、、、なんで?
yum install gperf
Repository update is listed more than once in the configuration
Repository base is listed more than once in the configuration
Repository addons is listed more than once in the configuration
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Excluding Packages in global exclude list
Finished
Excluding Packages from Dag RPM Repository for Redhat EL4
Finished
Excluding Packages from CentOS-4 - Updates
Finished
Excluding Packages from CentOS-4 - Base
Finished
Excluding Packages from CentOS-4 - Addons
Finished
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for gperf to pack into transaction set.
gperf-3.0.1-4.x86_64.rpm 100% |=========================| 4.6 kB 00:00
---> Package gperf.x86_64 0:3.0.1-4 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
gperf x86_64 3.0.1-4 base 92 k
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 92 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): gperf-3.0.1-4.x86_ 100% |=========================| 92 kB 00:01
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
rpmbuild -ba mysql.5.0.45-rhel4.spec
さすがに長いです。コンパイル時間が、、、いろいろやってみたのですがRHEL4の謹製
パッケージではうまく埒があきません。っていうかだんだん疲れてきたので
グーグルに聞いたところ人気のFC7からすることにしました。でも利用するのはSPECファイル
だけです。
wget http://www.gtlib.gatech.edu/pub/blag/70000/en/os/i386/SRPMS.TESTING/mysql-5.0.45-1.fc7.src.rpm
これを展開してSPECファイルを作成した。
diff ./mysql.spec mysql.toritonn.spec
12c12,13
< Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz
---
> #Source0: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-%{version}.tar.gz
> Source0: mysql-%{version}.tar.gz
165a167,168
> --with-mecab \
> --with-senna \
192c195
< make test
---
> # make test
コンパイルが続いたらやっと完成しました。
書き込み中: /usr/src/redhat/SRPMS/mysql-5.0.45-1.src.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-libs-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-server-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-devel-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-bench-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-test-5.0.45-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mysql-debuginfo-5.0.45-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.95661
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd mysql-5.0.45
+ rm -rf /var/tmp/mysql-5.0.45-1-root
+ exit 0
この方法では作成できるけどインストールはできなかった。作り直しだ。ともかくperl-DBD-MySQL
でこける。これの依存関係がひっかっかるようなのでこのsrc.rpmからする必要があるらしい。
続きはWEBで!
その続き
パッケージ化をすべてする必要がある。なぜならフライブラリとかを認識してくれない。たぶん
SPECファイルをきちんと書けばいいのだろうけど、、、(requierのセクションでいろいろ要求か。)
wget http://fr.rpmfind.net/linux/fedora/core/development/source/SRPMS/mecab-0.95-2.fc7.src.rpm
rpm -ivh mecab-0.95-2.fc7.src.rpm
rpmbuild -ba ./mecab.spec
書き換え
バージョンを変更して、UTF-8を有効に。
%define mainver 0.96
%configure \
--with-charset=utf8
----
書き込み中: /usr/src/redhat/SRPMS/mecab-0.96-2.2.src.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mecab-0.96-2.2.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mecab-devel-0.96-2.2.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mecab-debuginfo-0.96-2.2.x86_64.rpm
----
完成!
wget http://fr.rpmfind.net/linux/fedora/core/development/source/SRPMS/mecab-ipadic-2.7.0.20060707-2.fc7.1.src.rpm
wget http://fr.rpmfind.net/linux/fedora/core/development/source/SRPMS/mecab-ipadic-2.7.0.20060707-2.fc7.src.rpm
を書き換え。(diffとってない、、、)
rpm -ivh mecab-0.96-2.2.src.rpm
rpm -ivh mecab-0.96-2.2.x86_64.rpm
rpm -ivh mecab-devel-0.96-2.2.x86_64.rpm
rpm -ivh mecab-debuginfo-0.96-2.2.x86_64.rpm
これがないとビルドに失敗するので。
rpm -ivh ./mecab-ipadic-2.7.0.20060707-2.fc7.1.src.rpm
ここと
%define date 20070801
Source0: %{name}-%{majorver}-%{date}.tar.gz
Source1: mecab-ipadic.copyright
----
書き込み中: /usr/src/redhat/SRPMS/mecab-ipadic-2.7.0.20070801-2.1.src.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mecab-ipadic-2.7.0.20070801-2.1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/mecab-ipadic-EUCJP-2.7.0.20070801-2.1.x86_64.rpm
----
これだけ入れればいい
rpm -ivh mecab-ipadic-2.7.0.20070801-2.1.x86_64.rpm
最後にSENNAを導入。
~/senna.1.0.9.tar.gz /usr/src/redhat/SOURCE/libsenna-1.0.9.tar.gz
tar -zxvf libsenna-1.0.9.tar.gz
mv ./senna-1.0.9 ./libsenna-1.0.9
tar -zcvf ./libsenna-1.0.9.tar.gz ./libsenna-1.0.9
SPECファイルをコピーします。
cp ./libsenna-1.0.9/senna.spec.in ../SPEC/senna.spec
rm -rf ./libsenna-1.0.9
cd ../SPEC
diff ./senna.spec ./senna.spec.in
1c1
< %define version 1.0.9
---
> %define version @VERSION@
rpmbuild -ba senna.spec
----
書き込み中: /usr/src/redhat/SRPMS/libsenna-1.0.9-1.src.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/libsenna-1.0.9-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/libsenna-devel-1.0.9-1.x86_64.rpm
書き込み中: /usr/src/redhat/RPMS/x86_64/libsenna-debuginfo-1.0.9-1.x86_64.rpm
----
完成!
導入
rpm -ivh libsenna-1.0.9-1.x86_64.rpm
rpm -ivh libsenna-devel-1.0.9-1.x86_64.rpm
rpm -ivh libsenna-debuginfo-1.0.9-1.x86_64.rpm
再導入
rpm -ivh perl-DBD-MySQL-4.005-1.rf.x86_64.rpm
最後に締め
rpm -ivh mysql-server-5.0.45-1.x86_64.rpm
入りました!コンパイル時間が長い、、、ともかく導入完了です。
mysqlを起動後に接続確認を行います。
SHOW SENNA STATUS でSENNA自身が稼動しているかどうか確認します。
辞書の追加方法
http://mecab.sourceforge.net/dic.html