MySQL-python-1.2.2のRPMファイルを作ってみた。
CentOS 5.3でDjangoをインストールしてDBにMySQLを使おうとすると
MySQL-pythonのバージョンが低いのでエラーがでます。
django.core.exceptions.ImproperlyConfigured: MySQLdb-1.2.1p2 or newer is required; you have 1.2.1
MySQL-python-1.2.2のRPMファイルを作ったのでその手順をメモ。
参考にしたのは次のサイト。
pastebin – Stuff – ポスト番号 908327
#####事前準備
次のパッケージをインストール、アップデートしておく
# yum -y install mysql
# yum -y install mysql-devel
# yum -y install mysql-server
# yum -y install python
# yum -y install python-devel
# yum -y install rpm-build
# yum -y install rpm-devel
各パッケージのバージョンは以下のとおりだった。
* mysql-5.0.45-7.el5.i386
* mysql-devel.i386 0:5.0.45-7.el5
* python-2.4.3-24.el5.i386
* python-devel-2.4.3-24.el5.i386
* rpm-devel-4.4.2.3-9.el5.i386
* rpm-build-4.4.2.3-9.el5.i386
#####SRPMの取得
MySQL-pythonのSRPMを取得する
#cd /tmp
#wget http://mirror.centos.org/centos/5.3/os/SRPMS/MySQL-python-1.2.1-1.src.rpm
次のコマンドでSRPMを展開します。
# rpm -Uvh MySQL-python-1.2.1-1.src.rpm
1:MySQL-python 警告: ユーザ mockbuild は存在しません – root を使用します
警告: グループ mockbuild は存在しません – root を使用します
警告: ユーザ mockbuild は存在しません – root を使用します
警告: グループ mockbuild は存在しません – root を使用します
########################################### [100%]
展開したディレクトリに移動します。
# cd /usr/src/redhat
# ls
BUILD RPMS SOURCES SPECS SRPMS<
tar.gzファイルはSOURCESディレクトリにあります。
# ls SOURCES
MySQL-python-1.2.1.tar.gz
最新バージョンのMySQL-python-1.2.2.tar.gzと置き換えます。firefoxなどのブラウザで
the project's SourceForge home
# rm SOURCES/MySQL-python-1.2.1.tar.gz
# cp /tmp/MySQL-python-1.2.2.tar.gz SOURCES/
#####specファイルを編集します
specファイルをエディターで開いてVersionを変更
#vi SPECS/MySQL-python.spec
# Python major version.
%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])’)}
Summary: An interface to MySQL
Name: MySQL-python
Version: 1.2.2 <--- 変更
Release: 1
License: GPL
Group: Development/Libraries
#####RPMをビルドする
下記のコマンドでビルドします。途中でsetuptoolsが起動するので、インターネットに接続しておく
# rpmbuild -ba -v SPECS/MySQL-python.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.96385
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
... 続く...
警告が4回ありますが処理は続く
...続く...
書き込み完了: /usr/src/redhat/SRPMS/MySQL-python-1.2.2-1.src.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/MySQL-python-1.2.2-1.i386.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/MySQL-python-debuginfo-1.2.2-1.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.6229
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd MySQL-python-1.2.2
+ rm -rf /var/tmp/MySQL-python-buildroot
+ exit 0
#
#####MySQL-python-1.2.2-1をインストール
下記rpmファイルを使ってrpmでインストールします
/usr/src/redhat/RPMS/i386/MySQL-python-1.2.2-1.i386.rpm