星期四, 6月 16, 2011

distutils bdist_rpm

CentOS 5.6 裡的MySQL-python是1.2.1,在用django的時候,它給我吐出需要MySQL-python-1.2.1p2 以後的版本才行。

囧掉,這樣不就要抓MySQL-python新版來包,好像會很麻煩說。上MySQL-python官網去看,發現維護者很有意思,他在Amazon上的wish list裡都是大力水手的DVD,如果要贊助他的話,不妨幫他買DVD,Amazon會送到他家裡去。離題了,網站上最新的版本是1.2.3,就先抓下來吧。

python的moodule照慣例都有 setup.py,就想說打 python setup.py --help-commands 來看看,結果喜出望外,裏面有 bdist_rpm 的指令,這表示我可以直接打 python setup.py bdist_rpm 就可以建出 rpm 了。

於是馬上就來 build,首先裝上 mysql-devel,然後執行 python setup.py bdist_rpm,看起來很順利,但最後卻發現沒有 MANIFEST 檔案,而導致失敗。看了一下檔案,發現有 MANIFEST.in,再看一下裏面,沒有什麼要替換的字串 (一般來說,副檔名是 .in 的,都會需要用 sed 來替換一些字串),就直接 cp MANIFEST.in MANIFEST 補上,再重新執行 python setup.py bdist_rpm 就大功告成了。rpm 會放在 dist 目錄下,收工。

沒有留言: