標籤:
本文解決了原始碼安裝都需要先檢查系統上是否安裝了應用程式所依賴的軟體包的煩惱,對原始碼開發人員也有一定的協助。可以在該基礎上進行適當的修改,以滿足自己的要求。
RedHat5 or CentOS5已經提供了製作RPM包的目錄,可以直接把需要製作的RPM包的應用程式的原始碼包放系統指定的目錄,而不需要像在RedHat6(7)or CentOS6(7)上自己建立製作RPM包的目錄。
1 添加普通使用者
useradd redhat
passwd redhat
redhat
redhat
2 切換到普通使用者redhat
su – redhat
3 在redhat的home目錄下建立rpmbuild目錄
mkdir –pv rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
4 把pgrpms項目(http://git.postgresql.org/gitweb/?p=pgrpms.git)複製到本地
cd /opt
mkdir pgrpm
git clone git://git.postgresql.org/git/pgrpms.git
/opt/pgrpm/pgrpms
5 把pgrpms項目中與本地系統版本相對應目錄中的檔案複製到建立的SOURCE目錄下
cp /opt/pgrpm/pgrpms/rpm/redhat/9.4/postgresql/EL-6/* /home/redhat/rpmbuild/SOURCE
cd /home/redhat/rpmbuild/SOURCE
cp postgresql-9.4.spec ../SPEC
6 下載PG9.4.5源碼包與PG9.4.5的官方文檔到/opt/soft_bak
postgresql-9.4.5.tar.bz2 postgresql-9.4-A4.pdf
7 把PG9.4.5源碼包以及PG9.4.5的文檔複製到/home/redhat/rpmbuild/SOURCE
目錄下
8 安裝PostgreSQL的依賴包
glibc-devel bison flex perl-ExtUtils-Embed per(ExtUtils::MakeMaker) python-devel tcl-devel readline-devel openssl-devel krb5-devel e2fsprogs-devel libxml2-devel libxslt-devel pam-devel libuuid-devel openldap-devel openjade opensp docbook-dtds
docbook-style-dsssl
9 開始打PG9.4.5二進位RPM包
(yum install –y rpm-build)
cd /home/redhat/rpmbuild/SPEC
rpmbuild –bb postgresql-9.4.spec
10 查看打好的RPM包
打好的RPM包儲存在RPMS目錄下
如何在RedHat6(7) or CentOS6(7)上製作無依賴的PostgreSQL資料庫的RPM包