发布于 2016-01-01 21:47:57 | 167 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的精品教程,程序狗速度看过来!

fpm 软件包管理器

fpm 是一个该死的软件包管理器,极大的缓解了多个平台构建软件包(deb,rpm,等)的痛苦。


环境:Fedora 20  X86_64

一 fpm工具安装

#yum install ruby-devel

# gem install fpm

二 编译打包

安装libav

1. 先安装libav的依赖库

yasm-1.2.0-5.fc20.x86_64

yasm-devel-1.2.0-5.fc20.x86_64

libvpx-devel-1.3.0-4.fc20.x86_64

lame-devel-3.99.5-2.fc19.x86_64

glib2-devel-2.38.2-2.fc20.x86_64

pulseaudio-libs-devel-4.0-13.gitf81e3.fc20.x86_64

x264-devel-0.138-2.20131030gitc628e3b.fc20.x86_64

xvidcore-devel-1.3.2-5.fc20.x86_64

xorg-x11-proto-devel-7.7-9.fc20.noarch

libXau-devel-1.0.8-2.fc20.x86_64

libxcb-devel-1.9.1-3.fc20.x86_64

libX11-devel-1.6.1-1.fc20.x86_64

libXext-devel-1.3.2-2.fc20.x86_64

libXfixes-devel-5.0.1-2.fc20.x86_64

alsa-lib-devel-1.0.27.2-2.fc20.x86_64

2 通过编译安装到 /opt/libav

$ ./configure  --prefix=/usr --enable-libxvid --enable-libx264 --enable-libvpx --enable-x11grab --enable-nonfree --enable-gpl --enable-version3 --enable-libpulse  --enable-libmp3lame --enable-shared --arch=x86_64

# make

#make DESTDIR= /opt/libav install

3 通过fpm打包

#fpm -t rpm -s dir --prefix=/ -C /opt/libav -n libav -v 10.1 --iteration 1 --after-install  postinstall -d yasm -d libvpx -d 'lame-libs >= 3.98.3' -d pulseaudio-libs -d 'x264-libs >= 0.118' -d xvidcore -d libXfixes -d libXext -d alsa-lib $(ls /opt/libav) 

参数解说

-t target 包格式

-s 源格式

--prefix 安装根目录

-C chroot的目录

-n 软件包的名字

-v 软件包版本

--iteration 第几次release

-d 依赖

--after-install  Files :安装后的操作 (我这里主要时重新生成lib库缓存,文件包含命令ldconfig,文件可执行)

--after-install  File :安装后的操作脚本 (我这里主要时重新生成lib库缓存,文件包含命令ldconfig,文件可执行)

--after-remove   File :删除后的操作脚本

--before-install File :安装前的操作脚本

$(): 要打包的文件列表;也可以在此列出要打包的文件或目录路径,空格分开,路径时相对与-C 路径的相对路径

# 关于info文件处理

postinstall scriptlet (using /bin/sh):

/sbin/install-info //usr/share/info/cvs.info.gz //usr/share/info/dir &> /dev/null
/sbin/install-info //usr/share/info/cvsclient.info.gz //usr/share/info/dir &> /dev/null
:
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
    /sbin/install-info --delete //usr/share/info/cvs.info.gz //usr/share/info/dir &> /dev/null
    /sbin/install-info --delete //usr/share/info/cvsclient.info.gz //usr/share/info/dir &> /dev/null
fi
 

参考 

https://github.com/jordansissel/fpm

http://www.puppetfans.com/thread-629-1-1.html



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务