通過(guò)fpm將源碼打包成rpm

【fpm】--需要ruby 1.8.7版本以上,這個(gè)是當(dāng)一個(gè)軟件通過(guò)源碼形式安裝好了之后在用fpm進(jìn)行封裝成rpm的

創(chuàng)新互聯(lián)建站是一家專(zhuān)注于網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計(jì),嵐山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:嵐山等地區(qū)。嵐山做網(wǎng)站價(jià)格咨詢(xún):13518219792

直接去官網(wǎng)下載1.8.7版本以上的ruby源碼包,然后安裝

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.bz2

tar -xf ruby-1.8.7.tar.bz2

./configure && make && make install

ruby -v,看看版本信息對(duì)不對(duì)

#make的時(shí)候會(huì)出錯(cuò):

make: *** [math.o] Error 1

修改math.c,把37行的define改成defined就行了,然后繼續(xù)Make

【gem】--接下來(lái)安裝gem

wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz

解壓后,進(jìn)入目錄,執(zhí)行 ruby setup.rb 進(jìn)行安裝

gem update --system

# 添加淘寶的Ruby倉(cāng)庫(kù)

gem sources -a http://ruby.taobao.org/

# 移除原生的Ruby倉(cāng)庫(kù)

gem sources --remove http://rubygems.org/

# 安裝fpm

gem install fpm

# gem sources -l

*** CURRENT SOURCES ***

http://ruby.taobao.org # 請(qǐng)確保只有 ruby.taobao.org

如果有其他url的話,則用remove把它移除

先說(shuō)明一下,F(xiàn)PM打包路徑是相對(duì)路徑,這個(gè)我搗鼓半天才弄明白,比如,我打包這臺(tái)機(jī)器編譯好的MySQL目錄是在/usr/local/mysql下,如果你想讓打出來(lái)的rpm包在其他機(jī)器上安裝路徑是/usr/local/mysql,那么你就:

2.fpm的常用命令格式

$ fpm -s -t [options]

source type:dir,rpm,gem,python

target type:rpm,deb,solaris,puppet

常用的options:

-n 生成的package名字

-p 生成的package文件輸出位置

-v 生成的package版本

-d 生成的package依賴(lài)于什么軟件,通常為-d 'name' 或這 -d 'name > version'

-a 系統(tǒng)架構(gòu)名稱(chēng),如果是noarch則為'-a all' 或者 '-a native'

--description 軟件包描述

--conflicts 與其他什么軟件沖突

fpm -f -s dir -t rpm --epoch 5 --iteration 1.el6 -v 5.3.16 -n php_5.3 -C / -p /root --verbose --category 'Development/Languages' --description 'php-5.3' --url 'php.net' --license 'BSD' -m 'inbank' usr/local/php/

Setting from flags: category=Development/Languages {:level=>:info}

Setting from flags: description=navy mysql {:level=>:info}

Setting from flags: epoch=5 {:level=>:info}

Setting from flags: iteration=1.el6 {:level=>:info}

Setting from flags: license=BSD {:level=>:info}

Setting from flags: maintainer=navy {:level=>:info}

Setting from flags: name=php_5.3 {:level=>:info}

Setting from flags: url=kingsoft.com {:level=>:info}

Setting from flags: version=5.5.16 {:level=>:info}

Converting dir to rpm {:level=>:info}

Reading template {:level=>:info, :path=>"/usr/local/lib/ruby/gems/1.8/gems/fpm-0.4.39/templates/rpm.erb"}

Running rpmbuild {:level=>:info, :args=>["rpmbuild", "-bb", "--define", "buildroot /tmp/package-rpm-build20130712-23168-1i209n6/BUILD", "--define", "_topdir /tmp/package-rpm-build20130712-23168-1i209n6", "--define", "_sourcedir /tmp/package-rpm-build20130712-23168-1i209n6", "--define", "_rpmdir /tmp/package-rpm-build20130712-23168-1i209n6/RPMS", "/tmp/package-rpm-build20130712-23168-1i209n6/SPECS/php_5.3.spec"]}

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.74227 {:level=>:info}

Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.74227 {:level=>:info}

Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.74227 {:level=>:info}

Processing files: php_5.3-5.5.16-1.el6 {:level=>:info}

Wrote: /tmp/package-rpm-build20130712-23168-1i209n6/RPMS/x86_64/php_5.3-5.5.16-1.el6.x86_64.rpm {:level=>:info}

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.55341 {:level=>:info}

Created rpm {:path=>"/root"}

[root@client /]# ll /root/

[root@client /]# ll /root/ |grep php

-rw-r--r-- 1 root root 13512860 Jul 12 17:06 php_5.3-5.5.16-1.el6.x86_64.rpm

[root@client ~]# rpm -qpi php_5.3-5.3.36-1.el6.x86_64.rpm

Name : php_5.3 Relocations: /

Version : 5.3.36 Vendor: root@client

Release : 1.el6 Build Date: Fri 12 Jul 2013 06:16:48 PM CST

Install Date: (not installed) Build Host: client

Group : Development/Languages Source RPM: php_5.3-5.3.36-1.el6.src.rpm

Size : 46383231 License: BSD

Signature : (none)

Packager : inbank

URL : pp

Summary : php-5.3

Description :

php-5.3

【錯(cuò)誤】

Need executable 'rpmbuild' to convert dir to rpm {:level=>:error}

--出現(xiàn)這種情況就是需要安裝rpm-build

當(dāng)前題目:通過(guò)fpm將源碼打包成rpm
文章位置:http://muchs.cn/article38/ghegpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站制作、響應(yīng)式網(wǎng)站品牌網(wǎng)站建設(shè)、用戶(hù)體驗(yàn)微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名