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

CentOS

Posted by skw